diff options
Diffstat (limited to 'ext/arybase/t/aelem.t')
-rw-r--r-- | ext/arybase/t/aelem.t | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/ext/arybase/t/aelem.t b/ext/arybase/t/aelem.t new file mode 100644 index 0000000000..d6b8c38149 --- /dev/null +++ b/ext/arybase/t/aelem.t @@ -0,0 +1,56 @@ +use warnings; +use strict; + +use Test::More tests => 33; + +our @t = qw(a b c d e f); +our $r = \@t; +our($i3, $i4, $i8, $i9) = (3, 4, 8, 9); +our @i4 = (3, 3, 3, 3); + +$[ = 3; + +is $t[3], "a"; +is $t[4], "b"; +is $t[8], "f"; +is $t[9], undef; +is_deeply [ scalar $t[4] ], [ "b" ]; +is_deeply [ $t[4] ], [ "b" ]; + +is $t[2], 'f'; +is $t[-1], 'f'; +is $t[1], 'e'; +is $t[-2], 'e'; + +{ + $[ = -3; + is $t[-3], 'a'; +} + +is $r->[3], "a"; +is $r->[4], "b"; +is $r->[8], "f"; +is $r->[9], undef; +is_deeply [ scalar $r->[4] ], [ "b" ]; +is_deeply [ $r->[4] ], [ "b" ]; + +is $t[$i3], "a"; +is $t[$i4], "b"; +is $t[$i8], "f"; +is $t[$i9], undef; +is_deeply [ scalar $t[$i4] ], [ "b" ]; +is_deeply [ $t[$i4] ], [ "b" ]; +is_deeply [ scalar $t[@i4] ], [ "b" ]; +is_deeply [ $t[@i4] ], [ "b" ]; + +is $r->[$i3], "a"; +is $r->[$i4], "b"; +is $r->[$i8], "f"; +is $r->[$i9], undef; +is_deeply [ scalar $r->[$i4] ], [ "b" ]; +is_deeply [ $r->[$i4] ], [ "b" ]; +is_deeply [ scalar $r->[@i4] ], [ "b" ]; +is_deeply [ $r->[@i4] ], [ "b" ]; + + +1; |