@INC = '../lib';
require './test.pl';
- plan(tests => 91);
+ plan(tests => 97);
}
use strict;
is($hashu{"\x7f"},0x7F);
# Now try same thing with variables forced into various forms.
-foreach my $a ("\x7f","\xff")
+foreach ("\x7f","\xff")
{
+ my $a = $_; # Force a copy
utf8::upgrade($a);
is($hash8{$a},ord($a));
is($hashu{$a},ord($a));
# Check we have not got an spurious extra keys
is(join('',sort { ord $a <=> ord $b } keys %hash8),"\x7f\xff\x{1ff}");
-foreach my $a ("\x7f","\xff","\x{1ff}")
+foreach ("\x7f","\xff","\x{1ff}")
{
+ my $a = $_;
utf8::upgrade($a);
is($hash8{$a},ord($a));
my $b = $a.chr(100);
is(delete $hashu{chr(0x1ff)},0x1ff);
is(join('',sort keys %hashu),"\x7f\xff");
-foreach my $a ("\x7f","\xff")
+foreach ("\x7f","\xff")
{
+ my $a = $_;
utf8::upgrade($a);
is($hashu{$a},ord($a));
utf8::downgrade($a);
}
}
+
+{
+ local $/; # Slurp.
+ my $utf8 = <DATA>;
+ my $utfebcdic = <DATA>;
+ if (ord('A') == 65) {
+ eval $utf8;
+ } elsif (ord('A') == 193) {
+ eval $utfebcdic;
+ }
+}
+__END__
+{
+ # See if utf8 barewords work [perl #22969]
+ use utf8;
+ my %hash = (тест => 123);
+ is($hash{тест}, $hash{'тест'});
+ is($hash{тест}, 123);
+ is($hash{'тест'}, 123);
+ %hash = (тест => 123);
+ is($hash{тест}, $hash{'тест'});
+ is($hash{тест}, 123);
+ is($hash{'тест'}, 123);
+}
+__END__
+{
+ # See if utf8 barewords work [perl #22969]
+ use utf8; # UTF-EBCDIC, really.
+ my %hash = (½ää½âÀ½äâ½ää => 123);
+ is($hash{½ää½âÀ½äâ½ää}, $hash{'½ää½âÀ½äâ½ää'});
+ is($hash{½ää½âÀ½äâ½ää}, 123);
+ is($hash{'½ää½âÀ½äâ½ää'}, 123);
+ %hash = (½ää½âÀ½äâ½ää => 123);
+ is($hash{½ää½âÀ½äâ½ää}, $hash{'½ää½âÀ½äâ½ää'});
+ is($hash{½ää½âÀ½äâ½ää}, 123);
+ is($hash{'½ää½âÀ½äâ½ää'}, 123);
+}