editor/libeditor/tests/test_bug636465.xul
author Markus Stange <mstange@themasta.com>
Mon, 15 Jun 2015 19:20:59 -0400
changeset 249905 3f025568ad349d7b4a4da45feef6812c4e4d4101
parent 200232 8f48ab6499cfa2f071d8bb3c550884e94dbc7803
permissions -rw-r--r--
Bug 1165185 - Try to avoid invalidations when scrolling transformed elements. r=roc

<?xml version="1.0"?>
<?xml-stylesheet href="chrome://global/skin"
                 type="text/css"?>
<?xml-stylesheet href="chrome://mochikit/content/tests/SimpleTest/test.css"
                 type="text/css"?>
<!--
https://bugzilla.mozilla.org/show_bug.cgi?id=636465
-->
<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
        title="Mozilla Bug 636465" onload="runTest();">
  <script type="application/javascript"
          src="chrome://mochikit/content/tests/SimpleTest/EventUtils.js"/>
  <script type="application/javascript"
          src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"/>
  <script type="application/javascript"
          src="chrome://mochikit/content/tests/SimpleTest/WindowSnapshot.js"/>

  <body xmlns="http://www.w3.org/1999/xhtml">
  <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=636465"
     target="_blank">Mozilla Bug 636465</a>
  <p/>
  <p/>
  <pre id="test">
  </pre>
  </body>
  <textbox id="x" value="foobarbaz" spellcheck="true"/>
  <script class="testbody" type="application/javascript">
  <![CDATA[

  SimpleTest.waitForExplicitFinish();

  function runTest() {
    Components.utils.import("resource://gre/modules/AsyncSpellCheckTestHelper.jsm");
    var x = document.getElementById("x");
    x.focus();
    onSpellCheck(x, function () {
      x.blur();
      var spellCheckTrue = snapshotWindow(window);
      x.setAttribute("spellcheck", "false");
      var spellCheckFalse = snapshotWindow(window);
      x.setAttribute("spellcheck", "true");
      x.focus();
      onSpellCheck(x, function () {
        x.blur();
        var spellCheckTrueAgain = snapshotWindow(window);
        x.removeAttribute("spellcheck");
        var spellCheckNone = snapshotWindow(window);
        var after = snapshotWindow(window);
        ok(compareSnapshots(spellCheckTrue, spellCheckFalse, false)[0],
           "Setting the spellcheck attribute to false should work");
        ok(compareSnapshots(spellCheckTrue, spellCheckTrueAgain, true)[0],
           "Setting the spellcheck attribute back to true should work");
        ok(compareSnapshots(spellCheckNone, spellCheckFalse, true)[0],
           "Unsetting the spellcheck attribute should work");
        SimpleTest.finish();
      });
    });
  }
]]>
</script>
</window>