tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

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 }