tor-browser

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

Node-isEqualNode-xhtml.xhtml (3010B)


      1 <html xmlns="http://www.w3.org/1999/xhtml">
      2 <head>
      3 <title>Node.isEqualNode</title>
      4 <script src="/resources/testharness.js"></script>
      5 <script src="/resources/testharnessreport.js"></script>
      6 </head>
      7 <body>
      8 <div id="log"/>
      9 <script>
     10 function testNullHandling(node) {
     11  test(function() {
     12    assert_false(node.isEqualNode(null))
     13    assert_false(node.isEqualNode(undefined))
     14  })
     15 }
     16 [
     17  document.createElement("foo"),
     18  document.createTextNode("foo"),
     19  document.createProcessingInstruction("foo", "bar"),
     20  document.createComment("foo"),
     21  document,
     22  document.implementation.createDocumentType("html", "", ""),
     23  document.createDocumentFragment()
     24 ].forEach(testNullHandling)
     25 
     26 test(function() {
     27  var a = document.createElement("foo")
     28  a.setAttribute("a", "bar")
     29  a.setAttribute("b", "baz")
     30  var b = document.createElement("foo")
     31  b.setAttribute("b", "baz")
     32  b.setAttribute("a", "bar")
     33  assert_true(a.isEqualNode(b))
     34 }, "isEqualNode should return true when the attributes are in a different order")
     35 
     36 test(function() {
     37  var a = document.createElementNS("ns", "prefix:foo")
     38  var b = document.createElementNS("ns", "prefix:foo")
     39  assert_true(a.isEqualNode(b))
     40 }, "isEqualNode should return true if elements have same namespace, prefix, and local name")
     41 
     42 test(function() {
     43  var a = document.createElementNS("ns1", "prefix:foo")
     44  var b = document.createElementNS("ns2", "prefix:foo")
     45  assert_false(a.isEqualNode(b))
     46 }, "isEqualNode should return false if elements have different namespace")
     47 
     48 test(function() {
     49  var a = document.createElementNS("ns", "prefix1:foo")
     50  var b = document.createElementNS("ns", "prefix2:foo")
     51  assert_false(a.isEqualNode(b))
     52 }, "isEqualNode should return false if elements have different prefix")
     53 
     54 test(function() {
     55  var a = document.createElementNS("ns", "prefix:foo1")
     56  var b = document.createElementNS("ns", "prefix:foo2")
     57  assert_false(a.isEqualNode(b))
     58 }, "isEqualNode should return false if elements have different local name")
     59 
     60 test(function() {
     61  var a = document.createElement("foo")
     62  a.setAttributeNS("ns", "x:a", "bar")
     63  var b = document.createElement("foo")
     64  b.setAttributeNS("ns", "y:a", "bar")
     65  assert_true(a.isEqualNode(b))
     66 }, "isEqualNode should return true when the attributes have different prefixes")
     67 var internalSubset = async_test("isEqualNode should return true when only the internal subsets of DocumentTypes differ.")
     68 var wait = 2;
     69 function iframeLoaded() {
     70  if (!--wait) {
     71    internalSubset.step(function() {
     72      var doc1 = document.getElementById("subset1").contentDocument
     73      var doc2 = document.getElementById("subset2").contentDocument
     74      assert_true(doc1.doctype.isEqualNode(doc2.doctype), "doc1.doctype.isEqualNode(doc2.doctype)")
     75      assert_true(doc1.isEqualNode(doc2), "doc1.isEqualNode(doc2)")
     76    })
     77    internalSubset.done()
     78  }
     79 }
     80 </script>
     81 <iframe id="subset1" onload="iframeLoaded()" src="Node-isEqualNode-iframe1.xml" />
     82 <iframe id="subset2" onload="iframeLoaded()" src="Node-isEqualNode-iframe2.xml" />
     83 </body>
     84 </html>