content/base/test/chrome/file_bug616841.xul

changeset 0
6474c204b198
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/content/base/test/chrome/file_bug616841.xul	Wed Dec 31 06:09:35 2014 +0100
     1.3 @@ -0,0 +1,63 @@
     1.4 +<?xml version="1.0"?>
     1.5 +<?xml-stylesheet href="chrome://global/skin" type="text/css"?>
     1.6 +<?xml-stylesheet href="chrome://mochikit/content/tests/SimpleTest/test.css"
     1.7 +                 type="text/css"?>
     1.8 +<!--
     1.9 +https://bugzilla.mozilla.org/show_bug.cgi?id=616841
    1.10 +-->
    1.11 +<window title="Mozilla Bug 616841"
    1.12 +  xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
    1.13 +  onload="start()">
    1.14 +  <label value="Mozilla Bug 616841"/>
    1.15 +  <!-- test code goes here -->
    1.16 +  <script type="application/javascript"><![CDATA[
    1.17 +
    1.18 +    const FRAME_SCRIPT = 
    1.19 +"data:,addMessageListener(\n"+
    1.20 +"  'cmp',\n"+
    1.21 +"  function (m) {\n"+
    1.22 +"    sendAsyncMessage('cmp', { i: m.json.i,\n"+
    1.23 +"                              cmp: m.json.a.localeCompare(m.json.b) });\n"+
    1.24 +"  });\n"+
    1.25 +"sendAsyncMessage('contentReady');";
    1.26 +
    1.27 +    var toCompare = [ [ "C", "D" ],
    1.28 +                      [ "D", "C" ],
    1.29 +                      [ "\u010C", "D" ],
    1.30 +                      [ "D", "\u010C" ] ];
    1.31 +    var nCmps = 0;
    1.32 +
    1.33 +    function recvContentReady(m) {
    1.34 +      for (var i = 0; i < toCompare.length; ++i) {
    1.35 +        var pair = toCompare[i];
    1.36 +        messageManager.broadcastAsyncMessage("cmp",
    1.37 +                                             { i: i, a: pair[0], b: pair[1] });
    1.38 +      }
    1.39 +    }
    1.40 +
    1.41 +    function recvCmp(m) {
    1.42 +      var i = m.json.i, cmp = m.json.cmp;
    1.43 +      var pair = toCompare[i];
    1.44 +      opener.wrappedJSObject.is(pair[0].localeCompare(pair[1]), cmp, "localeCompare returned same result in frame script");
    1.45 +
    1.46 +      if (toCompare.length == ++nCmps) {
    1.47 +         messageManager.removeMessageListener("cmp", recvCmp);
    1.48 +        finish();
    1.49 +      }
    1.50 +    }
    1.51 +
    1.52 +    function start() {
    1.53 +      messageManager.addMessageListener("contentReady", recvContentReady);
    1.54 +      messageManager.addMessageListener("cmp", recvCmp);
    1.55 +      messageManager.loadFrameScript(FRAME_SCRIPT, true);
    1.56 +    }
    1.57 +
    1.58 +    function finish() {
    1.59 +      opener.setTimeout("done()", 0);
    1.60 +      window.close();
    1.61 +    }
    1.62 +
    1.63 +  ]]></script>
    1.64 +
    1.65 +  <browser id="browser" type="content" src="about:blank"/>
    1.66 +</window>

mercurial