[WK2] selection does not disappear after coping the text
[framework/web/webkit-efl.git] / LayoutTests / fast / mutation / delivery-order.html
1 <!DOCTYPE html>
2 <script src="../js/resources/js-test-pre.js"></script>
3 <script>
4 window.jsTestIsAsync = true;
5
6 description('Test that MutationObservers are delivered to in order of creation.');
7 function finish() {
8     shouldBe('order.length', '10');
9     shouldBe('order[0]', '0');
10     shouldBe('order[1]', '1');
11     shouldBe('order[2]', '2');
12     shouldBe('order[3]', '3');
13     shouldBe('order[4]', '4');
14     shouldBe('order[5]', '5');
15     shouldBe('order[6]', '6');
16     shouldBe('order[7]', '7');
17     shouldBe('order[8]', '8');
18     shouldBe('order[9]', '9');
19     finishJSTest();
20 }
21
22 var order = [];
23 var observers = [];
24
25 function setUpOrdering(num) {
26     observers.push(new WebKitMutationObserver(function(mutations) {
27         order.push(num);
28     }));
29 }
30
31 for (var i = 0; i < 10; ++i) {
32     setUpOrdering(i);
33 }
34
35 var div = document.createElement('div');
36 observers[3].observe(div, {attributes: true});
37 observers[2].observe(div, {characterData: true, subtree: true});
38 observers[1].observe(div, {attributes: true});
39 observers[7].observe(div, {childList: true});
40 observers[4].observe(div, {attributes: true});
41 observers[9].observe(div, {attributes: true});
42 observers[0].observe(div, {childList: true});
43 observers[5].observe(div, {attributes: true});
44 observers[6].observe(div, {characterData: true, subtree: true});
45 observers[8].observe(div, {attributes: true});
46 div.setAttribute('foo', 'bar');
47 div.appendChild(document.createTextNode('hello'));
48 div.firstChild.textContent = 'goodbye';
49 setTimeout(finish, 0);
50 </script>
51 <script src="../js/resources/js-test-post.js"></script>