OLD | NEW |
1 <html> | 1 <html> |
2 <head> | 2 <head> |
3 <title>Test for Range.compareNode()</title> | 3 <title>Test for Range.compareNode()</title> |
4 <script> | 4 <script> |
5 function test() | 5 function test() |
6 { | 6 { |
7 // This method returns one of the following constants: | 7 // This method returns one of the following constants: |
8 // Node starts before the Range ( NODE_BEFORE = 0 ) | 8 // Node starts before the Range ( NODE_BEFORE = 0 ) |
9 // Node starts after the Range ( NODE_AFTER = 1 ) | 9 // Node starts after the Range ( NODE_AFTER = 1 ) |
10 // Node starts before and ends after the Range ( NODE_BEFORE_AND_AFTER = 2 ) | 10 // Node starts before and ends after the Range ( NODE_BEFORE_AND_AFTER = 2 ) |
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
106 | 106 |
107 // test 13 - start at 0, end after range | 107 // test 13 - start at 0, end after range |
108 expectedResult = 2; | 108 expectedResult = 2; |
109 range.setStart(document.getElementById("b2"), 0); | 109 range.setStart(document.getElementById("b2"), 0); |
110 range.setEnd(document.getElementById("b2"), 1); | 110 range.setEnd(document.getElementById("b2"), 1); |
111 result = range.compareNode(document.getElementById("b2")); | 111 result = range.compareNode(document.getElementById("b2")); |
112 if (result == expectedResult) | 112 if (result == expectedResult) |
113 document.getElementById("test13").innerHTML = "test 13 passed: start at
range start, end after range"; | 113 document.getElementById("test13").innerHTML = "test 13 passed: start at
range start, end after range"; |
114 | 114 |
115 // test 14 - detached range, attached node | 115 // test 14 - detached range, attached node |
116 // firefox throws an exception and does not return a value | 116 expectedResult = 1; |
117 var detachedRange = document.createRange(); | 117 var detachedRange = document.createRange(); |
118 detachedRange.detach(); | 118 detachedRange.detach(); // no-op. |
119 try { | 119 result = detachedRange.compareNode(document.getElementById("a1")); |
120 result = detachedRange.compareNode(document.getElementById("a1")); | 120 if (result == expectedResult) |
121 } catch (e) { | 121 document.getElementById("test14").innerHTML = "test 14 passed: detached
range, attached node"; |
122 if(e.code == DOMException.INVALID_STATE_ERR) { | |
123 document.getElementById("test14").innerHTML = "test 14 passed: detac
hed range, attached node"; | |
124 } else { | |
125 document.getElementById("test14").innerHTML = "<span style=\"color:
red;\">test 14 failed error: " + e.message + "</span>"; | |
126 } | |
127 } | |
128 | 122 |
129 // test 15 - attached range, detached node | 123 // test 15 - attached range, detached node |
130 // firefox does not throw an exception and returns 0 for this test | 124 // firefox does not throw an exception and returns 0 for this test |
131 expectedResult = 0; | 125 expectedResult = 0; |
132 range.selectNode(document.getElementById("a1")); | 126 range.selectNode(document.getElementById("a1")); |
133 var node = document.getElementById("b1"); | 127 var node = document.getElementById("b1"); |
134 node.parentNode.removeChild(node); | 128 node.parentNode.removeChild(node); |
135 result = range.compareNode(node); | 129 result = range.compareNode(node); |
136 if (result == expectedResult) | 130 if (result == expectedResult) |
137 document.getElementById("test15").innerHTML = "test 15 passed: attached
range, detached node"; | 131 document.getElementById("test15").innerHTML = "test 15 passed: attached
range, detached node"; |
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
237 <div id=b3>b3</div> | 231 <div id=b3>b3</div> |
238 <div id=c3>c3</div> | 232 <div id=c3>c3</div> |
239 </div> | 233 </div> |
240 | 234 |
241 <iframe name="frame1" style="border: 1px solid black;"></iframe> | 235 <iframe name="frame1" style="border: 1px solid black;"></iframe> |
242 <iframe name="frame2" style="border: 1px solid black;"></iframe> | 236 <iframe name="frame2" style="border: 1px solid black;"></iframe> |
243 </div> | 237 </div> |
244 | 238 |
245 </body> | 239 </body> |
246 </html> | 240 </html> |
OLD | NEW |