Commit | Line | Data |
3168554e |
1 | #!./perl |
2 | |
3 | BEGIN { |
4 | chdir 't' if -d 't'; |
5 | @INC = '../lib'; |
a8136c1e |
6 | require './test.pl'; |
3168554e |
7 | } |
8 | |
484c818f |
9 | plan tests => 21; |
3168554e |
10 | |
a8136c1e |
11 | is(reverse("abc"), "cba"); |
3168554e |
12 | |
13 | $_ = "foobar"; |
a8136c1e |
14 | is(reverse(), "raboof"); |
3168554e |
15 | |
16 | { |
17 | my @a = ("foo", "bar"); |
18 | my @b = reverse @a; |
19 | |
a8136c1e |
20 | is($b[0], $a[1]); |
21 | is($b[1], $a[0]); |
3168554e |
22 | } |
23 | |
24 | { |
484c818f |
25 | my @a = (1, 2, 3, 4); |
26 | @a = reverse @a; |
27 | is("@a", "4 3 2 1"); |
28 | |
29 | delete $a[1]; |
30 | @a = reverse @a; |
31 | ok(!exists $a[2]); |
32 | is($a[0] . $a[1] . $a[3], '124'); |
33 | |
34 | @a = (5, 6, 7, 8, 9); |
35 | @a = reverse @a; |
36 | is("@a", "9 8 7 6 5"); |
37 | |
38 | delete $a[3]; |
39 | @a = reverse @a; |
40 | ok(!exists $a[1]); |
41 | is($a[0] . $a[2] . $a[3] . $a[4], '5789'); |
42 | |
43 | delete $a[2]; |
44 | @a = reverse @a; |
45 | ok(!exists $a[2] && !exists $a[3]); |
46 | is($a[0] . $a[1] . $a[4], '985'); |
47 | } |
48 | |
49 | use Tie::Array; |
50 | |
51 | { |
52 | tie my @a, 'Tie::StdArray'; |
53 | |
54 | @a = (1, 2, 3, 4); |
55 | @a = reverse @a; |
56 | is("@a", "4 3 2 1"); |
57 | |
58 | delete $a[1]; |
59 | @a = reverse @a; |
60 | ok(!exists $a[2]); |
61 | is($a[0] . $a[1] . $a[3], '124'); |
62 | |
63 | @a = (5, 6, 7, 8, 9); |
64 | @a = reverse @a; |
65 | is("@a", "9 8 7 6 5"); |
66 | |
67 | delete $a[3]; |
68 | @a = reverse @a; |
69 | ok(!exists $a[1]); |
70 | is($a[0] . $a[2] . $a[3] . $a[4], '5789'); |
71 | |
72 | delete $a[2]; |
73 | @a = reverse @a; |
74 | ok(!exists $a[2] && !exists $a[3]); |
75 | is($a[0] . $a[1] . $a[4], '985'); |
76 | } |
77 | |
78 | { |
3168554e |
79 | # Unicode. |
80 | |
81 | my $a = "\x{263A}\x{263A}x\x{263A}y\x{263A}"; |
82 | my $b = scalar reverse($a); |
83 | my $c = scalar reverse($b); |
a8136c1e |
84 | is($a, $c); |
3168554e |
85 | } |