8fcbf55d0f22d97092e0bc30670aa4d0505b2392
[WebKit-https.git] / LayoutTests / fast / forms / label / labels-set-htmlFor-attribute.html
1 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
2 <html>
3 <head>
4 <script src="../../../fast/js/resources/js-test-pre.js"></script>
5 </head>
6 <body>
7 <p id="description"></p>
8 <div id="console"></div>
9 <script>
10 description('Test that the labels list of a form control is dynamically updated when the htmlFor attribute of a label changes to point to that control. ');
11
12 var parent = document.createElement('div');
13
14 parent.innerHTML = '<div id="div1"></div><div id="div2"><label id="labelId"></label><button id="id1"></button><input id="id2"><select id="id3"></select><textarea id="id4"></textarea></div>';
15
16 document.body.appendChild(parent);
17
18 label = document.getElementById("labelId");
19 labels = document.getElementById("id1").labels;
20 shouldBe('labels.length', '0');
21 label.setAttribute("for", "id1");
22 shouldBe('labels.length', '1');
23
24 label = document.getElementById("labelId");
25 labels = document.getElementById("id2").labels;
26 shouldBe('labels.length', '0');
27 label.setAttribute("for", "id2");
28 shouldBe('labels.length', '1');
29
30 label = document.getElementById("labelId");
31 labels = document.getElementById("id3").labels;
32 shouldBe('labels.length', '0');
33 label.setAttribute("for", "id3");
34 shouldBe('labels.length', '1');
35
36 label = document.getElementById("labelId");
37 labels = document.getElementById("id4").labels;
38 shouldBe('labels.length', '0');
39 label.setAttribute("for", "id4");
40 shouldBe('labels.length', '1');
41
42 </script>
43 <script src="../../../fast/js/resources/js-test-post.js"></script>
44 </body>
45 </html>