1 description('Test that the labels list of a form control is dynamically updated when the htmlFor attribute of a label is removed.');
3 var parent = document.createElement('div');
5 parent.innerHTML = '<div id="div1"></div><div id="div2"><label id="label1" for="id1"></label><label id="label2" for="id2"></label><label id="label3" for="id3"></label><label id="label4" for="id4"></label><button id="id1"></button><input id="id2"><select id="id3"></select><textarea id="id4"></textarea></div>';
7 document.body.appendChild(parent);
9 label = document.getElementById("label1");
10 labels = document.getElementById("id1").labels;
11 shouldBe('labels.length', '1');
12 label.removeAttribute("for");
13 shouldBe('labels.length', '0');
15 label = document.getElementById("label2");
16 labels = document.getElementById("id2").labels;
17 shouldBe('labels.length', '1');
18 label.removeAttribute("for");
19 shouldBe('labels.length', '0');
21 label = document.getElementById("label3");
22 labels = document.getElementById("id3").labels;
23 shouldBe('labels.length', '1');
24 label.removeAttribute("for");
25 shouldBe('labels.length', '0');
27 label = document.getElementById("label4");
28 labels = document.getElementById("id4").labels;
29 shouldBe('labels.length', '1');
30 label.removeAttribute("for");
31 shouldBe('labels.length', '0');