1#!/usr/bin/perl -w 2 3# This script is written in utf8 4 5use strict; 6use warnings; 7 8use Test::More tests => 14; 9#use Test::More 'no_plan'; 10BEGIN { use_ok('MIME::EcoEncode::Fold') }; 11 12use Encode; 13use MIME::EcoEncode::Fold; 14 15my $in_utf8; 16my $out_utf8; 17my $in; 18my $out; 19my $str; 20 21$in_utf8 =<<"END"; 22 23あああ00000aaaaaaあああ00000aaaaaaアアア00000aaあああ 24アアア00000aaaaaaaあああ00000aaaaaaaあああ00000aaaaアア 2500000aaaaaa00000aaaaaaaaa00000aaaaaaaaaaaaaaa00000 26END 27 28 29# 30# test 2 31# 32$out_utf8 =<<"END"; 33 34あああ00000aaaaaaあああ0 350000aaaaaaアアア00000aaあ 36ああ 37アアア00000aaaaaaaあああ 3800000aaaaaaaあああ00000aaa 39aアア 4000000aaaaaa00000aaaaaaaaa00000 41aaaaaaaaaaaaaaa00000 42END 43$in = $in_utf8; 44$out = $out_utf8; 45is(mime_eco_fold($in, 'UTF-8', "\n", 30), $out, 46 'UTF-8 "\n" 30'); 47 48# 49# test 3 50# 51$out_utf8 =<<"END"; 52 53あああ00000aaaaaaあああ0 54 0000aaaaaaアアア00000aa 55 あああ 56アアア00000aaaaaaaあああ 57 00000aaaaaaaあああ00000aa 58 aaアア 5900000aaaaaa00000aaaaaaaaa00000 60 aaaaaaaaaaaaaaa00000 61END 62$in = $in_utf8; 63$out = $out_utf8; 64is(mime_eco_fold($in, 'UTF-8', undef, 30), $out, 65 'UTF-8 undef 30'); 66 67# 68# test 4 69# 70$out_utf8 =<<"END"; 71 72あああ00000aaaaaa 73あああ00000aaaaaaア 74アア00000aaあああ 75アアア00000aaaaaaaあ 76ああ00000aaaaaaaあ 77ああ00000aaaaアア 7800000aaaaaa00000aaaaaaaaa00000 79aaaaaaaaaaaaaaa00000 80END 81$in = encode('7bit-jis', decode_utf8($in_utf8)); 82$out = encode('7bit-jis', decode_utf8($out_utf8)); 83is(mime_eco_fold($in, 'ISO-2022-JP', "\n", 30), $out, 84 'ISO-2022-JP "\n" 30'); 85 86# 87# test 5 88# 89$out_utf8 =<<"END"; 90 91あああ00000aaaaaa 92 あああ00000aaaaaa 93 アアア00000aaあああ 94アアア00000aaaaaaaあ 95 ああ00000aaaaaaa 96 あああ00000aaaaアア 9700000aaaaaa00000aaaaaaaaa00000 98 aaaaaaaaaaaaaaa00000 99END 100$in = encode('7bit-jis', decode_utf8($in_utf8)); 101$out = encode('7bit-jis', decode_utf8($out_utf8)); 102is(mime_eco_fold($in, 'ISO-2022-JP', undef, 30), $out, 103 'ISO-2022-JP undef 30'); 104 105 106# 107# test 6 108# 109$out_utf8 =<<"END"; 110 111あああ00000aaaaaaあああ00000aa 112aaaaアアア00000aaあああ 113アアア00000aaaaaaaあああ00000aaaa 114aaaあああ00000aaaaアア 11500000aaaaaa00000aaaaaaaaa00000 116aaaaaaaaaaaaaaa00000 117END 118$in = encode('cp932', decode_utf8($in_utf8)); 119$out = encode('cp932', decode_utf8($out_utf8)); 120is(mime_eco_fold($in, 'Shift_JIS', "\n", 30), $out, 121 'Shift_JIS "\n" 30'); 122 123 124# 125# test 7 126# 127$out_utf8 =<<"END"; 128 129あああ00000aaaaaaあああ00000aa 130 aaaaアアア00000aaあああ 131アアア00000aaaaaaaあああ00000aaaa 132 aaaあああ00000aaaaアア 13300000aaaaaa00000aaaaaaaaa00000 134 aaaaaaaaaaaaaaa00000 135END 136$in = encode('cp932', decode_utf8($in_utf8)); 137$out = encode('cp932', decode_utf8($out_utf8)); 138is(mime_eco_fold($in, 'Shift_JIS', undef, 30), $out, 139 'Shift_JIS undef 30'); 140 141 142$str = " \n "; 143is(mime_eco_fold($str, 'UTF-8', undef, 30), $str, 'SP + "\n" + SP'); 144 145$str = ""; 146is(mime_eco_fold($str, 'UTF-8', undef, 30), $str, 'zero length'); 147 148$str = undef; 149is(mime_eco_fold($str, 'UTF-8', undef, 30), "", 'undef'); 150 151$str = "test0\x0d"; 152is(mime_eco_fold($str, 'UTF-8', undef, 30), $str, '\x0d'); 153 154$str = "test0\x0a"; 155is(mime_eco_fold($str, 'UTF-8', undef, 30), $str, '\x0a'); 156 157$str = "test0\x0d\x0a"; 158is(mime_eco_fold($str, 'UTF-8', undef, 30), $str, '\x0d\x0a'); 159 160$in = "00000aaaaaa00000aaaaaaaaa00000aaaaaaaaaaaaaaa00000"; 161$out = "00000aaaaaa00000aaaaaaaaa00000\n aaaaaaaaaaaaaaa00000"; 162is(mime_eco_fold($in, 'UTF-8', undef, 30), $out, 'ASCII'); 163