| 5107 | self.assertLessEqual(len(l), 76) |
| 5108 | |
| 5109 | def test_multilingual(self): |
| 5110 | eq = self.ndiffAssertEqual |
| 5111 | g = Charset("iso-8859-1") |
| 5112 | cz = Charset("iso-8859-2") |
| 5113 | utf8 = Charset("utf-8") |
| 5114 | g_head = (b'Die Mieter treten hier ein werden mit einem ' |
| 5115 | b'Foerderband komfortabel den Korridor entlang, ' |
| 5116 | b'an s\xfcdl\xfcndischen Wandgem\xe4lden vorbei, ' |
| 5117 | b'gegen die rotierenden Klingen bef\xf6rdert. ') |
| 5118 | cz_head = (b'Finan\xe8ni metropole se hroutily pod tlakem jejich ' |
| 5119 | b'd\xf9vtipu.. ') |
| 5120 | utf8_head = ('\u6b63\u78ba\u306b\u8a00\u3046\u3068\u7ffb\u8a33\u306f' |
| 5121 | '\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002\u4e00' |
| 5122 | '\u90e8\u306f\u30c9\u30a4\u30c4\u8a9e\u3067\u3059\u304c' |
| 5123 | '\u3001\u3042\u3068\u306f\u3067\u305f\u3089\u3081\u3067' |
| 5124 | '\u3059\u3002\u5b9f\u969b\u306b\u306f\u300cWenn ist das ' |
| 5125 | 'Nunstuck git und Slotermeyer? Ja! Beiherhund das Oder ' |
| 5126 | 'die Flipperwaldt gersput.\u300d\u3068\u8a00\u3063\u3066' |
| 5127 | '\u3044\u307e\u3059\u3002') |
| 5128 | h = Header(g_head, g) |
| 5129 | h.append(cz_head, cz) |
| 5130 | h.append(utf8_head, utf8) |
| 5131 | enc = h.encode(maxlinelen=76) |
| 5132 | eq(enc, """\ |
| 5133 | =?iso-8859-1?q?Die_Mieter_treten_hier_ein_werden_mit_einem_Foerderband_kom?= |
| 5134 | =?iso-8859-1?q?fortabel_den_Korridor_entlang=2C_an_s=FCdl=FCndischen_Wand?= |
| 5135 | =?iso-8859-1?q?gem=E4lden_vorbei=2C_gegen_die_rotierenden_Klingen_bef=F6r?= |
| 5136 | =?iso-8859-1?q?dert=2E_?= =?iso-8859-2?q?Finan=E8ni_metropole_se_hroutily?= |
| 5137 | =?iso-8859-2?q?_pod_tlakem_jejich_d=F9vtipu=2E=2E_?= =?utf-8?b?5q2j56K6?= |
| 5138 | =?utf-8?b?44Gr6KiA44GG44Go57+76Kiz44Gv44GV44KM44Gm44GE44G+44Gb44KT44CC?= |
| 5139 | =?utf-8?b?5LiA6YOo44Gv44OJ44Kk44OE6Kqe44Gn44GZ44GM44CB44GC44Go44Gv44Gn?= |
| 5140 | =?utf-8?b?44Gf44KJ44KB44Gn44GZ44CC5a6f6Zqb44Gr44Gv44CMV2VubiBpc3QgZGFz?= |
| 5141 | =?utf-8?b?IE51bnN0dWNrIGdpdCB1bmQgU2xvdGVybWV5ZXI/IEphISBCZWloZXJodW5k?= |
| 5142 | =?utf-8?b?IGRhcyBPZGVyIGRpZSBGbGlwcGVyd2FsZHQgZ2Vyc3B1dC7jgI3jgajoqIA=?= |
| 5143 | =?utf-8?b?44Gj44Gm44GE44G+44GZ44CC?=""") |
| 5144 | decoded = decode_header(enc) |
| 5145 | eq(len(decoded), 3) |
| 5146 | eq(decoded[0], (g_head, 'iso-8859-1')) |
| 5147 | eq(decoded[1], (cz_head, 'iso-8859-2')) |
| 5148 | eq(decoded[2], (utf8_head.encode('utf-8'), 'utf-8')) |
| 5149 | ustr = str(h) |
| 5150 | eq(ustr, |
| 5151 | (b'Die Mieter treten hier ein werden mit einem Foerderband ' |
| 5152 | b'komfortabel den Korridor entlang, an s\xc3\xbcdl\xc3\xbcndischen ' |
| 5153 | b'Wandgem\xc3\xa4lden vorbei, gegen die rotierenden Klingen ' |
| 5154 | b'bef\xc3\xb6rdert. Finan\xc4\x8dni metropole se hroutily pod ' |
| 5155 | b'tlakem jejich d\xc5\xafvtipu.. \xe6\xad\xa3\xe7\xa2\xba\xe3\x81' |
| 5156 | b'\xab\xe8\xa8\x80\xe3\x81\x86\xe3\x81\xa8\xe7\xbf\xbb\xe8\xa8\xb3' |
| 5157 | b'\xe3\x81\xaf\xe3\x81\x95\xe3\x82\x8c\xe3\x81\xa6\xe3\x81\x84\xe3' |
| 5158 | b'\x81\xbe\xe3\x81\x9b\xe3\x82\x93\xe3\x80\x82\xe4\xb8\x80\xe9\x83' |
| 5159 | b'\xa8\xe3\x81\xaf\xe3\x83\x89\xe3\x82\xa4\xe3\x83\x84\xe8\xaa\x9e' |
| 5160 | b'\xe3\x81\xa7\xe3\x81\x99\xe3\x81\x8c\xe3\x80\x81\xe3\x81\x82\xe3' |
| 5161 | b'\x81\xa8\xe3\x81\xaf\xe3\x81\xa7\xe3\x81\x9f\xe3\x82\x89\xe3\x82' |
| 5162 | b'\x81\xe3\x81\xa7\xe3\x81\x99\xe3\x80\x82\xe5\xae\x9f\xe9\x9a\x9b' |
| 5163 | b'\xe3\x81\xab\xe3\x81\xaf\xe3\x80\x8cWenn ist das Nunstuck git ' |
| 5164 | b'und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt ' |
| 5165 | b'gersput.\xe3\x80\x8d\xe3\x81\xa8\xe8\xa8\x80\xe3\x81\xa3\xe3\x81' |
| 5166 | b'\xa6\xe3\x81\x84\xe3\x81\xbe\xe3\x81\x99\xe3\x80\x82' |