use 5.008; use Test::More qw[no_plan]; use strict; use warnings; $JEncode::DEBUG = 0; BEGIN { use_ok( 'JEncode' ); } require_ok( 'JEncode' ); main(); sub main{ my $j = new JEncode; my $str = 'アイウエオカキクケコサシスセソタチツテト'; my ($set,$test) = ($str,$str); $j->set($set); ok($j->euc eq $test, '$j->euc'); ok($j->jlength == 20, 'jlength(euc)'); $test = $str; JEncode::convert(\$test,'sjis','euc'); ok($j->sjis eq $test, '$j->sjis'); ok($j->jlength == 20, 'jlength(sjis)'); $test = $str; JEncode::convert(\$test,'jis','euc'); ok($j->jis eq $test, '$j->jis'); ok($j->jlength == 20, 'jlength(jis)'); $test = $str = 'アイウエオカキクケコサシスセソタチツテト'; JEncode::convert(\$test,'jis','euc','z'); ok($j->set($str)->iso_2022_jp eq $test, 'iso-2022-jp'); ok($j->jlength == 20, 'jlength(iso-2022-jp)'); $test = $str = 'アイウエオカキクケコサシスセソタチツテト'; JEncode::convert(\$test,'utf8','euc'); ok($j->set($str)->utf8 eq $test, '$j->utf8'); ok($j->jlength == 20, 'jlength(utf8)'); ok($j->z2h->euc eq 'アイウエオカキクケコサシスセソタチツテト', 'z2h'); ok($j->jlength == 20, 'jlength(z2h)'); ok($j->h2z->euc eq $str, 'h2z'); $j->jfold(10); is( (split/\n/,$j->euc)[0] ,'アイウエオ', 'jfold'); my $j2 = $j; ok($j->jlength == 23, 'jlength(jfold)'); $j2->utf8; ok($j2->jlength == 23, 'copy jlength(utf8)'); $test = $str = 'アイウエオカキクケコサシスセソタチツテト'; JEncode::convert(\$test,'utf8','euc','h'); ok($j->set($str)->z2h->utf8 eq $test, '$j->utf8 & hankaku'); $test = $str . "ワヲン"; JEncode::convert(\$test,'sjis','euc'); $j->set($str); $j->append('ワヲン'); is($j->sjis,$test,'$j->append'); my $mime_encoded; my $mime_test = '株式会社あああああ'; my $header_jis = '=?ISO-2022-JP?B?GyRCM3Q8MDJxPFIkIiQiJCIkIiQiGyhC?='; my $header_utf8 = '=?UTF-8?B?5qCq5byP5Lya56S+44GC44GC44GC44GC44GC?='; $JEncode::MIME_HEADER_ISO2022JP = 1; $mime_encoded = $j->set($mime_test)->mime_encode; is($mime_encoded, $header_jis, 'mime_encode (iso-2022-jp)'); is($j->set($mime_encoded)->mime_decode, $mime_test, 'mime_decode (is-2022-jp)'); $JEncode::MIME_HEADER_ISO2022JP = 0; $mime_encoded = $j->set($mime_test)->mime_encode; is($mime_encoded, $header_utf8, 'mime_encode (utf-8)'); is($j->set($mime_encoded)->mime_decode, $mime_test, 'mime_decode (utf-8)'); $str =<set($str); is($j->tr('ぁ-ん','ァ-ン')->sjis, $j->set($test)->sjis, '$j->tr'); $test = $j->set("日本語コード")->sjis; $j = jcode("日本語コード"); is($j->sjis,$test,'jcode()'); $j->set('これはテストです'); ok( $j->match('テスト'), '$j->match'); ok( $j->m('テスト'), '$j->m()'); is( ($j->match('テ(スト)'))[0], 'スト', '@array = $j->match()'); is($j->s('テスト','実験'), 'これは実験です', '$j->s()'); $str = "ABCD"; $j->set($str)->tr('A-D','A-D'); is($str,'ABCD','not \\$str '); $str = "ABCD"; $j->set(\$str)->tr('A-D','A-D'); is($str,'ABCD','\\$str ' . $str); }