OLD | NEW |
(Empty) | |
| 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("SyntaxError", function() { |
| 20 target.insertAdjacentElement("test", document.getElementById("test1")) |
| 21 }); |
| 22 |
| 23 assert_throws("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("tes
t1")); |
| 34 assert_equals(target2.previousSibling.id, "test1"); |
| 35 assert_equals(el.id, "test1"); |
| 36 }, "Inserted element should be target element's previous sibling for 'beforebegi
n' case") |
| 37 |
| 38 test(function() { |
| 39 var el = target.insertAdjacentElement("afterbegin", document.getElementById("t
est2")); |
| 40 assert_equals(target.firstChild.id, "test2"); |
| 41 assert_equals(el.id, "test2"); |
| 42 |
| 43 el = target2.insertAdjacentElement("afterbegin", document.getElementById("test
2")); |
| 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' cas
e") |
| 47 |
| 48 test(function() { |
| 49 var el = target.insertAdjacentElement("beforeend", document.getElementById("te
st3")); |
| 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("tes
t4")); |
| 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("HierarchyRequestError", function() { |
| 73 var el = docElement.insertAdjacentElement("beforebegin", document.getElement
ById("test1")); |
| 74 assert_equals(el, null); |
| 75 }); |
| 76 |
| 77 var el = docElement.insertAdjacentElement("afterbegin", document.getElementByI
d("test2")); |
| 78 assert_equals(docElement.firstChild.id, "test2"); |
| 79 assert_equals(el.id, "test2"); |
| 80 |
| 81 el = docElement.insertAdjacentElement("beforeend", document.getElementById("te
st3")); |
| 82 assert_equals(docElement.lastChild.id, "test3"); |
| 83 assert_equals(el.id, "test3"); |
| 84 |
| 85 assert_throws("HierarchyRequestError", function() { |
| 86 var el = docElement.insertAdjacentElement("afterend", document.getElementByI
d("test4")); |
| 87 assert_equals(el, null); |
| 88 }); |
| 89 }, "Adding more than one child to document should cause a HierarchyRequestError
exception") |
| 90 |
| 91 </script> |
OLD | NEW |