+printf "%-40s", "test_data/ruby-dev:39722";
+ &test("$nkf -MjW",<<eom,<<eom);
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\xE3\x81\x82
+eom
+=?US-ASCII?Q?aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa?=
+ =?US-ASCII?Q?aaaaaaaaaaaaaaaaa?= =?ISO-2022-JP?B?GyRCJCIbKEI=?=
+eom
+# test_data/bug19779
+
+$example{'test_data/bug19779'} = unpack('u',<<'eofeof');
+2&R1","$;*$(*&R1"7V8;*$(*
+eofeof
+
+$example{'test_data/bug19779.ans'} = unpack('u',<<'eofeof');
+M/3])4T\M,C`R,BU*4#]"/T=Y4D--0T5B2T5)/3\]"CT_25-/+3(P,C(M2E`_
+10C]'>5)#6#)98DM%23T_/0H`
+eofeof
+
+printf "%-40s", "test_data/bug19779 ";
+ &test("$nkf -jM",$example{'test_data/bug19779'},$example{'test_data/bug19779.ans'});
+
+printf "%-40s", "[nkf-forum:47327] ";
+ &test("$nkf -wM",pack('H*','feffd852de76d814dc45000a'),"=?UTF-8?B?8KSptvCVgYU=?=\n");
+
+printf "%-40s", "[nkf-forum:47334] ";
+ &test("$nkf -w",pack('H*','feff006100620063000a'),"abc\n");
+
+printf "%-40s", "[nkf-bug:20079] ";
+ &test("$nkf -jSxM","\xBB \xBB","=?ISO-2022-JP?B?GyhJOxsoQiAbKEk7GyhC?=");
+
+printf "%-40s", "[nkf-bug:20079] ";
+ &test("$nkf -SxMw8","\xBB \xBB","=?UTF-8?B?77u/7727IO+9uw==?=");
+
+printf "%-40s", "[nkf-forum:48850] ";
+ &test("$nkf -jSM",
+ "From: \x82\xA0\x82\xA0\x82\xA0\x82\xA0\x82\xA0\x82\xA0\x82\xA0\x82\xA0\x82\xA0" .
+ " <x-xxxx@xxxxxxxxxxxx.co.jp>\n",
+ "From: =?ISO-2022-JP?B?GyRCJCIkIiQiJCIkIiQiJCIkIiQiGyhC?=" .
+ " <x-xxxx@xxxxxxxxxxxx.co.jp>\n");
+
+printf "%-40s", "[nkf-bug:21393]-x ";
+ &test("$nkf --ic=UTF-8 --oc=CP932",
+ "\xEF\xBD\xBC\xEF\xBE\x9E\xEF\xBD\xAC\xEF\xBD\xB0\xEF\xBE\x8F\xEF\xBE\x9D\xEF\xBD\xA5\xEF\xBE\x8E\xEF\xBE\x9F\xEF\xBE\x83\xEF\xBE\x84\xEF\xBD\xA1",
+ "\xBC\xDE\xAC\xB0\xCF\xDD\xA5\xCE\xDF\xC3\xC4\xA1");
+
+printf "%-40s", "[nkf-bug:21393]-X ";
+ &test("$nkf --ic=UTF-8 --oc=CP932 -X",
+ "\xEF\xBD\xBC\xEF\xBE\x9E\xEF\xBD\xAC\xEF\xBD\xB0\xEF\xBE\x8F\xEF\xBE\x9D\xEF\xBD\xA5\xEF\xBE\x8E\xEF\xBE\x9F\xEF\xBE\x83\xEF\xBE\x84\xEF\xBD\xA1",
+ "\x83W\x83\x83\x81[\x83}\x83\x93\x81E\x83|\x83e\x83g\x81B");
+
+printf "%-40s", "[nkf-forum:65316] ";
+ &test("$nkf -xwW -f10",
+ "\xEF\xBD\xB1\xEF\xBD\xB2\xEF\xBD\xB3\xEF\xBD\xB4\xEF\xBD\xB5\xEF\xBD\xB6\xEF\xBD\xB7\xEF\xBD\xB8\xEF\xBD\xB9\xEF\xBD\xBA\xEF\xBD\xBB\xEF\xBD\xBC\xEF\xBD\xBD\xEF\xBD\xBE\xEF\xBD\xBF\xEF\xBE\x80\xEF\xBE\x81\xEF\xBE\x82\xEF\xBE\x83\xEF\xBE\x84",
+ "\xEF\xBD\xB1\xEF\xBD\xB2\xEF\xBD\xB3\xEF\xBD\xB4\xEF\xBD\xB5\xEF\xBD\xB6\xEF\xBD\xB7\xEF\xBD\xB8\xEF\xBD\xB9\xEF\xBD\xBA\n\xEF\xBD\xBB\xEF\xBD\xBC\xEF\xBD\xBD\xEF\xBD\xBE\xEF\xBD\xBF\xEF\xBE\x80\xEF\xBE\x81\xEF\xBE\x82\xEF\xBE\x83\xEF\xBE\x84\n");
+
+printf "%-40s", "[nkf-forum:65482] ";
+ &test("$nkf --ic=CP50221 --oc=CP932",
+ "\x1b\x24\x42\x7f\x21\x80\x21\x1b\x28\x42\n",
+ "\xf0\x40\xf0\x9f\x0a");
+
+# [KNOWNBUG]
+# printf "%-40s", "[ruby-dev:47057] ";
+# &test("$nkf -jW -M --cp932",
+# "\xe3\x80\x8c\xe3\x81\x82\xe3\x81\x82\xe3\x81\x82\xe3\x81\x82\xe3\x81\x82\xe3\x81\x82\xe3\x81\x82\xe3\x81\x82\xe3\x81\x82\xe3\x81\x82\xe3\x81\x82 by \xe3\x81\x82\xe3\x81\x82\xe3\x81\x82\xe3\x81\x82\xe3\x81\x82\xe3\x81\x82\xe3\x81\x82\xe3\x81\x82\xe3\x81\x82\xe3\x81\x82\xe3\x80\x8d\xe3\x81\xae\xe3\x83\xac\xe3\x82\xb7\xe3\x83\x94",
+# "=?ISO-2022-JP?B?GyRCIVYkIiQiJCIkIiQiJCIkIiQiJCIkIiQiGyhC?= by\n =?ISO-2022-JP?B?GyRCJCIkIiQiJCIkIiQiJCIkIiQiJCIhVyROJWwlNyVUGyhC?=");
+
+printf "%-40s", "[nkf-bug:32328] SJIS";
+ &test("$nkf -Sw",
+ "\x1b\x82\xa0",
+ "\x1b\xe3\x81\x82");
+
+printf "%-40s", "[nkf-bug:32328] JIS";
+ &test("$nkf -Jw",
+ "\x1b\x1b\$B\$\x22\x1b(B",
+ "\x1b\xe3\x81\x82");
+
+ if (!NKF) {
+printf "%-40s", "Guess NL";
+&command_tests(
+ "$nkf --guess","none", "ASCII\n",
+ "$nkf --guess","\n", "ASCII (LF)\n",
+ "$nkf --guess","\n\n", "ASCII (LF)\n",
+ "$nkf --guess","\n\r", "ASCII (MIXED NL)\n",
+ "$nkf --guess","\n\r\n", "ASCII (MIXED NL)\n",
+ "$nkf --guess","\n.\n", "ASCII (LF)\n",
+ "$nkf --guess","\n.\r", "ASCII (MIXED NL)\n",
+ "$nkf --guess","\n.\r\n", "ASCII (MIXED NL)\n",
+ "$nkf --guess","\r", "ASCII (CR)\n",
+ "$nkf --guess","\r\r", "ASCII (CR)\n",
+ "$nkf --guess","\r\r\n", "ASCII (MIXED NL)\n",
+ "$nkf --guess","\r.\n", "ASCII (MIXED NL)\n",
+ "$nkf --guess","\r.\r", "ASCII (CR)\n",
+ "$nkf --guess","\r.\r\n", "ASCII (MIXED NL)\n",
+ "$nkf --guess","\r\n", "ASCII (CRLF)\n",
+ "$nkf --guess","\r\n\n", "ASCII (MIXED NL)\n",
+ "$nkf --guess","\r\n\r", "ASCII (MIXED NL)\n",
+ "$nkf --guess","\r\n\r\n", "ASCII (CRLF)\n",
+ "$nkf --guess","\r\n.\n", "ASCII (MIXED NL)\n",
+ "$nkf --guess","\r\n.\r", "ASCII (MIXED NL)\n",
+ "$nkf --guess","\r\n.\r\n", "ASCII (CRLF)\n");
+ }
+
+printf "%-40s", "Convert NL to LF";
+&command_tests(
+ "$nkf -jLu","none", "none",
+ "$nkf -jLu","\n", "\n",
+ "$nkf -jLu","\n\n", "\n\n",
+ "$nkf -jLu","\n\r", "\n\n",
+ "$nkf -jLu","\n\r\n", "\n\n",
+ "$nkf -jLu","\n.\n", "\n.\n",
+ "$nkf -jLu","\n.\r", "\n.\n",
+ "$nkf -jLu","\n.\r\n", "\n.\n",
+ "$nkf -jLu","\r", "\n",
+ "$nkf -jLu","\r\r", "\n\n",
+ "$nkf -jLu","\r\r\n", "\n\n",
+ "$nkf -jLu","\r.\n", "\n.\n",
+ "$nkf -jLu","\r.\r", "\n.\n",
+ "$nkf -jLu","\r.\r\n", "\n.\n",
+ "$nkf -jLu","\r\n", "\n",
+ "$nkf -jLu","\r\n\n", "\n\n",
+ "$nkf -jLu","\r\n\r", "\n\n",
+ "$nkf -jLu","\r\n\r\n", "\n\n",
+ "$nkf -jLu","\r\n.\n", "\n.\n",
+ "$nkf -jLu","\r\n.\r", "\n.\n",
+ "$nkf -jLu","\r\n.\r\n", "\n.\n");
+
+printf "%-40s", "Convert NL to LF";
+&command_tests(
+ "$nkf -jLm","none", "none",
+ "$nkf -jLm","\n", "\r",
+ "$nkf -jLm","\n\n", "\r\r",
+ "$nkf -jLm","\n\r", "\r\r",
+ "$nkf -jLm","\n\r\n", "\r\r",
+ "$nkf -jLm","\n.\n", "\r.\r",
+ "$nkf -jLm","\n.\r", "\r.\r",
+ "$nkf -jLm","\n.\r\n", "\r.\r",
+ "$nkf -jLm","\r", "\r",
+ "$nkf -jLm","\r\r", "\r\r",
+ "$nkf -jLm","\r\r\n", "\r\r",
+ "$nkf -jLm","\r.\n", "\r.\r",
+ "$nkf -jLm","\r.\r", "\r.\r",
+ "$nkf -jLm","\r.\r\n", "\r.\r",
+ "$nkf -jLm","\r\n", "\r",
+ "$nkf -jLm","\r\n\n", "\r\r",
+ "$nkf -jLm","\r\n\r", "\r\r",
+ "$nkf -jLm","\r\n\r\n", "\r\r",
+ "$nkf -jLm","\r\n.\n", "\r.\r",
+ "$nkf -jLm","\r\n.\r", "\r.\r",
+ "$nkf -jLm","\r\n.\r\n", "\r.\r");
+
+printf "%-40s", "Convert NL to CRLF";
+&command_tests(
+ "$nkf -jLw","none", "none",
+ "$nkf -jLw","\n", "\r\n",
+ "$nkf -jLw","\n\n", "\r\n\r\n",
+ "$nkf -jLw","\n\r", "\r\n\r\n",
+ "$nkf -jLw","\n\r\n", "\r\n\r\n",
+ "$nkf -jLw","\n.\n", "\r\n.\r\n",
+ "$nkf -jLw","\n.\r", "\r\n.\r\n",
+ "$nkf -jLw","\n.\r\n", "\r\n.\r\n",
+ "$nkf -jLw","\r", "\r\n",
+ "$nkf -jLw","\r\r", "\r\n\r\n",
+ "$nkf -jLw","\r\r\n", "\r\n\r\n",
+ "$nkf -jLw","\r.\n", "\r\n.\r\n",
+ "$nkf -jLw","\r.\r", "\r\n.\r\n",
+ "$nkf -jLw","\r.\r\n", "\r\n.\r\n",
+ "$nkf -jLw","\r\n", "\r\n",
+ "$nkf -jLw","\r\n\n", "\r\n\r\n",
+ "$nkf -jLw","\r\n\r", "\r\n\r\n",
+ "$nkf -jLw","\r\n\r\r\n", "\r\n\r\n\r\n",
+ "$nkf -jLw","\r\n.\n", "\r\n.\r\n",
+ "$nkf -jLw","\r\n.\r", "\r\n.\r\n",
+ "$nkf -jLw","\r\n.\r\n", "\r\n.\r\n");
+# end