#
# nkf test program for nkf-2
#
-# $Id: nkf_test.pl,v 1.11 2005/04/09 21:07:16 rei_furukawa Exp $
+# $Id: nkf_test.pl,v 1.17 2006/05/01 19:51:31 naruse Exp $
#
# Shinji KONO <kono@ie.u-ryukyu.ac.jp>
# Sun Aug 18 12:25:40 JST 1996
# From JIS
-print "JIS to JIS ... ";&test("$nkf -j",$example{'jis'},$example{'jis'});
-print "JIS to SJIS... ";&test("$nkf -s",$example{'jis'},$example{'sjis'});
-print "JIS to EUC ... ";&test("$nkf -e",$example{'jis'},$example{'euc'});
-print "JIS to UTF8... ";&test("$nkf -w",$example{'jis'},$example{'utf8N'});
-print "JIS to U16L... ";&test("$nkf -w16L",$example{'jis'},$example{'u16L'});
-print "JIS to U16B... ";&test("$nkf -w16B",$example{'jis'},$example{'u16B'});
+print "JIS to JIS ...";&test("$nkf -j",$example{'jis'},$example{'jis'});
+print "JIS to SJIS...";&test("$nkf -s",$example{'jis'},$example{'sjis'});
+print "JIS to EUC ...";&test("$nkf -e",$example{'jis'},$example{'euc'});
+print "JIS to UTF8...";&test("$nkf -w",$example{'jis'},$example{'utf8N'});
+print "JIS to U16L...";&test("$nkf -w16L",$example{'jis'},$example{'u16L'});
+print "JIS to U16B...";&test("$nkf -w16B",$example{'jis'},$example{'u16B'});
+print "JIS to JIS ...";&test("$nkf --ic=iso-2022-jp --oc=iso-2022-jp" ,$example{'jis'},$example{'jis'});
+print "JIS to SJIS...";&test("$nkf --ic=iso-2022-jp --oc=shift_jis" ,$example{'jis'},$example{'sjis'});
+print "JIS to EUC ...";&test("$nkf --ic=iso-2022-jp --oc=euc-jp" ,$example{'jis'},$example{'euc'});
+print "JIS to UTF8...";&test("$nkf --ic=iso-2022-jp --oc=utf-8n" ,$example{'jis'},$example{'utf8N'});
+print "JIS to U16L...";&test("$nkf --ic=iso-2022-jp --oc=utf-16le-bom",$example{'jis'},$example{'u16L'});
+print "JIS to U16B...";&test("$nkf --ic=iso-2022-jp --oc=utf-16be-bom",$example{'jis'},$example{'u16B'});
# From SJIS
-print "SJIS to JIS ... ";&test("$nkf -j",$example{'sjis'},$example{'jis'});
-print "SJIS to SJIS... ";&test("$nkf -s",$example{'sjis'},$example{'sjis'});
-print "SJIS to EUC ... ";&test("$nkf -e",$example{'sjis'},$example{'euc'});
-print "SJIS to UTF8... ";&test("$nkf -w",$example{'sjis'},$example{'utf8N'});
-print "SJIS to U16L... ";&test("$nkf -w16L",$example{'sjis'},$example{'u16L'});
-print "SJIS to U16B... ";&test("$nkf -w16B",$example{'sjis'},$example{'u16B'});
+print "SJIS to JIS ...";&test("$nkf -j",$example{'sjis'},$example{'jis'});
+print "SJIS to SJIS...";&test("$nkf -s",$example{'sjis'},$example{'sjis'});
+print "SJIS to EUC ...";&test("$nkf -e",$example{'sjis'},$example{'euc'});
+print "SJIS to UTF8...";&test("$nkf -w",$example{'sjis'},$example{'utf8N'});
+print "SJIS to U16L...";&test("$nkf -w16L",$example{'sjis'},$example{'u16L'});
+print "SJIS to U16B...";&test("$nkf -w16B",$example{'sjis'},$example{'u16B'});
+print "SJIS to JIS ...";&test("$nkf --ic=shift_jis --oc=iso-2022-jp" ,$example{'sjis'},$example{'jis'});
+print "SJIS to SJIS...";&test("$nkf --ic=shift_jis --oc=shift_jis" ,$example{'sjis'},$example{'sjis'});
+print "SJIS to EUC ...";&test("$nkf --ic=shift_jis --oc=euc-jp" ,$example{'sjis'},$example{'euc'});
+print "SJIS to UTF8...";&test("$nkf --ic=shift_jis --oc=utf-8n" ,$example{'sjis'},$example{'utf8N'});
+print "SJIS to U16L...";&test("$nkf --ic=shift_jis --oc=utf-16le-bom" ,$example{'sjis'},$example{'u16L'});
+print "SJIS to U16B...";&test("$nkf --ic=shift_jis --oc=utf-16be-bom" ,$example{'sjis'},$example{'u16B'});
# From EUC
-print "EUC to JIS ... ";&test("$nkf -j",$example{'euc'},$example{'jis'});
-print "EUC to SJIS... ";&test("$nkf -s",$example{'euc'},$example{'sjis'});
-print "EUC to EUC ... ";&test("$nkf -e",$example{'euc'},$example{'euc'});
-print "EUC to UTF8... ";&test("$nkf -w",$example{'euc'},$example{'utf8N'});
-print "EUC to U16L... ";&test("$nkf -w16L",$example{'euc'},$example{'u16L'});
-print "EUC to U16B... ";&test("$nkf -w16B",$example{'euc'},$example{'u16B'});
+print "EUC to JIS ...";&test("$nkf -j",$example{'euc'},$example{'jis'});
+print "EUC to SJIS...";&test("$nkf -s",$example{'euc'},$example{'sjis'});
+print "EUC to EUC ...";&test("$nkf -e",$example{'euc'},$example{'euc'});
+print "EUC to UTF8...";&test("$nkf -w",$example{'euc'},$example{'utf8N'});
+print "EUC to U16L...";&test("$nkf -w16L",$example{'euc'},$example{'u16L'});
+print "EUC to U16B...";&test("$nkf -w16B",$example{'euc'},$example{'u16B'});
+print "EUC to JIS ...";&test("$nkf --ic=euc-jp --oc=iso-2022-jp" ,$example{'euc'},$example{'jis'});
+print "EUC to SJIS...";&test("$nkf --ic=euc-jp --oc=shift_jis" ,$example{'euc'},$example{'sjis'});
+print "EUC to EUC ...";&test("$nkf --ic=euc-jp --oc=euc-jp" ,$example{'euc'},$example{'euc'});
+print "EUC to UTF8...";&test("$nkf --ic=euc-jp --oc=utf-8n" ,$example{'euc'},$example{'utf8N'});
+print "EUC to U16L...";&test("$nkf --ic=euc-jp --oc=utf-16le-bom" ,$example{'euc'},$example{'u16L'});
+print "EUC to U16B...";&test("$nkf --ic=euc-jp --oc=utf-16be-bom" ,$example{'euc'},$example{'u16B'});
# From UTF8
-print "UTF8 to JIS ... ";&test("$nkf -j", $example{'utf8N'},$example{'jis'});
-print "UTF8 to SJIS... ";&test("$nkf -s", $example{'utf8N'},$example{'sjis'});
-print "UTF8 to EUC ... ";&test("$nkf -e", $example{'utf8N'},$example{'euc'});
-print "UTF8 to UTF8N.. ";&test("$nkf -w", $example{'utf8N'},$example{'utf8N'});
-print "UTF8 to UTF8... ";&test("$nkf -w8", $example{'utf8N'},$example{'utf8'});
-print "UTF8 to UTF8N.. ";&test("$nkf -w80", $example{'utf8N'},$example{'utf8N'});
-print "UTF8 to U16L... ";&test("$nkf -w16L", $example{'utf8N'},$example{'u16L'});
-print "UTF8 to U16L0.. ";&test("$nkf -w16L0", $example{'utf8N'},$example{'u16L0'});
-print "UTF8 to U16B... ";&test("$nkf -w16B", $example{'utf8N'},$example{'u16B'});
-print "UTF8 to U16B0.. ";&test("$nkf -w16B0", $example{'utf8N'},$example{'u16B0'});
+print "UTF8 to JIS ...";&test("$nkf -j", $example{'utf8N'},$example{'jis'});
+print "UTF8 to SJIS...";&test("$nkf -s", $example{'utf8N'},$example{'sjis'});
+print "UTF8 to EUC ...";&test("$nkf -e", $example{'utf8N'},$example{'euc'});
+print "UTF8 to UTF8N..";&test("$nkf -w", $example{'utf8N'},$example{'utf8N'});
+print "UTF8 to UTF8...";&test("$nkf -w8", $example{'utf8N'},$example{'utf8'});
+print "UTF8 to UTF8N..";&test("$nkf -w80", $example{'utf8N'},$example{'utf8N'});
+print "UTF8 to U16L...";&test("$nkf -w16L", $example{'utf8N'},$example{'u16L'});
+print "UTF8 to U16L0..";&test("$nkf -w16L0", $example{'utf8N'},$example{'u16L0'});
+print "UTF8 to U16B...";&test("$nkf -w16B", $example{'utf8N'},$example{'u16B'});
+print "UTF8 to U16B0..";&test("$nkf -w16B0", $example{'utf8N'},$example{'u16B0'});
+print "UTF8 to JIS ...";&test("$nkf --ic=utf-8 --oc=iso-2022-jp", $example{'utf8N'},$example{'jis'});
+print "UTF8 to SJIS...";&test("$nkf --ic=utf-8 --oc=shift_jis", $example{'utf8N'},$example{'sjis'});
+print "UTF8 to EUC ...";&test("$nkf --ic=utf-8 --oc=euc-jp", $example{'utf8N'},$example{'euc'});
+print "UTF8 to UTF8N..";&test("$nkf --ic=utf-8 --oc=utf-8", $example{'utf8N'},$example{'utf8N'});
+print "UTF8 to UTF8BOM";&test("$nkf --ic=utf-8 --oc=utf-8-bom", $example{'utf8N'},$example{'utf8'});
+print "UTF8 to UTF8N..";&test("$nkf --ic=utf-8 --oc=utf-8n", $example{'utf8N'},$example{'utf8N'});
+print "UTF8 to U16L...";&test("$nkf --ic=utf-8 --oc=utf-16le-bom", $example{'utf8N'},$example{'u16L'});
+print "UTF8 to U16L0..";&test("$nkf --ic=utf-8 --oc=utf-16le", $example{'utf8N'},$example{'u16L0'});
+print "UTF8 to U16B...";&test("$nkf --ic=utf-8 --oc=utf-16be-bom", $example{'utf8N'},$example{'u16B'});
+print "UTF8 to U16B0..";&test("$nkf --ic=utf-8 --oc=utf-16be", $example{'utf8N'},$example{'u16B0'});
# From JIS
-print "JIS to JIS ... ";&test("$nkf -j",$example{'jis1'},$example{'jis1'});
-print "JIS to SJIS... ";&test("$nkf -s",$example{'jis1'},$example{'sjis1'});
-print "JIS to EUC ... ";&test("$nkf -e",$example{'jis1'},$example{'euc1'});
-print "JIS to UTF8... ";&test("$nkf -w",$example{'jis1'},$example{'utf1'});
+print "JIS to JIS ...";&test("$nkf -j",$example{'jis1'},$example{'jis1'});
+print "JIS to SJIS...";&test("$nkf -s",$example{'jis1'},$example{'sjis1'});
+print "JIS to EUC ...";&test("$nkf -e",$example{'jis1'},$example{'euc1'});
+print "JIS to UTF8...";&test("$nkf -w",$example{'jis1'},$example{'utf1'});
# From SJIS
-print "SJIS to JIS ... ";&test("$nkf -j",$example{'sjis1'},$example{'jis1'});
-print "SJIS to SJIS... ";&test("$nkf -s",$example{'sjis1'},$example{'sjis1'});
-print "SJIS to EUC ... ";&test("$nkf -e",$example{'sjis1'},$example{'euc1'});
-print "SJIS to UTF8... ";&test("$nkf -w",$example{'sjis1'},$example{'utf1'});
+print "SJIS to JIS ...";&test("$nkf -j",$example{'sjis1'},$example{'jis1'});
+print "SJIS to SJIS...";&test("$nkf -s",$example{'sjis1'},$example{'sjis1'});
+print "SJIS to EUC ...";&test("$nkf -e",$example{'sjis1'},$example{'euc1'});
+print "SJIS to UTF8...";&test("$nkf -w",$example{'sjis1'},$example{'utf1'});
# From EUC
-print "EUC to JIS ... ";&test("$nkf -j",$example{'euc1'},$example{'jis1'});
-print "EUC to SJIS... ";&test("$nkf -s",$example{'euc1'},$example{'sjis1'});
-print "EUC to EUC ... ";&test("$nkf -e",$example{'euc1'},$example{'euc1'});
-print "EUC to UTF8... ";&test("$nkf -w",$example{'euc1'},$example{'utf1'});
+print "EUC to JIS ...";&test("$nkf -j",$example{'euc1'},$example{'jis1'});
+print "EUC to SJIS...";&test("$nkf -s",$example{'euc1'},$example{'sjis1'});
+print "EUC to EUC ...";&test("$nkf -e",$example{'euc1'},$example{'euc1'});
+print "EUC to UTF8...";&test("$nkf -w",$example{'euc1'},$example{'utf1'});
# From UTF8
-print "UTF8 to JIS ... ";&test("$nkf -j",$example{'utf1'},$example{'jis1'});
-print "UTF8 to SJIS... ";&test("$nkf -s",$example{'utf1'},$example{'sjis1'});
-print "UTF8 to EUC ... ";&test("$nkf -e",$example{'utf1'},$example{'euc1'});
-print "UTF8 to UTF8... ";&test("$nkf -w",$example{'utf1'},$example{'utf1'});
+print "UTF8 to JIS ...";&test("$nkf -j",$example{'utf1'},$example{'jis1'});
+print "UTF8 to SJIS...";&test("$nkf -s",$example{'utf1'},$example{'sjis1'});
+print "UTF8 to EUC ...";&test("$nkf -e",$example{'utf1'},$example{'euc1'});
+print "UTF8 to UTF8...";&test("$nkf -w",$example{'utf1'},$example{'utf1'});
+
+print "\nOther Features\n\n";
# Ambigous Case
>)4(P,25",#$E0C`Q)4(P,25",#$E0C`Q)4(;*$(*
eofeof
-print "Ambiguous Case. ";
+printf "%-40s", "Ambiguous Case.";
&test("$nkf -j",$example{'amb'},$example{'amb.euc'});
# Input assumption
-print "SJIS Input assumption ";
+printf "%-40s", "SJIS Input assumption";
&test("$nkf -jSx",$example{'amb'},$example{'amb.sjis'});
# Broken JIS
-print "Broken JIS ";
+printf "%-40s", "Broken JIS";
$input = $example{'jis'};
$input =~ s/\033//g;
&test("$nkf -Be",$input,$example{'euc'});
-print "Broken JIS is safe on Normal JIS? ";
+printf "%-40s", "Broken JIS is safe on Normal JIS?";
$input = $example{'jis'};
&test("$nkf -Be",$input,$example{'euc'});
%_/$@_.X`
eofeof
-print "test_data/cp932 ";
+printf "%-40s", "test_data/cp932";
&test("$nkf -eS",$example{'test_data/cp932'},$example{'test_data/cp932.ans'});
+printf "%-40s", "test_data/cp51932";
+ &test("$nkf --ic=cp932 --oc=cp51932",$example{'test_data/cp932'},$example{'test_data/cp932.ans'});
# test_data/cp932inv
-print "test_data/cp932inv ";
+printf "%-40s", "test_data/cp932inv";
&test("$nkf -sE --cp932inv",$example{'test_data/cp932.ans'},$example{'test_data/cp932'});
# test_data/no-cp932inv
%[N\@[NP`
eofeof
-print "test_data/no-cp932inv ";
+printf "%-40s", "test_data/no-cp932inv";
&test("$nkf -sE --no-cp932",$example{'test_data/cp932.ans'},$example{'test_data/no-cp932inv.ans'});
+# ISO-2022-JP-MS
+$example{'iso2022jpms_sjis'} = "\xA1\xDF\xF0\xA0\xF4\xFC\xF5\x40\xF9\xFC";
+$example{'iso2022jpms_euc'} = "\x8e\xa1\x8e\xdf\xf6\xa2\xfe\xfe\x8f\xf5\xa1\x8f\xfe\xfe";
+$example{'iso2022jpms_jis'} = "\x1b\x28\x49\x21\x5f\x1b\x24\x28\x3f\x22\x22\x2a\x7e\x2b\x21\x34\x7e\x1b\x28\x42";
+
+# printf "%-40s", "ISO-2022-JP-MS to CP932";
+# &test("$nkf --ic=ISO-2022-JP-MS --oc=CP932",$example{'iso2022jpms_jis'},$example{'iso2022jpms_sjis'});
+#
+# printf "%-40s", "CP932 to ISO-2022-JP-MS";
+# &test("$nkf --ic=CP932 --oc=ISO-2022-JP-MS",$example{'iso2022jpms_sjis'},$example{'iso2022jpms_jis'});
+#
+# printf "%-40s", "ISO-2022-JP-MS to eucJP-ms";
+# &test("$nkf --ic=ISO-2022-JP-MS --oc=eucJP-ms",$example{'iso2022jpms_jis'},$example{'iso2022jpms_euc'});
+#
+# printf "%-40s", "eucJP-ms to ISO-2022-JP-MS";
+# &test("$nkf --ic=eucJP-ms --oc=ISO-2022-JP-MS",$example{'iso2022jpms_euc'},$example{'iso2022jpms_jis'});
+# JIS X 0212
+$example{'jisx0212_euc'} = "\x8F\xA2\xAF\x8F\xED\xE3";
+$example{'jisx0212_jis'} = "\x1b\x24\x28\x44\x22\x2f\x6d\x63\x1b\x28\x42";
+
+printf "%-40s", "ISO-2022-JP-1 to EUC-JP";
+ &test("$nkf --ic=ISO-2022-JP-1 --oc=EUC-JP",$example{'jisx0212_jis'},$example{'jisx0212_euc'});
+
+printf "%-40s", "EUC-JP to ISO-2022-JP-1";
+ &test("$nkf --ic=EUC-JP --oc=ISO-2022-JP-1",$example{'jisx0212_euc'},$example{'jisx0212_jis'});
+# JIS X 0213
+
+$example{'jisx0213_sjis'} = unpack('u',<<'eofeof');
+0@:V(G9ATF)WJIN_W\$#\]```
+eofeof
+$example{'jisx0213_euc'} = unpack('u',<<'eofeof');
+2HJ^O_<_5S_WTJ/[YCZ&AC_[V
+eofeof
+
+$example{'jisx0213_jis'} = unpack('u',<<'eofeof');
+;&R0H3R(O+WU/54]]="A^>1LD*%`A(7YV&RA"
+eofeof
+
+printf "%-40s", "Shift_JISX0213 to EUC-JISX0213";
+ &test("$nkf --ic=Shift_JISX0213 --oc=EUC-JISX0213",$example{'jisx0213_sjis'},$example{'jisx0213_euc'});
+
+printf "%-40s", "EUC-JISX0213 to Shift_JISX0213";
+ &test("$nkf --ic=EUC-JISX0213 --oc=Shift_JISX0213",$example{'jisx0213_euc'},$example{'jisx0213_sjis'});
+
+printf "%-40s", "ISO-2022-JP-3 to EUC-JISX0213";
+ &test("$nkf --ic=ISO-2022-JP-3 --oc=EUC-JISX0213",$example{'jisx0213_jis'},$example{'jisx0213_euc'});
+
+printf "%-40s", "EUC-JISX0213 to ISO-2022-JP-3";
+ &test("$nkf --ic=EUC-JISX0213 --oc=ISO-2022-JP-3",$example{'jisx0213_euc'},$example{'jisx0213_jis'});
+# test_data/no_best_fit_chars
+
+$example{'test_data/no_best_fit_chars'} = unpack('u',<<'eofeof');
+;XH"5XHBE[[R-[[^@[[^A[[^B[[^C[[^D[[^E
+eofeof
+
+printf "%-40s", "no_best_fit_chars (eucJP-ascii)";
+ &test("$nkf -W --oc=eucJP-ascii --no-best-fit-chars",$example{'test_data/no_best_fit_chars'},'');
+
+$example{'test_data/no_best_fit_chars_ms'} = unpack('u',<<'eofeof');
+9PJ+"H\*EPJ;"K.*`E.*`EN*`ON*(DN.`G```
+eofeof
+
+printf "%-40s", "no_best_fit_chars (eucJP-ms)";
+ &test("$nkf -W --oc=eucJP-ms --no-best-fit-chars",$example{'test_data/no_best_fit_chars_ms'},'');
+
+$example{'test_data/no_best_fit_chars_cp932'} = unpack('u',<<'eofeof');
+MPJ'"HL*CPJ7"IL*IPJK"J\*LPJW"KL*OPK+"L\*UPK?"N,*YPKK"N\.`PX'#
+M@L.#PX3#A<.&PX?#B,.)PXK#B\.,PXW#CL./PY##D<.2PY/#E,.5PY;#F,.9
+MPYK#F\.<PYW#GL.?PZ##H<.BPZ/#I,.EPZ;#I\.HPZG#JL.KPZS#K<.NPZ_#
+@L,.QP[+#L\.TP[7#ML.XP[G#NL.[P[S#O<.^P[_C@I0`
+eofeof
+
+printf "%-40s", "no_best_fit_chars (cp932)";
+ &test("$nkf -W --oc=CP932 --no-best-fit-chars",$example{'test_data/no_best_fit_chars_cp932'},'');
# test_data/irv
# $example{'test_data/irv'} = unpack('u',<<'eofeof');
# %#B`/(!L`
# eofeof
#
-# print "test_data/irv ";
+# printf "%-40s", "test_data/irv";
# &test("$nkf -wE",$example{'test_data/irv'},$example{'test_data/irv.ans'});
# UCS Mapping Test
-print "\n\nUCS Mapping Test\n";
+print "\nUCS Mapping Test\n\n";
print "Shift_JIS to UTF-16\n";
$example{'ms_ucs_map_1_sjis'} = "\x81\x60\x81\x61\x81\x7C\x81\x91\x81\x92\x81\xCA";
$example{'ms_ucs_map_1_utf16'} = "\x30\x1C\x20\x16\x22\x12\x00\xA2\x00\xA3\x00\xAC";
$example{'ms_ucs_map_1_utf16_ms'} = "\xFF\x5E\x22\x25\xFF\x0D\xFF\xE0\xFF\xE1\xFF\xE2";
-print "Normal UCS Mapping : ";
+printf "%-40s", "Normal UCS Mapping :";
&test("$nkf -w16B0 -S",$example{'ms_ucs_map_1_sjis'},$example{'ms_ucs_map_1_utf16'});
-print "Microsoft UCS Mapping : ";
+printf "%-40s", "Microsoft UCS Mapping :";
&test("$nkf -w16B0 -S --ms-ucs-map",$example{'ms_ucs_map_1_sjis'},$example{'ms_ucs_map_1_utf16_ms'});
-
-print"\n";
+printf "%-40s", "CP932 to UTF-16BE :";
+ &test("$nkf --ic=cp932 --oc=utf-16be",$example{'ms_ucs_map_1_sjis'},$example{'ms_ucs_map_1_utf16_ms'});
# X0201 \e$B2>L>\e(B
# X0201->X0208 conversion
MY86HZ*>2XX*KXX*MXX*OXX*QXX*SXX*LXX*NXX*PXX*RXX*T"N6%J.B+L>^\
MH>^\HN^\H^^\I.^\I>^\IN^\I^^]@>^]@N^]@^^]A.^]A>^]AN^]APKEA:CH
MJ)CEC[?OO('OO*#OO(/OO(3OO(7OO+[OO(;OO(KOO(COO(GBB)+OO(OOO)WO
-MO+OOO+WOO9OOO9WOOZ4*Y8V*Z*>2[[VV[[VW[[VX/>^]N>^]NN^]MN^^GN^]
-MM^^^GN^]N.^^GN^]N>^^GN^]NN^^GN.!J`KEC8KHIY+OOHKOOI_OOHOOOI_O
-MOHSOOI_OOHWOOI_OOH[OOI_OO;?OOI_OO;'OOIX*[[Z*[[Z?[[Z+[[Z?[[Z,
-M"FAA;FMA:W4@[[Z*[[Z?[[Z+[[Z?[[Z,[[VD"N^^BN^^G^^^B^^^G^^^C.^^
-2G>^]H0KEC8KHIY+C@:[EOHP*
+MO+OOO+WOO9OOO9W"I0KEC8KHIY+OO;;OO;?OO;@][[VY[[VZ[[VV[[Z>[[VW
+M[[Z>[[VX[[Z>[[VY[[Z>[[VZ[[Z>XX&H"N6-BNBGDN^^BN^^G^^^B^^^G^^^
+MC.^^G^^^C>^^G^^^CN^^G^^]M^^^G^^]L>^^G@KOOHKOOI_OOHOOOI_OOHP*
+M:&%N:V%K=2#OOHKOOI_OOHOOOI_OOHSOO:0*[[Z*[[Z?[[Z+[[Z?[[Z,[[Z=
+1[[VA"N6-BNBGDN.!KN6^C`H`
eofeof
$example{'x0201.jis'} = unpack('u',<<'eofeof');
# -X is necessary to allow X0201 in SJIS
# -Z convert X0208 alphabet to ASCII
-print "X0201 conversion: SJIS ";
+printf "%-40s", "X0201 conversion: SJIS";
&test("$nkf -jXZ",$example{'x0201.sjis'},$example{'x0201.x0208'});
-print "X0201 conversion: JIS ";
+printf "%-40s", "X0201 conversion: JIS";
&test("$nkf -jZ",$example{'x0201.jis'},$example{'x0201.x0208'});
-print "X0201 conversion:SI/SO ";
+printf "%-40s", "X0201 conversion: SI/SO";
&test("$nkf -jZ",$example{'x0201.sosi'},$example{'x0201.x0208'});
-print "X0201 conversion: EUC ";
+printf "%-40s", "X0201 conversion: EUC";
&test("$nkf -jZ",$example{'x0201.euc'},$example{'x0201.x0208'});
-print "X0201 conversion: UTF8 ";
+printf "%-40s", "X0201 conversion: UTF8";
&test("$nkf -jZ",$example{'x0201.utf'},$example{'x0201.x0208'});
# -x means X0201 output
-print "X0201 output: SJIS ";
+printf "%-40s", "X0201 output: SJIS";
&test("$nkf -xs",$example{'x0201.euc'},$example{'x0201.sjis'});
-print "X0201 output: JIS ";
+printf "%-40s", "X0201 output: JIS";
&test("$nkf -xj",$example{'x0201.sjis'},$example{'x0201.jis'});
-print "X0201 output: EUC ";
+printf "%-40s", "X0201 output: EUC";
&test("$nkf -xe",$example{'x0201.jis'},$example{'x0201.euc'});
-print "X0201 output: UTF8 ";
+printf "%-40s", "X0201 output: UTF8";
&test("$nkf -xw",$example{'x0201.jis'},$example{'x0201.utf'});
# MIME decode
(9R0F)"L;*$(E
eofeof
-# print "Next test is expected to Fail.\n";
-print "MIME decode (strict) ";
+# printf "%-40s", "Next test is expected to Fail.\n";
+printf "%-40s", "MIME decode (strict)";
$tmp = &test("$nkf -jmS",$example{'mime.iso2022'},$example{'mime.ans.strict'});
$example{'mime.ans.alt'} = unpack('u',<<'eofeof');
H.WHD3C\I.W8T03MZ)$X_*3MV&RA""ALD0C1!.WHD3B5&)3DE)!LH0@``
eofeof
-print "MIME decode (nonstrict)";
+printf "%-40s", "MIME decode (nonstrict)";
$tmp = &test("$nkf -jmN",$example{'mime.iso2022'},$example{'mime.ans'},$example{'mime.ans.alt'});
- # open(OUT,">tmp1");print OUT pack('u',$tmp);close(OUT);
+ # open(OUT,">tmp1");printf "%-40s", OUT pack('u',$tmp);close(OUT);
# unbuf mode implies more pessimistic decode
-print "MIME decode (unbuf) ";
+printf "%-40s", "MIME decode (unbuf)";
$tmp = &test("$nkf -jmNu",$example{'mime.iso2022'},$example{'mime.unbuf'},$example{'mime.unbuf.alt'});
- # open(OUT,">tmp2");print OUT pack('u',$tmp);close(OUT);
-print "MIME decode (base64) ";
+ # open(OUT,">tmp2");printf "%-40s", OUT pack('u',$tmp);close(OUT);
+printf "%-40s", "MIME decode (base64)";
&test("$nkf -jmB",$example{'mime.base64'},$example{'mime.base64.ans'});
#MIME BASE64 must be LF?
# Without -l, ISO-8859-1 was handled as X0201.
-print "MIME ISO-8859-1 (Q) ";
+printf "%-40s", "MIME ISO-8859-1 (Q)";
&test("$nkf -ml",$example{'mime.is8859'},$example{'mime.is8859.ans'});
# test for -f is not so simple.
7&R1")$8D.21(&RA""G1E<W0*=&5S=`H`
eofeof
-print "test_data/cr ";
+printf "%-40s", "test_data/cr";
&test("$nkf -jd",$example{'test_data/cr'},$example{'test_data/cr.ans'});
# test_data/fixed-qencode
F("`@("`@("`;)$(^93\]&RA""B`@("`@("`@&R1"/F4_/1LH0@H`
eofeof
-print "test_data/fixed-qencode ";
+printf "%-40s", "test_data/fixed-qencode";
&test("$nkf -jmQ",$example{'test_data/fixed-qencode'},$example{'test_data/fixed-qencode.ans'});
# test_data/long-fold-1
!"@``
eofeof
-print "test_data/long-fold-1 ";
+printf "%-40s", "test_data/long-fold-1";
&test("$nkf -jF60",$example{'test_data/long-fold-1'},$example{'test_data/long-fold-1.ans'});
# test_data/long-fold
:)$(D2B0D(2,D,R0S)$]#.R0D.50A(QLH0@H`
eofeof
-print "test_data/long-fold ";
+printf "%-40s", "test_data/long-fold";
&test("$nkf -jf60",$example{'test_data/long-fold'},$example{'test_data/long-fold.ans'});
# test_data/mime_out
@>6A#/ST@86%A82!A86%A(&%A86$@86%A80HM+2TM"@H`
eofeof
-print "test_data/mime_out ";
+printf "%-40s", "test_data/mime_out";
&test("$nkf -jM",$example{'test_data/mime_out'},$example{'test_data/mime_out.ans'},$example{'test_data/mime_out.ans.alt'},$example{'test_data/mime_out.ans.alt2'});
# test_data/mime_out2
92T-G;TM#9V]+0V=O2T-G;TM#9V]+/ST*(```
eofeof
-print "test_data/mime_out2 ";
+printf "%-40s", "test_data/mime_out2";
&test("$nkf -jM",$example{'test_data/mime_out2'},$example{'test_data/mime_out2.ans'},$example{'test_data/mime_out2.ans.alt'},$example{'test_data/mime_out2.ans.alt2'});
+# test_data/mime_out
+
+$example{'test_data/mime_out3'} = "\x82\xD9\x82\xB0 A";
+
+$example{'test_data/mime_out3.ans'} = "=?ISO-2022-JP?B?GyRCJFskMhsoQg==?= A";
+
+printf "%-40s", "test_data/mime_out3";
+ &test("$nkf -jSM",$example{'test_data/mime_out3'},$example{'test_data/mime_out3.ans'});
# test_data/multi-line
$example{'test_data/multi-line'} = unpack('u',<<'eofeof');
8NZ2DN=2AHP`*I+.DLZ3/P[NDI+G4H:,*
eofeof
-print "test_data/multi-line ";
+printf "%-40s", "test_data/multi-line";
&test("$nkf -e",$example{'test_data/multi-line'},$example{'test_data/multi-line.ans'});
# test_data/nkf-19-bug-1
8&R1")"8D*R0D&RA""ALD0CI81B,;*$(*
eofeof
-print "test_data/nkf-19-bug-1 ";
+printf "%-40s", "test_data/nkf-19-bug-1";
&test("$nkf -Ej",$example{'test_data/nkf-19-bug-1'},$example{'test_data/nkf-19-bug-1.ans'});
# test_data/nkf-19-bug-2
%I-NDL@H`
eofeof
-print "test_data/nkf-19-bug-2 ";
+printf "%-40s", "test_data/nkf-19-bug-2";
&test("$nkf -Ee",$example{'test_data/nkf-19-bug-2'},$example{'test_data/nkf-19-bug-2.ans'});
# test_data/nkf-19-bug-3
8[;'Q\,&L"N6ZSN\*\NT)ON7.SL_+"0D*
eofeof
-print "test_data/nkf-19-bug-3 ";
+printf "%-40s", "test_data/nkf-19-bug-3";
&test("$nkf -e",$example{'test_data/nkf-19-bug-3'},$example{'test_data/nkf-19-bug-3.ans'});
# test_data/non-strict-mime
<)&(]<20K)#LD1B0D)#\D0"0D)$8D)"1>&RA""@``
eofeof
-print "test_data/non-strict-mime ";
+printf "%-40s", "test_data/non-strict-mime";
&test("$nkf -jmN",$example{'test_data/non-strict-mime'},$example{'test_data/non-strict-mime.ans'});
# test_data/q-encode-softrap
>&R1"-$$[>B4S(3PE221.&RA""ALD0DI1-#D;*$(*
eofeof
-print "test_data/q-encode-softrap ";
+printf "%-40s", "test_data/q-encode-softrap";
&test("$nkf -jmQ",$example{'test_data/q-encode-softrap'},$example{'test_data/q-encode-softrap.ans'});
# test_data/rot13
A&RA""@HE(')P=6(@)W5B='(G('P@87AS("UE"G5B='(*
eofeof
-print "test_data/rot13 ";
+printf "%-40s", "test_data/rot13";
&test("$nkf -jr",$example{'test_data/rot13'},$example{'test_data/rot13.ans'});
# test_data/slash
7("`]/U8\5"U5.5=%2RTK.U<U32LE+PH`
eofeof
-print "test_data/slash ";
+printf "%-40s", "test_data/slash";
&test("$nkf ",$example{'test_data/slash'},$example{'test_data/slash.ans'});
# test_data/z1space-0
"H:$`
eofeof
-print "test_data/z1space-0 ";
+printf "%-40s", "test_data/z1space-0";
&test("$nkf -e -Z",$example{'test_data/z1space-0'},$example{'test_data/z1space-0.ans'});
# test_data/z1space-1
!(```
eofeof
-print "test_data/z1space-1 ";
+printf "%-40s", "test_data/z1space-1";
&test("$nkf -e -Z1",$example{'test_data/z1space-1'},$example{'test_data/z1space-1.ans'});
# test_data/z1space-2
"("``
eofeof
-print "test_data/z1space-2 ";
+printf "%-40s", "test_data/z1space-2";
&test("$nkf -e -Z2",$example{'test_data/z1space-2'},$example{'test_data/z1space-2.ans'});
+# test_data/bug2273
+
+$example{'test_data/bug2273'} = unpack('u',<<'eofeof');
+M/3]I<V\M,C`R,BUJ<#]Q/STY-CU!,CTX1CU",STY,3U&.#TX1$P].$0].3`]
+M.#$]038*:'1T<#HO+V5X86UP;&4N8V]M+S]O<&4]<V5L"FAT='`Z+R]E>&UA
+,<&QE+FIP+PHN+BX*
+eofeof
+
+$example{'test_data/bug2273.ans'} = unpack('u',<<'eofeof');
+MS*2^M<+ZN:VY\**H"FAT='`Z+R]E>&%M<&QE+F-O;2\_;W!E/7-E;`IH='1P
+3.B\O97AM87!L92YJ<"\*+BXN"@``
+eofeof
+printf "%-40s", "test_data/bug2273";
+ &test("$nkf -e",$example{'test_data/bug2273'},$example{'test_data/bug2273.ans'});
# end
+