test_bug399257.js (1807B)
1 // Tests encoding of characters below U+0020 2 const inString = "Hello\u000aWorld"; 3 const expectedString = "Hello\nWorld"; 4 5 function run_test() { 6 var failures = false; 7 var encodingConverter = CreateScriptableConverter(); 8 9 var encoders = [ 10 "Big5", 11 "Big5-HKSCS", 12 "EUC-JP", 13 "EUC-KR", 14 "gb18030", 15 "gbk", 16 "IBM866", 17 "ISO-2022-JP", 18 "ISO-8859-1", 19 "ISO-8859-2", 20 "ISO-8859-3", 21 "ISO-8859-4", 22 "ISO-8859-5", 23 "ISO-8859-6", 24 "ISO-8859-7", 25 "ISO-8859-8", 26 "ISO-8859-8-I", 27 "ISO-8859-10", 28 "ISO-8859-13", 29 "ISO-8859-14", 30 "ISO-8859-15", 31 "ISO-8859-16", 32 "KOI8-R", 33 "KOI8-U", 34 "Shift_JIS", 35 "windows-1250", 36 "windows-1251", 37 "windows-1252", 38 "windows-1253", 39 "windows-1254", 40 "windows-1255", 41 "windows-1256", 42 "windows-1257", 43 "windows-1258", 44 "windows-874", 45 "macintosh", 46 "x-mac-cyrillic", 47 "x-user-defined", 48 "UTF-8", 49 ]; 50 51 var counter = 0; 52 while (counter < encoders.length) { 53 var charset = encoders[counter++]; 54 dump("testing " + counter + " " + charset + "\n"); 55 56 encodingConverter.charset = charset; 57 var codepageString = 58 encodingConverter.ConvertFromUnicode(inString) + 59 encodingConverter.Finish(); 60 if (codepageString != expectedString) { 61 dump(charset + " encoding failed\n"); 62 for (var i = 0; i < expectedString.length; ++i) { 63 if (codepageString.charAt(i) != expectedString.charAt(i)) { 64 dump( 65 i.toString(16) + 66 ": 0x" + 67 codepageString.charCodeAt(i).toString(16) + 68 " != " + 69 expectedString.charCodeAt(i).toString(16) + 70 "\n" 71 ); 72 } 73 } 74 failures = true; 75 } 76 } 77 if (failures) { 78 do_throw("test failed\n"); 79 } 80 }