Added layout test for <input> value bug I just fixed.
authordarin <darin@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 11 Oct 2004 17:13:55 +0000 (17:13 +0000)
committerdarin <darin@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 11 Oct 2004 17:13:55 +0000 (17:13 +0000)
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7815 268f45cc-cd09-0410-ab3c-d52691b4dbfc

LayoutTests/fast/forms/input-value-expected.txt [new file with mode: 0644]
LayoutTests/fast/forms/input-value.html [new file with mode: 0644]

diff --git a/LayoutTests/fast/forms/input-value-expected.txt b/LayoutTests/fast/forms/input-value-expected.txt
new file mode 100644 (file)
index 0000000..0c4be16
--- /dev/null
@@ -0,0 +1,195 @@
+layer at (0,0) size 800x600
+  RenderCanvas at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderBlock {HTML} at (0,0) size 800x600
+    RenderBody {BODY} at (8,8) size 784x576
+      RenderBlock {P} at (0,0) size 784x36
+        RenderText {TEXT} at (0,0) size 784x36
+          text run at (0,0) width 784: "Results that match WinIE are two columns on the right that say \"after\" every time, except for the last row which should have"
+          text run at (0,18) width 158: "nothing in either column."
+      RenderBlock {P} at (0,52) size 784x18
+        RenderText {TEXT} at (0,0) size 713x18
+          text run at (0,0) width 713: "Results that match Gecko are like WinIE, but with \"before\" for the attribute in the first two rows and the last row."
+      RenderBlock {HR} at (0,86) size 784x2 [border: (1px inset #000000)]
+      RenderBlock {FORM} at (0,96) size 784x368
+        RenderTable {TABLE} at (0,0) size 754x368
+          RenderTableSection {THEAD} at (0,0) size 0x24
+            RenderTableRow {TR} at (0,0) size 0x0
+              RenderTableCell {TH} at (2,2) size 385x20 [r=0 c=0 rs=1 cs=1]
+                RenderText {TEXT} at (1,1) size 55x18
+                  text run at (1,1) width 55: "test case"
+              RenderTableCell {TH} at (389,2) size 236x20 [r=0 c=1 rs=1 cs=1]
+                RenderText {TEXT} at (1,1) size 89x18
+                  text run at (1,1) width 89: "form element"
+              RenderTableCell {TH} at (627,2) size 62x20 [r=0 c=2 rs=1 cs=1]
+                RenderText {TEXT} at (1,1) size 60x18
+                  text run at (1,1) width 60: "property"
+              RenderTableCell {TH} at (691,2) size 61x20 [r=0 c=3 rs=1 cs=1]
+                RenderText {TEXT} at (1,1) size 59x18
+                  text run at (1,1) width 59: "attribute"
+          RenderTableSection {TBODY} at (0,24) size 0x344
+            RenderTableRow {TR} at (0,0) size 0x0
+              RenderTableCell {TD} at (2,4) size 385x20 [r=0 c=0 rs=1 cs=1]
+                RenderText {TEXT} at (1,1) size 207x18
+                  text run at (1,1) width 207: "text with value property changed"
+              RenderTableCell {TD} at (389,2) size 236x25 [r=0 c=1 rs=1 cs=1]
+                RenderLineEdit {INPUT} at (3,3) size 148x19
+              RenderTableCell {TD} at (627,4) size 62x20 [r=0 c=2 rs=1 cs=1]
+                RenderText {TEXT} at (1,1) size 28x18
+                  text run at (1,1) width 28: "after"
+              RenderTableCell {TD} at (691,4) size 61x20 [r=0 c=3 rs=1 cs=1]
+                RenderText {TEXT} at (1,1) size 40x18
+                  text run at (1,1) width 40: "before"
+            RenderTableRow {TR} at (0,0) size 0x0
+              RenderTableCell {TD} at (2,31) size 385x20 [r=1 c=0 rs=1 cs=1]
+                RenderText {TEXT} at (1,1) size 244x18
+                  text run at (1,1) width 244: "password with value property changed"
+              RenderTableCell {TD} at (389,29) size 236x25 [r=1 c=1 rs=1 cs=1]
+                RenderLineEdit {INPUT} at (3,3) size 148x19
+              RenderTableCell {TD} at (627,31) size 62x20 [r=1 c=2 rs=1 cs=1]
+                RenderText {TEXT} at (1,1) size 28x18
+                  text run at (1,1) width 28: "after"
+              RenderTableCell {TD} at (691,31) size 61x20 [r=1 c=3 rs=1 cs=1]
+                RenderText {TEXT} at (1,1) size 40x18
+                  text run at (1,1) width 40: "before"
+            RenderTableRow {TR} at (0,0) size 0x0
+              RenderTableCell {TD} at (2,56) size 385x20 [r=2 c=0 rs=1 cs=1]
+                RenderText {TEXT} at (1,1) size 249x18
+                  text run at (1,1) width 249: "check box with value property changed"
+              RenderTableCell {TD} at (389,56) size 236x20 [r=2 c=1 rs=1 cs=1]
+                RenderCheckBox {INPUT} at (4,4) size 12x12
+              RenderTableCell {TD} at (627,56) size 62x20 [r=2 c=2 rs=1 cs=1]
+                RenderText {TEXT} at (1,1) size 28x18
+                  text run at (1,1) width 28: "after"
+              RenderTableCell {TD} at (691,56) size 61x20 [r=2 c=3 rs=1 cs=1]
+                RenderText {TEXT} at (1,1) size 28x18
+                  text run at (1,1) width 28: "after"
+            RenderTableRow {TR} at (0,0) size 0x0
+              RenderTableCell {TD} at (2,78) size 385x20 [r=3 c=0 rs=1 cs=1]
+                RenderText {TEXT} at (1,1) size 227x18
+                  text run at (1,1) width 227: "hidden with value property changed"
+              RenderTableCell {TD} at (389,87) size 236x2 [r=3 c=1 rs=1 cs=1]
+              RenderTableCell {TD} at (627,78) size 62x20 [r=3 c=2 rs=1 cs=1]
+                RenderText {TEXT} at (1,1) size 28x18
+                  text run at (1,1) width 28: "after"
+              RenderTableCell {TD} at (691,78) size 61x20 [r=3 c=3 rs=1 cs=1]
+                RenderText {TEXT} at (1,1) size 28x18
+                  text run at (1,1) width 28: "after"
+            RenderTableRow {TR} at (0,0) size 0x0
+              RenderTableCell {TD} at (2,102) size 385x20 [r=4 c=0 rs=1 cs=1]
+                RenderText {TEXT} at (1,1) size 224x18
+                  text run at (1,1) width 224: "button with value property changed"
+              RenderTableCell {TD} at (389,100) size 236x24 [r=4 c=1 rs=1 cs=1]
+                RenderSubmitButton {INPUT} at (3,3) size 41x18
+              RenderTableCell {TD} at (627,102) size 62x20 [r=4 c=2 rs=1 cs=1]
+                RenderText {TEXT} at (1,1) size 28x18
+                  text run at (1,1) width 28: "after"
+              RenderTableCell {TD} at (691,102) size 61x20 [r=4 c=3 rs=1 cs=1]
+                RenderText {TEXT} at (1,1) size 28x18
+                  text run at (1,1) width 28: "after"
+            RenderTableRow {TR} at (0,0) size 0x0
+              RenderTableCell {TD} at (2,126) size 385x20 [r=5 c=0 rs=1 cs=1]
+                RenderText {TEXT} at (1,1) size 222x18
+                  text run at (1,1) width 222: "image with value property changed"
+              RenderTableCell {TD} at (389,135) size 236x2 [r=5 c=1 rs=1 cs=1]
+                RenderImageButton {INPUT} at (1,1) size 0x0
+              RenderTableCell {TD} at (627,126) size 62x20 [r=5 c=2 rs=1 cs=1]
+                RenderText {TEXT} at (1,1) size 28x18
+                  text run at (1,1) width 28: "after"
+              RenderTableCell {TD} at (691,126) size 61x20 [r=5 c=3 rs=1 cs=1]
+                RenderText {TEXT} at (1,1) size 28x18
+                  text run at (1,1) width 28: "after"
+            RenderTableRow {TR} at (0,0) size 0x0
+              RenderTableCell {TD} at (2,148) size 385x20 [r=6 c=0 rs=1 cs=1]
+                RenderText {TEXT} at (1,1) size 216x18
+                  text run at (1,1) width 216: "radio with value property changed"
+              RenderTableCell {TD} at (389,148) size 236x21 [r=6 c=1 rs=1 cs=1]
+                RenderRadioButton {INPUT} at (4,4) size 12x13
+              RenderTableCell {TD} at (627,148) size 62x20 [r=6 c=2 rs=1 cs=1]
+                RenderText {TEXT} at (1,1) size 28x18
+                  text run at (1,1) width 28: "after"
+              RenderTableCell {TD} at (691,148) size 61x20 [r=6 c=3 rs=1 cs=1]
+                RenderText {TEXT} at (1,1) size 28x18
+                  text run at (1,1) width 28: "after"
+            RenderTableRow {TR} at (0,0) size 0x0
+              RenderTableCell {TD} at (2,173) size 385x20 [r=7 c=0 rs=1 cs=1]
+                RenderText {TEXT} at (1,1) size 205x18
+                  text run at (1,1) width 205: "text with value attribute changed"
+              RenderTableCell {TD} at (389,171) size 236x25 [r=7 c=1 rs=1 cs=1]
+                RenderLineEdit {INPUT} at (3,3) size 148x19
+              RenderTableCell {TD} at (627,173) size 62x20 [r=7 c=2 rs=1 cs=1]
+                RenderText {TEXT} at (1,1) size 28x18
+                  text run at (1,1) width 28: "after"
+              RenderTableCell {TD} at (691,173) size 61x20 [r=7 c=3 rs=1 cs=1]
+                RenderText {TEXT} at (1,1) size 28x18
+                  text run at (1,1) width 28: "after"
+            RenderTableRow {TR} at (0,0) size 0x0
+              RenderTableCell {TD} at (2,198) size 385x20 [r=8 c=0 rs=1 cs=1]
+                RenderText {TEXT} at (1,1) size 247x18
+                  text run at (1,1) width 247: "check box with value attribute changed"
+              RenderTableCell {TD} at (389,198) size 236x20 [r=8 c=1 rs=1 cs=1]
+                RenderCheckBox {INPUT} at (4,4) size 12x12
+              RenderTableCell {TD} at (627,198) size 62x20 [r=8 c=2 rs=1 cs=1]
+                RenderText {TEXT} at (1,1) size 28x18
+                  text run at (1,1) width 28: "after"
+              RenderTableCell {TD} at (691,198) size 61x20 [r=8 c=3 rs=1 cs=1]
+                RenderText {TEXT} at (1,1) size 28x18
+                  text run at (1,1) width 28: "after"
+            RenderTableRow {TR} at (0,0) size 0x0
+              RenderTableCell {TD} at (2,220) size 385x20 [r=9 c=0 rs=1 cs=1]
+                RenderText {TEXT} at (1,1) size 383x18
+                  text run at (1,1) width 383: "text with value property changed, then turned into check box"
+              RenderTableCell {TD} at (389,221) size 236x18 [r=9 c=1 rs=1 cs=1]
+                RenderCheckBox {INPUT} at (3,3) size 12x12
+              RenderTableCell {TD} at (627,220) size 62x20 [r=9 c=2 rs=1 cs=1]
+                RenderText {TEXT} at (1,1) size 28x18
+                  text run at (1,1) width 28: "after"
+              RenderTableCell {TD} at (691,220) size 61x20 [r=9 c=3 rs=1 cs=1]
+                RenderText {TEXT} at (1,1) size 28x18
+                  text run at (1,1) width 28: "after"
+            RenderTableRow {TR} at (0,0) size 0x0
+              RenderTableCell {TD} at (2,245) size 385x20 [r=10 c=0 rs=1 cs=1]
+                RenderText {TEXT} at (1,1) size 383x18
+                  text run at (1,1) width 383: "check box with value property changed, then turned into text"
+              RenderTableCell {TD} at (389,242) size 236x27 [r=10 c=1 rs=1 cs=1]
+                RenderLineEdit {INPUT} at (4,4) size 148x19
+              RenderTableCell {TD} at (627,245) size 62x20 [r=10 c=2 rs=1 cs=1]
+                RenderText {TEXT} at (1,1) size 28x18
+                  text run at (1,1) width 28: "after"
+              RenderTableCell {TD} at (691,245) size 61x20 [r=10 c=3 rs=1 cs=1]
+                RenderText {TEXT} at (1,1) size 28x18
+                  text run at (1,1) width 28: "after"
+            RenderTableRow {TR} at (0,0) size 0x0
+              RenderTableCell {TD} at (2,271) size 385x20 [r=11 c=0 rs=1 cs=1]
+                RenderText {TEXT} at (1,1) size 381x18
+                  text run at (1,1) width 381: "text with value attribute changed, then turned into check box"
+              RenderTableCell {TD} at (389,272) size 236x18 [r=11 c=1 rs=1 cs=1]
+                RenderCheckBox {INPUT} at (3,3) size 12x12
+              RenderTableCell {TD} at (627,271) size 62x20 [r=11 c=2 rs=1 cs=1]
+                RenderText {TEXT} at (1,1) size 28x18
+                  text run at (1,1) width 28: "after"
+              RenderTableCell {TD} at (691,271) size 61x20 [r=11 c=3 rs=1 cs=1]
+                RenderText {TEXT} at (1,1) size 28x18
+                  text run at (1,1) width 28: "after"
+            RenderTableRow {TR} at (0,0) size 0x0
+              RenderTableCell {TD} at (2,296) size 385x20 [r=12 c=0 rs=1 cs=1]
+                RenderText {TEXT} at (1,1) size 381x18
+                  text run at (1,1) width 381: "check box with value attribute changed, then turned into text"
+              RenderTableCell {TD} at (389,293) size 236x27 [r=12 c=1 rs=1 cs=1]
+                RenderLineEdit {INPUT} at (4,4) size 148x19
+              RenderTableCell {TD} at (627,296) size 62x20 [r=12 c=2 rs=1 cs=1]
+                RenderText {TEXT} at (1,1) size 28x18
+                  text run at (1,1) width 28: "after"
+              RenderTableCell {TD} at (691,296) size 61x20 [r=12 c=3 rs=1 cs=1]
+                RenderText {TEXT} at (1,1) size 28x18
+                  text run at (1,1) width 28: "after"
+            RenderTableRow {TR} at (0,0) size 0x0
+              RenderTableCell {TD} at (2,322) size 385x20 [r=13 c=0 rs=1 cs=1]
+                RenderText {TEXT} at (1,1) size 204x18
+                  text run at (1,1) width 204: "file with value property changed"
+              RenderTableCell {TD} at (389,322) size 236x20 [r=13 c=1 rs=1 cs=1]
+                RenderFileButton {INPUT} at (1,1) size 234x18
+              RenderTableCell {TD} at (627,331) size 62x2 [r=13 c=2 rs=1 cs=1]
+              RenderTableCell {TD} at (691,322) size 61x20 [r=13 c=3 rs=1 cs=1]
+                RenderText {TEXT} at (1,1) size 40x18
+                  text run at (1,1) width 40: "before"
diff --git a/LayoutTests/fast/forms/input-value.html b/LayoutTests/fast/forms/input-value.html
new file mode 100644 (file)
index 0000000..4cc1d29
--- /dev/null
@@ -0,0 +1,106 @@
+<script>
+
+function extractValues()
+{
+    var rows = document.getElementById("table").rows;
+    for (var i = 0; i< rows.length; i++) {
+        var row = rows[i];
+        var element = row.childNodes[1].firstChild;
+        try {
+            if (element.value) {
+                row.childNodes[2].innerHTML = element.value;
+            }
+            if (element.getAttribute("value")) {
+                row.childNodes[3].innerHTML = element.getAttribute("value");
+            }
+        } catch (exception) { }
+    }
+}
+
+function test()
+{
+    var e;
+
+    document.getElementById("1").value = "after";
+    document.getElementById("9").value = "after";
+    document.getElementById("2").value = "after";
+    document.getElementById("5").value = "after";
+    document.getElementById("6").value = "after";
+    document.getElementById("7").value = "after";
+    document.getElementById("8").value = "after";
+
+    document.getElementById("3").setAttribute("value", "after");
+    document.getElementById("4").setAttribute("value", "after");
+
+    try {
+        e = document.getElementById("12");
+        e.value = "after";
+        e.type = "checkbox";
+    } catch (exception) { }
+
+    try {
+        e = document.getElementById("13");
+        e.value = "after";
+        e.type = "text";
+    } catch (exception) { }
+
+    try {
+        e = document.getElementById("14");
+        e.setAttribute("value", "after");
+        e.type = "checkbox";
+    } catch (exception) { }
+
+    try {
+        e = document.getElementById("15");
+        e.setAttribute("value", "after");
+        e.type = "text";
+    } catch (exception) { }
+
+    try {
+        document.getElementById("10").value = "after";
+    } catch (exception) { }
+
+    extractValues();
+    
+    document.getElementById("form").reset();
+}
+
+</script>
+
+<body onload="test()">
+
+<p>Results that match WinIE are two columns on the right that say "after" every time, except for the last row which should have nothing in either column.</p>
+<p>Results that match Gecko are like WinIE, but with "before" for the attribute in the first two rows and the last row.</p>
+
+<hr>
+
+<form id="form">
+
+<table id="table">
+
+<thead><th align="left">test case</th><th align="left">form element</th><th>property</th><th>attribute</th></thead>
+
+<tr><td>text with value property changed</td><td><input id="1" value="before"></td><td ></td><td></td></tr>
+<tr><td>password with value property changed</td><td><input id="9" type="password" value="before"></td><td></td><td></td></tr>
+<tr><td>check box with value property changed</td><td><input id="2" type="checkbox" value="before"></td><td></td><td></td></tr>
+<tr><td>hidden with value property changed</td><td><input id="5" type="hidden" value="before"></td><td></td><td></td></tr>
+<tr><td>button with value property changed</td><td><input id="6" type="button" value="before"></td><td></td><td></td></tr>
+<tr><td>image with value property changed</td><td><input id="7" type="image" value="before"></td><td></td><td></td></tr>
+<tr><td>radio with value property changed</td><td><input id="8" type="radio" value="before"></td><td></td><td></td></tr>
+
+<tr><td>text with value attribute changed</td><td><input id="3" value="before"></td><td ></td><td></td></tr>
+<tr><td>check box with value attribute changed</td><td><input id="4" type="checkbox" value="before"></td><td></td><td></td></tr>
+
+<tr><td>text with value property changed, then turned into check box</td><td><input id="12" value="before"></td><td ></td><td></td></tr>
+<tr><td>check box with value property changed, then turned into text</td><td><input id="13" type="checkbox" value="before"></td><td></td><td></td></tr>
+
+<tr><td>text with value attribute changed, then turned into check box</td><td><input id="14" value="before"></td><td ></td><td></td></tr>
+<tr><td>check box with value attribute changed, then turned into text</td><td><input id="15" type="checkbox" value="before"></td><td></td><td></td></tr>
+
+<tr><td>file with value property changed</td><td><input id="10" type="file" value="before"></td><td></td><td></td></tr>
+
+</table>
+
+</form>
+
+</body>