This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Fix test that fails with new warny File::Path
[perl5.git] / t / uni / tr_sjis.t
CommitLineData
e4206093 1#!perl -w
0d55c8f7 2#
b536bf57 3# This script is written intentionally in Shift JIS
0d55c8f7
DK
4# -- dankogai
5
6BEGIN {
b5efbd1f 7 chdir 't' if -d 't';
e4206093 8 require './test.pl';
273be65c 9 skip_all_without_dynamic_extension('Encode');
1b413590 10 skip_all("no encoding pragma in EBCDIC") if $::IS_EBCDIC;
b5b7b9ad 11 skip_all_without_perlio();
0d55c8f7
DK
12}
13
14use strict;
e4206093 15plan(tests => 6);
55673181 16no warnings 'deprecated';
0d55c8f7
DK
17use encoding 'shiftjis';
18
19my @hiragana = map {chr} ord("\82\9f")..ord("\82ñ");
20my @katakana = map {chr} ord("\83@")..ord("\83\93");
21my $hiragana = join('' => @hiragana);
22my $katakana = join('' => @katakana);
23my %h2k; @h2k{@hiragana} = @katakana;
24my %k2h; @k2h{@katakana} = @hiragana;
25
26# print @hiragana, "\n";
27
28my $str;
29
30$str = $hiragana; $str =~ tr/\82\9f-\82ñ/\83@-\83\93/;
31is($str, $katakana, "tr// # hiragana -> katakana");
32$str = $katakana; $str =~ tr/\83@-\83\93/\82\9f-\82ñ/;
33is($str, $hiragana, "tr// # hiragana -> katakana");
34
35$str = $hiragana; eval qq(\$str =~ tr/\82\9f-\82ñ/\83@-\83\93/);
36is($str, $katakana, "eval qq(tr//) # hiragana -> katakana");
37$str = $katakana; eval qq(\$str =~ tr/\83@-\83\93/\82\9f-\82ñ/);
38is($str, $hiragana, "eval qq(tr//) # hiragana -> katakana");
39
40$str = $hiragana; $str =~ s/([\82\9f-\82ñ])/$h2k{$1}/go;
41is($str, $katakana, "s/// # hiragana -> katakana");
42$str = $katakana; $str =~ s/([\83@-\83\93])/$k2h{$1}/go;
43is($str, $hiragana, "s/// # hiragana -> katakana");
44__END__