X-Git-Url: http://git.vpit.fr/?p=perl%2Fmodules%2FScalar-Vec-Util.git;a=blobdiff_plain;f=t%2F50-vrot.t;h=6ce0c410000457eaacb895bfa7c6e7e5bfe815cd;hp=9222ae3b6785c63eefa4f7144f410ac8d87850fa;hb=607607c4f5ec537ba56acb4edc424bc71900517a;hpb=dec1755eec42f54c4d57813ed03393c0f765a699 diff --git a/t/50-vrot.t b/t/50-vrot.t index 9222ae3..6ce0c41 100644 --- a/t/50-vrot.t +++ b/t/50-vrot.t @@ -7,6 +7,13 @@ use Test::More 'no_plan'; use Scalar::Vec::Util qw/vrot vcopy SVU_SIZE/; +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; my $n = 3 * $p; @@ -28,6 +35,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 +83,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;