This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
regexec.c: Remove unnecessary cBOOLs
[perl5.git] / t / uni / tr_eucjp.t
CommitLineData
e4206093 1#! perl -w
0d55c8f7 2#
0d55c8f7
DK
3# This script is written intentionally in EUC-JP
4# -- dankogai
5
6BEGIN {
0d55c8f7
DK
7 require Config; import Config;
8 if ($Config{'extensions'} !~ /\bEncode\b/) {
9 print "1..0 # Skip: Encode was not built\n";
10 exit 0;
11 }
12 if (ord("A") == 193) {
13 print "1..0 # Skip: EBCDIC\n";
14 exit 0;
15 }
16 unless (PerlIO::Layer->find('perlio')){
17 print "1..0 # Skip: PerlIO required\n";
18 exit 0;
19 }
be8eafc6
NC
20 if ($ENV{PERL_CORE_MINITEST}) {
21 print "1..0 # Skip: no dynamic loading on miniperl, no Encode\n";
7aae9294
JH
22 exit 0;
23 }
0d55c8f7 24 $| = 1;
e4206093 25 require './test.pl';
0d55c8f7
DK
26}
27
28use strict;
e4206093 29plan(tests => 6);
0d55c8f7
DK
30use encoding 'euc-jp';
31
32my @hiragana = map {chr} ord("¤¡")..ord("¤ó");
33my @katakana = map {chr} ord("¥¡")..ord("¥ó");
34my $hiragana = join('' => @hiragana);
35my $katakana = join('' => @katakana);
36my %h2k; @h2k{@hiragana} = @katakana;
37my %k2h; @k2h{@katakana} = @hiragana;
38
39# print @hiragana, "\n";
40
41my $str;
42
43$str = $hiragana; $str =~ tr/¤¡-¤ó/¥¡-¥ó/;
44is($str, $katakana, "tr// # hiragana -> katakana");
45$str = $katakana; $str =~ tr/¥¡-¥ó/¤¡-¤ó/;
46is($str, $hiragana, "tr// # hiragana -> katakana");
47
48$str = $hiragana; eval qq(\$str =~ tr/¤¡-¤ó/¥¡-¥ó/);
49is($str, $katakana, "eval qq(tr//) # hiragana -> katakana");
50$str = $katakana; eval qq(\$str =~ tr/¥¡-¥ó/¤¡-¤ó/);
51is($str, $hiragana, "eval qq(tr//) # hiragana -> katakana");
52
53$str = $hiragana; $str =~ s/([¤¡-¤ó])/$h2k{$1}/go;
54is($str, $katakana, "s/// # hiragana -> katakana");
55$str = $katakana; $str =~ s/([¥¡-¥ó])/$k2h{$1}/go;
56is($str, $hiragana, "s/// # hiragana -> katakana");
57__END__