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 |