intl/uconv/tests/unit/CharsetConversionTests.js

Wed, 31 Dec 2014 06:09:35 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 06:09:35 +0100
changeset 0
6474c204b198
permissions
-rw-r--r--

Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.

     1 const Ci = Components.interfaces;
     2 const Cc = Components.classes;
     3 const CC = Components.Constructor;
     5 function CreateScriptableConverter()
     6 {
     7   var ScriptableUnicodeConverter = 
     8     CC("@mozilla.org/intl/scriptableunicodeconverter",
     9        "nsIScriptableUnicodeConverter");
    11   return new ScriptableUnicodeConverter();
    12 }
    14 function checkDecode(converter, charset, inText, expectedText)
    15 {
    16   try {
    17     converter.charset = charset;
    18   } catch(e) {
    19     converter.charset = "iso-8859-1";
    20   }
    22   dump("testing decoding from " + charset + " to Unicode.\n");
    23   try {
    24     var outText = converter.ConvertToUnicode(inText) + converter.Finish();
    25   } catch(e) {
    26     outText = "\ufffd";
    27   }
    28   do_check_eq(outText, expectedText);
    29 }
    31 function checkEncode(converter, charset, inText, expectedText)
    32 {
    33   try {
    34     converter.charset = charset;
    35   } catch(e) {
    36     converter.charset = "iso-8859-1";
    37   }
    39   dump("testing encoding from Unicode to " + charset + "\n");
    40   var outText = converter.ConvertFromUnicode(inText) + converter.Finish();
    41   do_check_eq(outText, expectedText);
    42 }
    44 function testDecodeAliases()
    45 {
    46   var converter = CreateScriptableConverter();
    47   for (var i = 0; i < aliases.length; ++i) {
    48     checkDecode(converter, aliases[i], inString, expectedString);
    49   }
    50 }
    52 function testEncodeAliases()
    53 {
    54   var converter = CreateScriptableConverter();
    55   for (var i = 0; i < aliases.length; ++i) {
    56     checkEncode(converter, aliases[i], inString, expectedString);
    57   }
    58 }
    60 function testDecodeAliasesInternal()
    61 {
    62   var converter = CreateScriptableConverter();
    63   converter.isInternal = true;
    64   for (var i = 0; i < aliases.length; ++i) {
    65     checkDecode(converter, aliases[i], inString, expectedString);
    66   }
    67 }
    69 function testEncodeAliasesInternal()
    70 {
    71   var converter = CreateScriptableConverter();
    72   converter.isInternal = true;
    73   for (var i = 0; i < aliases.length; ++i) {
    74     checkEncode(converter, aliases[i], inString, expectedString);
    75   }
    76 }

mercurial