diff options
author | Nicholas Clark <nick@ccl4.org> | 2006-04-12 22:49:58 +0000 |
---|---|---|
committer | Nicholas Clark <nick@ccl4.org> | 2006-04-12 22:49:58 +0000 |
commit | 968f0fcb6eaf743ef3c5200ddfe6f64fde094d47 (patch) | |
tree | b7c293c2d279f7b75ca7759405eecfbc581b13a5 /t | |
parent | 72dc9ed5af65c946f73050becea29207a1af86c1 (diff) | |
download | perl-968f0fcb6eaf743ef3c5200ddfe6f64fde094d47.tar.gz |
Add tests for all the other types that %^H serialisation is supposed
to support. In the process, found and corrected a bug.
Tests are good, m'kay.
p4raw-id: //depot/perl@27780
Diffstat (limited to 't')
-rw-r--r-- | t/op/caller.t | 37 |
1 files changed, 36 insertions, 1 deletions
diff --git a/t/op/caller.t b/t/op/caller.t index c32b044507..d0716be4a7 100644 --- a/t/op/caller.t +++ b/t/op/caller.t @@ -5,7 +5,7 @@ BEGIN { chdir 't' if -d 't'; @INC = '../lib'; require './test.pl'; - plan( tests => 65 ); + plan( tests => 71 ); } my @c; @@ -231,4 +231,39 @@ EOE $^H{dooot} = "FIP\0FOP\0FIDDIT\0FAP"; } is(get_dooot(), "FIP\0FOP\0FIDDIT\0FAP", "Can do embedded 0 bytes"); + + BEGIN { + $^H{dooot} = chr 256; + } + is(get_dooot(), chr 256, "Can do Unicode"); + + BEGIN { + $^H{dooot} = -42; + } + is(get_dooot(), -42, "Can do IVs"); + + BEGIN { + $^H{dooot} = ~0; + } + cmp_ok(get_dooot(), '>', 42, "Can do UVs"); +} + +{ + my ($k1, $k2, $k3); + BEGIN { + $k1 = chr 163; + $k2 = $k1; + $k3 = $k1; + utf8::upgrade $k2; + utf8::encode $k3; + + $^H{$k1} = 1; + $^H{$k2} = 2; + $^H{$k3} = 3; + } + + + is(get_hash()->{$k1}, 2, "UTF-8 or not, it's the same"); + is(get_hash()->{$k2}, 2, "UTF-8 or not, it's the same"); + is(get_hash()->{$k3}, 3, "Octect sequences and UTF-8 are distinct"); } |