Commit | Line | Data |
---|---|---|
3168554e JH |
1 | #!./perl |
2 | ||
3 | BEGIN { | |
4 | chdir 't' if -d 't'; | |
5 | @INC = '../lib'; | |
a8136c1e | 6 | require './test.pl'; |
3168554e JH |
7 | } |
8 | ||
484c818f | 9 | plan tests => 21; |
3168554e | 10 | |
a8136c1e | 11 | is(reverse("abc"), "cba"); |
3168554e JH |
12 | |
13 | $_ = "foobar"; | |
a8136c1e | 14 | is(reverse(), "raboof"); |
3168554e JH |
15 | |
16 | { | |
17 | my @a = ("foo", "bar"); | |
18 | my @b = reverse @a; | |
19 | ||
a8136c1e VP |
20 | is($b[0], $a[1]); |
21 | is($b[1], $a[0]); | |
3168554e JH |
22 | } |
23 | ||
24 | { | |
484c818f VP |
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 JH |
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 | } |