Upstream version 7.36.149.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / LayoutTests / fast / dom / Range / range-created-during-remove-children.html
1 <div id="container">
2 <p id="description"></p>
3 <div id="sample"><span contenteditable="true">foobar</span></div>
4 </div>
5 <div id="console"></div>
6 <script src="../../../resources/js-test.js"></script>
7 <script>
8 description('Range objects should be updated after set innerHTML.');
9
10 function $(id) { return document.getElementById(id); }
11
12 var ranges = {};
13 function eventHandler(event) {
14     if (ranges[event.type])
15         return;
16     ranges[event.type] = document.createRange();
17     ranges[event.type].selectNodeContents(sample.firstChild.firstChild);
18 }
19
20 document.addEventListener('blur', eventHandler, true);
21 document.addEventListener('DOMNodeRemovedFromDocument', eventHandler, true);
22
23 $('sample').firstChild.focus();
24 $('sample').innerHTML = '';
25
26 shouldBe('ranges["blur"].startOffset', '0');
27 shouldBe('ranges["blur"].endOffset', '0');
28 shouldBe('ranges["DOMNodeRemovedFromDocument"].startOffset', '0');
29 shouldBe('ranges["DOMNodeRemovedFromDocument"].endOffset', '0');
30
31 if (window.testRunner)
32     $('container').outerHTML = '';
33 </script>