intl/uconv/tests/unit/CharsetConversionTests.js

branch
TOR_BUG_9701
changeset 15
b8a032363ba2
equal deleted inserted replaced
-1:000000000000 0:966da0b8e524
1 const Ci = Components.interfaces;
2 const Cc = Components.classes;
3 const CC = Components.Constructor;
4
5 function CreateScriptableConverter()
6 {
7 var ScriptableUnicodeConverter =
8 CC("@mozilla.org/intl/scriptableunicodeconverter",
9 "nsIScriptableUnicodeConverter");
10
11 return new ScriptableUnicodeConverter();
12 }
13
14 function checkDecode(converter, charset, inText, expectedText)
15 {
16 try {
17 converter.charset = charset;
18 } catch(e) {
19 converter.charset = "iso-8859-1";
20 }
21
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 }
30
31 function checkEncode(converter, charset, inText, expectedText)
32 {
33 try {
34 converter.charset = charset;
35 } catch(e) {
36 converter.charset = "iso-8859-1";
37 }
38
39 dump("testing encoding from Unicode to " + charset + "\n");
40 var outText = converter.ConvertFromUnicode(inText) + converter.Finish();
41 do_check_eq(outText, expectedText);
42 }
43
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 }
51
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 }
59
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 }
68
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