Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(66)

Side by Side Diff: third_party/WebKit/LayoutTests/fast/forms/select-set-length-with-mutation-reorder.html

Issue 1509853008: Move select/option/optgroup-related tests in fast/forms to fast/forms/select. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
2 <html>
3 <head>
4 <script src="../../resources/js-test.js"></script>
5 </head>
6 <body>
7 <p id="description"></p>
8 <div id="console"></div>
9 <script>
10 description('Tests that setting the .length on an HTMLSelectElement works in the presence of DOM mutation listeners that reorder option elements');
11
12 var wrapper = document.createElement('div');
13 document.body.appendChild(wrapper);
14 wrapper.innerHTML = '<select id="theSelect">' +
15 '<option id="a">a</option>' +
16 '<option id="b">b</option>' +
17 '<option id="c">c</option>' +
18 '<option id="d">d</option>' +
19 '</select>';
20
21 var sel = document.getElementById('theSelect');
22
23 var firstRemove = true;
24 function onRemove(e) {
25 if (firstRemove) {
26 // remove listener temporarily to avoid lots of nesting
27 sel.removeEventListener('DOMNodeRemoved', onRemove, false);
28 var lastOption = document.getElementById('d');
29 sel.removeChild(lastOption);
30 sel.insertBefore(lastOption, document.getElementById('c'));
31 firstRemove = false;
32 sel.addEventListener('DOMNodeRemoved', onRemove, false);
33 }
34 }
35
36 sel.addEventListener('DOMNodeRemoved', onRemove, false);
37 sel.addEventListener('DOMNodeInserted', function() {}, false);
38
39 shouldBe('sel.length', '4');
40 sel.length = 2;
41 shouldBe('sel.length', '2');
42 shouldBe('sel.options.item(0).id', '"a"');
43 shouldBe('sel.options.item(1).id', '"b"');
44 </script>
45 </body>
46 </html>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698