dom/base/test/test_bug1075702.html
author Nicholas Nethercote <nnethercote@mozilla.com>
Mon, 05 Oct 2015 16:59:32 -0700
changeset 301715 3897da20e42dec0bcf73987af1eaac4f8ce950b8
parent 298980 40f004f4651bb8e98fb20cf11e8b56cd500bc30b
child 311707 dabb511539a38e3d39a0df924efc4156e164e2e0
permissions -rw-r--r--
Bug 1211324 (part 3) - Remove GraphicsFilter::FILTER_FAST and replace it with FILTER_BEST. r=mattwoodrow. This may sound like an odd change but it's what the current code effectively already does due to the way ToFilter() and ThebesFilter() are defined.

<!DOCTYPE HTML>
<html>
<!--
https://bugzilla.mozilla.org/show_bug.cgi?id=1075702
-->
<head>
  <meta charset="utf-8">
  <title> Test for Bug 1075702 </title>
  <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"> </script>
  <script type="application/javascript" src="/tests/SimpleTest/EventUtils.js"> </script>
  <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
</head>
<body>
<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1075702"> Mozilla Bug 1075702 </a>
<p id="display"></p>

<pre id="test">
<script type="application/javascript">

  /** Test for Bug 1075702 **/
  // test: Element.removeAttributeNode()

  var a1 = document.createAttribute("aa");
  a1.nodeValue = "lowercase";

  var a2 = document.createAttributeNS("", "AA");
  a2.nodeValue = "UPPERCASE";

  document.documentElement.setAttributeNode(a1);
  document.documentElement.setAttributeNode(a2);

  is(document.documentElement.getAttributeNS("", "aa"), null, "Should be NULL!");
  is(document.documentElement.getAttributeNS("", "AA"), "UPPERCASE", "Should be UPPERCASE!");

  var a3 = document.createAttribute("AA");
  a3.nodeValue = "UPPERCASE AGAIN";
  document.documentElement.setAttributeNode(a3);

  is(document.documentElement.getAttributeNS("", "aa"), "UPPERCASE AGAIN",
  "Should be UPPERCASE AGAIN!");
  is(document.documentElement.getAttributeNS("", "AA"), "UPPERCASE", "Should be UPPERCASE!");

  var removedNodeAccordingToEvent;

  function mutationHandler(aEvent) {
    removedNodeAccordingToEvent = aEvent.relatedNode;
  }

  var test1 = document.createElement("div");
  test1.setAttribute("x", "y");
  removedNodeAccordingToEvent = null;

  function testremoveNamedItemNS() {
    test1.addEventListener("DOMAttrModified", mutationHandler, true);
    var removedNodeAccordingToRemoveNamedItemNS = test1.attributes.removeNamedItemNS(null, "x");
    test1.removeEventListener("DOMAttrModified", mutationHandler, true);
    is(removedNodeAccordingToEvent, removedNodeAccordingToRemoveNamedItemNS, "Node removed according to event is not same as node removed by removeNamedItemNS.");
  }

  testremoveNamedItemNS();

  var test2 = document.createElement("div");
  test2.setAttribute("x", "y");
  removedNodeAccordingToEvent = null;

  function testremoveNamedItem() {
    test2.addEventListener("DOMAttrModified", mutationHandler, true);
    var removedNodeAccordingToRemoveNamedItem = test2.attributes.removeNamedItem("x");
    test2.removeEventListener("DOMAttrModified", mutationHandler, true);
    is(removedNodeAccordingToEvent, removedNodeAccordingToRemoveNamedItem, "Node removed according to event is not same as node removed by removeNamedItem.");
  }

  testremoveNamedItem();

</script>
</body>
</html>