tor-browser

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

test_ncr_fallback.html (3333B)


      1 <!DOCTYPE HTML>
      2 <html>
      3 <!--
      4 https://bugzilla.mozilla.org/show_bug.cgi?id=1202366
      5 -->
      6 <head>
      7  <meta http-equiv="Content-type" content="text/html; charset=UTF-8">
      8  <title>Test for unpaired surrogates</title>
      9  <script src="/tests/SimpleTest/SimpleTest.js"></script>
     10  <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
     11 </head>
     12 <body onload="step()">
     13 <pre id="test">
     14 <script class="testbody" type="text/javascript">
     15 /* NOTE:
     16 * When we make our data: URL origin work as in Blink, this test will fail.
     17 * Don't let this test block alignment of data: URL origin with Blink.
     18 */
     19 SimpleTest.waitForExplicitFinish();
     20 
     21 var expectations = [
     22  "%26%2365533%3B",
     23  "a%26%2365533%3B",
     24  "%26%2365533%3Ba",
     25  "a%26%2365533%3Ba",
     26  "%26%2365533%3B",
     27  "a%26%2365533%3B",
     28  "%26%2365533%3Ba",
     29  "a%26%2365533%3Ba",
     30  "%26%23128169%3B",
     31  "%26%23128169%3B",
     32  "%1B%24B%22%29%1B%28B",
     33  "%1B%24B%22%29%1B%28B%26%23128169%3B",
     34 ];
     35 
     36 var i = 0;
     37 
     38 function step() {
     39  var f = document.getElementsByTagName("iframe")[i];
     40  f.onload = function() {
     41    var href = SpecialPowers.wrap(f).contentWindow.location.href;
     42    var index = href.indexOf("?foo=");
     43    var actual = href.substring(index + 5);
     44    var expected = expectations[i];
     45    is(actual, expected, "Should have gotten the expected encode.");
     46    i++
     47    if (i == document.getElementsByTagName("iframe").length) {
     48      SimpleTest.finish();
     49    } else {
     50      step();
     51    }    
     52  }
     53  SpecialPowers.wrap(f).contentDocument.forms[0].submit();
     54 }
     55 </script>
     56 </pre>
     57 <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1202366">Mozilla Bug 1202366</a>
     58 <p id="display"></p>
     59 <div id="content" style="display: none">
     60 <iframe src="data:text/html;charset=big5,<script>document.write('<form><input name=foo value=\uD83D></form>');</script>"></iframe>
     61 <iframe src="data:text/html;charset=big5,<script>document.write('<form><input name=foo value=a\uD83D></form>');</script>"></iframe>
     62 <iframe src="data:text/html;charset=big5,<script>document.write('<form><input name=foo value=\uD83Da></form>');</script>"></iframe>
     63 <iframe src="data:text/html;charset=big5,<script>document.write('<form><input name=foo value=a\uD83Da></form>');</script>"></iframe>
     64 <iframe src="data:text/html;charset=big5,<script>document.write('<form><input name=foo value=\uDCA9></form>');</script>"></iframe>
     65 <iframe src="data:text/html;charset=big5,<script>document.write('<form><input name=foo value=a\uDCA9></form>');</script>"></iframe>
     66 <iframe src="data:text/html;charset=big5,<script>document.write('<form><input name=foo value=\uDCA9a></form>');</script>"></iframe>
     67 <iframe src="data:text/html;charset=big5,<script>document.write('<form><input name=foo value=a\uDCA9a></form>');</script>"></iframe>
     68 <iframe src="data:text/html;charset=big5,<script>document.write('<form><input name=foo value=\uD83D\uDCA9></form>');</script>"></iframe>
     69 <iframe src="data:text/html;charset=iso-2022-jp,<script>document.write('<form><input name=foo value=\uD83D\uDCA9></form>');</script>"></iframe>
     70 <iframe src="data:text/html;charset=iso-2022-jp,<script>document.write('<form><input name=foo value=\u3012></form>');</script>"></iframe>
     71 <iframe src="data:text/html;charset=iso-2022-jp,<script>document.write('<form><input name=foo value=\u3012\uD83D\uDCA9></form>');</script>"></iframe>
     72 </div>
     73 </body>
     74 </html>