tor-browser

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

Element-insertAdjacentElement.html (3552B)


      1 <!doctype html>
      2 <meta charset=utf-8>
      3 <title></title>
      4 <script src=/resources/testharness.js></script>
      5 <script src=/resources/testharnessreport.js></script>
      6 
      7 <div id="target"></div>
      8 <div id="parent"><span id=target2></span></div>
      9 <div id="log" style="visibility:visible"></div>
     10 <span id="test1"></span>
     11 <span id="test2"></span>
     12 <span id="test3"></span>
     13 <span id="test4"></span>
     14 <script>
     15 var target = document.getElementById("target");
     16 var target2 = document.getElementById("target2");
     17 
     18 test(function() {
     19  assert_throws_dom("SyntaxError", function() {
     20    target.insertAdjacentElement("test", document.getElementById("test1"))
     21  });
     22 
     23  assert_throws_dom("SyntaxError", function() {
     24    target2.insertAdjacentElement("test", document.getElementById("test1"))
     25  });
     26 }, "Inserting to an invalid location should cause a Syntax Error exception")
     27 
     28 test(function() {
     29  var el = target.insertAdjacentElement("beforebegin", document.getElementById("test1"));
     30  assert_equals(target.previousSibling.id, "test1");
     31  assert_equals(el.id, "test1");
     32 
     33  el = target2.insertAdjacentElement("beforebegin", document.getElementById("test1"));
     34  assert_equals(target2.previousSibling.id, "test1");
     35  assert_equals(el.id, "test1");
     36 }, "Inserted element should be target element's previous sibling for 'beforebegin' case")
     37 
     38 test(function() {
     39  var el = target.insertAdjacentElement("afterbegin", document.getElementById("test2"));
     40  assert_equals(target.firstChild.id, "test2");
     41  assert_equals(el.id, "test2");
     42 
     43  el = target2.insertAdjacentElement("afterbegin", document.getElementById("test2"));
     44  assert_equals(target2.firstChild.id, "test2");
     45  assert_equals(el.id, "test2");
     46 }, "Inserted element should be target element's first child for 'afterbegin' case")
     47 
     48 test(function() {
     49  var el = target.insertAdjacentElement("beforeend", document.getElementById("test3"));
     50  assert_equals(target.lastChild.id, "test3");
     51  assert_equals(el.id, "test3");
     52 
     53  el = target2.insertAdjacentElement("beforeend", document.getElementById("test3"));
     54  assert_equals(target2.lastChild.id, "test3");
     55  assert_equals(el.id, "test3");
     56 }, "Inserted element should be target element's last child for 'beforeend' case")
     57 
     58 test(function() {
     59  var el = target.insertAdjacentElement("afterend", document.getElementById("test4"));
     60  assert_equals(target.nextSibling.id, "test4");
     61  assert_equals(el.id, "test4");
     62 
     63  el = target2.insertAdjacentElement("afterend", document.getElementById("test4"));
     64  assert_equals(target2.nextSibling.id, "test4");
     65  assert_equals(el.id, "test4");
     66 }, "Inserted element should be target element's next sibling for 'afterend' case")
     67 
     68 test(function() {
     69  var docElement = document.documentElement;
     70  docElement.style.visibility="hidden";
     71 
     72  assert_throws_dom("HierarchyRequestError", function() {
     73    var el = docElement.insertAdjacentElement("beforebegin", document.getElementById("test1"));
     74    assert_equals(el, null);
     75  });
     76 
     77  var el = docElement.insertAdjacentElement("afterbegin", document.getElementById("test2"));
     78  assert_equals(docElement.firstChild.id, "test2");
     79  assert_equals(el.id, "test2");
     80 
     81  el = docElement.insertAdjacentElement("beforeend", document.getElementById("test3"));
     82  assert_equals(docElement.lastChild.id, "test3");
     83  assert_equals(el.id, "test3");
     84 
     85  assert_throws_dom("HierarchyRequestError", function() {
     86    var el = docElement.insertAdjacentElement("afterend", document.getElementById("test4"));
     87    assert_equals(el, null);
     88  });
     89 }, "Adding more than one child to document should cause a HierarchyRequestError exception")
     90 
     91 </script>