Bug 457886 - Cannot send ISO-2022-JP email on Tb trunk; r=smontagu sr=bienvenu

This commit is contained in:
Masatoshi Kimura 2008-10-11 02:52:24 +02:00
Родитель 5d356eb5fe
Коммит 0cd9ac9d14
2 изменённых файлов: 21 добавлений и 1 удалений

Просмотреть файл

@ -0,0 +1,20 @@
// Tests conversion from Unicode to ISO-2022-JP
const inString = "\u3042\u3044\u3046\u3048\u304A\u000D\u000A\u304B\u304D\u304F\u3051\u3053";
const expectedString = "\x1B$B$\"$$$&$($*\x1B(B\x0D\x0A\x1B$B$+$-$/$1$3\x1B(B";
const charset = "ISO-2022-JP";
function run_test()
{
var ScriptableUnicodeConverter =
Components.Constructor("@mozilla.org/intl/scriptableunicodeconverter",
"nsIScriptableUnicodeConverter");
var converter = new ScriptableUnicodeConverter();
converter.charset = charset;
var outString = converter.ConvertFromUnicode(inString) + converter.Finish();
do_check_eq(outString, expectedString);
}

Просмотреть файл

@ -62,7 +62,7 @@ nsresult nsUnicodeEncodeHelper::ConvertByTable(
while (src < srcEnd) {
if (!uMapCode((uTable*) aMappingTable, static_cast<PRUnichar>(*(src++)), reinterpret_cast<PRUint16*>(&med))) {
if (*(src - 1) < 0x20) {
if (aScanClass == u1ByteCharset && *(src - 1) < 0x20) {
// some tables are missing the 0x00 - 0x20 part
med = *(src - 1);
} else {