[Forms] Re-factor label.for tests for extending test coverage
[WebKit-https.git] / LayoutTests / fast / forms / label / labels-remove-htmlFor-attribute.html
index 1932f91..3d1ff3e 100644 (file)
@@ -2,6 +2,8 @@
 <html>
 <head>
 <script src="../../../fast/js/resources/js-test-pre.js"></script>
+<script src="../resources/common.js"></script>
+<script src="../resources/label-test-util.js"></script>
 </head>
 <body>
 <p id="description"></p>
 <script>
 description('Test that the labels list of a form control is dynamically updated when the htmlFor attribute of a label is removed.');
 
-var parent = document.createElement('div');
+var tester = setupLabelsTest(withSiblingLabel);
+for (var name in tester.dataSet) {
+    var data = tester.getLabelableElementData(name);
+    if (data == null)
+        continue;
 
-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>';
-
-document.body.appendChild(parent);
-
-label = document.getElementById("label1");
-labels = document.getElementById("id1").labels;
-shouldBe('labels.length', '1');
-label.removeAttribute("for");
-shouldBe('labels.length', '0');
-
-label = document.getElementById("label2");
-labels = document.getElementById("id2").labels;
-shouldBe('labels.length', '1');
-label.removeAttribute("for");
-shouldBe('labels.length', '0');
-
-label = document.getElementById("label3");
-labels = document.getElementById("id3").labels;
-shouldBe('labels.length', '1');
-label.removeAttribute("for");
-shouldBe('labels.length', '0');
-
-label = document.getElementById("label4");
-labels = document.getElementById("id4").labels;
-shouldBe('labels.length', '1');
-label.removeAttribute("for");
-shouldBe('labels.length', '0');
+    debug('Check ' + data.name);
+    var element = data.element;
+    shouldBe('element.labels.length', '1');
 
+    var label = document.getElementById(data.labelId);
+    label.removeAttribute('for');
+    shouldBe('element.labels.length', '0');
+}
 </script>
 <script src="../../../fast/js/resources/js-test-post.js"></script>
 </body>