intl/uconv/tests/unit/test_bug365345.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.

michael@0 1 /* Tests conversion of unrepresented characters that should be transliterated
michael@0 2 * to spaces (bug 365345), and some others from transliterate.properties while
michael@0 3 * I'm here
michael@0 4 */
michael@0 5
michael@0 6 const inSpace = "Hello Space";
michael@0 7 const inEnSpace = "Hello\u2002EnSpace";
michael@0 8 const inEmSpace = "Hello\u2003EmSpace";
michael@0 9 const inEuro = "Hello\u20ACEuro";
michael@0 10 const inTamil1000 = "Hello\u0BF2Tamil1000";
michael@0 11 const inMonospace9 = "Hello\ud835\udfffMonospace9";
michael@0 12
michael@0 13 const expectedSpace = "Hello Space";
michael@0 14 const expectedEnSpace = "Hello EnSpace";
michael@0 15 const expectedEmSpace = "Hello EmSpace";
michael@0 16 const expectedEuro = "HelloEUREuro";
michael@0 17 const expectedTamil1000 = "Hello[1000]Tamil1000";
michael@0 18 const expectedMonospace9 = "Hello9Monospace9";
michael@0 19
michael@0 20 const EntityAfterCharsetConv = 512;
michael@0 21 const transliterate = 8;
michael@0 22
michael@0 23 const charset = "ISO-8859-1";
michael@0 24
michael@0 25 function run_test() {
michael@0 26 var SaveAsCharset =
michael@0 27 Components.Constructor("@mozilla.org/intl/saveascharset;1",
michael@0 28 "nsISaveAsCharset",
michael@0 29 "Init");
michael@0 30
michael@0 31 var converter = new SaveAsCharset(charset,
michael@0 32 EntityAfterCharsetConv,
michael@0 33 transliterate);
michael@0 34
michael@0 35 var outSpace = converter.Convert(inSpace);
michael@0 36 do_check_eq(outSpace, expectedSpace);
michael@0 37
michael@0 38 var outEnSpace = converter.Convert(inEnSpace);
michael@0 39 do_check_eq(outEnSpace, expectedEnSpace);
michael@0 40
michael@0 41 var outEmSpace = converter.Convert(inEmSpace);
michael@0 42 do_check_eq(outEmSpace, expectedEmSpace);
michael@0 43
michael@0 44 var outEuro = converter.Convert(inEuro);
michael@0 45 do_check_eq(outEuro, expectedEuro);
michael@0 46
michael@0 47 var outTamil1000 = converter.Convert(inTamil1000);
michael@0 48 do_check_eq(outTamil1000, expectedTamil1000);
michael@0 49
michael@0 50 var outMonospace9 = converter.Convert(inMonospace9);
michael@0 51 do_check_eq(outMonospace9, expectedMonospace9);
michael@0 52 }

mercurial