X-Git-Url: http://git.vpit.fr/?a=blobdiff_plain;f=t%2F50-vrot.t;h=227ca5264e2c6024f774cd0d34e58cd20d1d5dc1;hb=0f9ca88734df707e9f1d70a8067e6502b96820a9;hp=9222ae3b6785c63eefa4f7144f410ac8d87850fa;hpb=856caa5792565f48b11a5dc86856519b649eaffb;p=perl%2Fmodules%2FScalar-Vec-Util.git diff --git a/t/50-vrot.t b/t/50-vrot.t index 9222ae3..227ca52 100644 --- a/t/50-vrot.t +++ b/t/50-vrot.t @@ -3,9 +3,17 @@ use strict; use warnings; -use Test::More 'no_plan'; +use lib 't/lib'; +use Test::Leaner 'no_plan'; -use Scalar::Vec::Util qw/vrot vcopy SVU_SIZE/; +use Scalar::Vec::Util qw; + +for ([ 1, 'offset', -1 ], [ 2, 'length', '-1' ]) { + my @args = ('1') x 4; + $args[$_->[0]] = $_->[2]; + eval { &vrot(@args) }; my $line = __LINE__; + like $@, qr/^Invalid\s+negative\s+$_->[1]\s+at\s+\Q$0\E\s+line\s+$line/; +} my $p = SVU_SIZE; $p = 8 if $p < 8; @@ -28,6 +36,11 @@ sub pat { sub expected { (undef, my $s, my $l, my $b, my $left) = @_; + unless ($l) { + myfill($_[0], 0, $s, 0); + myfill($_[0], $s, $n - $s, 1); + return; + } my $lx = int($l / 2); my $ly = $l - $lx; $b %= $l; @@ -71,7 +84,7 @@ sub try { my ($left) = @_; my @s = ($p - $q) .. ($p + $q); for my $s (@s) { - for my $l (1 .. $n - 1) { + for my $l (0 .. $n - 1) { last if $s + $l > $n; my $l2 = int($l/2); rst $v0;