docshell/test/browser/browser_bug92473.js

Thu, 22 Jan 2015 13:21:57 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Thu, 22 Jan 2015 13:21:57 +0100
branch
TOR_BUG_9701
changeset 15
b8a032363ba2
permissions
-rw-r--r--

Incorporate requested changes from Mozilla in review:
https://bugzilla.mozilla.org/show_bug.cgi?id=1123480#c6

     1 /* The test text as octets for reference
     2  * %83%86%83%6a%83%52%81%5b%83%68%82%cd%81%41%82%b7%82%d7%82%c4%82%cc%95%b6%8e%9a%82%c9%8c%c5%97%4c%82%cc%94%d4%8d%86%82%f0%95%74%97%5e%82%b5%82%dc%82%b7
     3  */
     5 /* The test text decoded correctly as Shift_JIS */
     6 const rightText="\u30E6\u30CB\u30B3\u30FC\u30C9\u306F\u3001\u3059\u3079\u3066\u306E\u6587\u5B57\u306B\u56FA\u6709\u306E\u756A\u53F7\u3092\u4ED8\u4E0E\u3057\u307E\u3059";
     8 /* The test text decoded incorrectly as Windows-1251. This is the "right" wrong
     9    text; anything else is unexpected. */
    10 const wrongText="\u0453\u2020\u0453\u006A\u0453\u0052\u0403\u005B\u0453\u0068\u201A\u041D\u0403\u0041\u201A\u00B7\u201A\u0427\u201A\u0414\u201A\u041C\u2022\u00B6\u040B\u0459\u201A\u0419\u040A\u0415\u2014\u004C\u201A\u041C\u201D\u0424\u040C\u2020\u201A\u0440\u2022\u0074\u2014\u005E\u201A\u00B5\u201A\u042C\u201A\u00B7";
    12 function testContent(text) {
    13   is(gBrowser.contentDocument.getElementById("testpar").innerHTML, text,
    14      "<p> contains expected text");
    15   is(gBrowser.contentDocument.getElementById("testtextarea").innerHTML, text,
    16      "<textarea> contains expected text");
    17   is(gBrowser.contentDocument.getElementById("testinput").value, text,
    18      "<input> contains expected text");
    19 }
    21 function afterOpen() {
    22   gBrowser.selectedBrowser.removeEventListener("load", afterOpen, true);
    23   gBrowser.selectedBrowser.addEventListener("load", afterChangeCharset, true);
    25   /* Test that the content on load is the expected wrong decoding */
    26   testContent(wrongText);
    28   /* Force the page encoding to Shift_JIS */
    29   BrowserSetForcedCharacterSet("Shift_JIS");
    30 }
    32 function afterChangeCharset() {
    33   gBrowser.selectedBrowser.removeEventListener("load", afterChangeCharset, true);
    35   /* test that the content is decoded correctly */
    36   testContent(rightText);
    37   gBrowser.removeCurrentTab();
    38   finish();
    39 }
    41 function test() {
    42   waitForExplicitFinish();
    44   // Get the local directory. This needs to be a file: URI because chrome: URIs
    45   // are always UTF-8 (bug 617339) and we are testing decoding from other
    46   // charsets.
    47   var jar = getJar(getRootDirectory(gTestPath));
    48   var dir = jar ?
    49               extractJarToTmp(jar) :
    50               getChromeDir(getResolvedURI(gTestPath));
    51   var rootDir = Services.io.newFileURI(dir).spec;
    53   gBrowser.selectedTab = gBrowser.addTab(rootDir + "test-form_sjis.html");
    54   gBrowser.selectedBrowser.addEventListener("load", afterOpen, true);
    55 }

mercurial