Add table test to cover the document.write line layout bug.
authorhyatt <hyatt@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 7 Dec 2004 02:09:56 +0000 (02:09 +0000)
committerhyatt <hyatt@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 7 Dec 2004 02:09:56 +0000 (02:09 +0000)
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@8142 268f45cc-cd09-0410-ab3c-d52691b4dbfc

LayoutTests/fast/table/040-expected.txt [new file with mode: 0644]
LayoutTests/fast/table/040.html [new file with mode: 0644]

diff --git a/LayoutTests/fast/table/040-expected.txt b/LayoutTests/fast/table/040-expected.txt
new file mode 100644 (file)
index 0000000..187b440
--- /dev/null
@@ -0,0 +1,88 @@
+layer at (0,0) size 800x626
+  RenderCanvas at (0,0) size 800x600
+layer at (0,0) size 800x626
+  RenderBlock {HTML} at (0,0) size 800x626
+    RenderBody {BODY} at (8,8) size 784x610
+      RenderBlock {H1} at (0,0) size 784x37
+        RenderText {TEXT} at (0,0) size 608x37
+          text run at (0,0) width 608: "Fixed Columns, Auto Span, Minwidth Table"
+      RenderTable {TABLE} at (0,58) size 100x40
+        RenderTableSection {TBODY} at (0,0) size 0x40
+          RenderTableRow {TR} at (0,0) size 0x0
+            RenderTableCell {TD} at (0,10) size 33x0 [bgcolor=#00FFFF] [r=0 c=0 rs=1 cs=1]
+            RenderTableCell {TD} at (33,10) size 67x0 [bgcolor=#FFFF00] [r=0 c=1 rs=1 cs=1]
+          RenderTableRow {TR} at (0,0) size 0x0
+            RenderTableCell {TD} at (0,30) size 100x0 [bgcolor=#FFC0CB] [r=1 c=0 rs=1 cs=2]
+              RenderBlock {DIV} at (0,0) size 100x0
+      RenderBlock {P} at (0,114) size 784x54
+        RenderText {TEXT} at (0,0) size 145x18
+          text run at (0,0) width 145: "The table width is: 100"
+        RenderBR {BR} at (0,0) size 0x0
+        RenderText {TEXT} at (0,18) size 133x18
+          text run at (0,18) width 133: "Column One is: 33%"
+        RenderBR {BR} at (0,0) size 0x0
+        RenderText {TEXT} at (0,36) size 136x18
+          text run at (0,36) width 136: "Column Two is: 67%"
+      RenderBlock {HR} at (0,184) size 784x2 [border: (1px inset #000000)]
+      RenderTable {TABLE} at (0,194) size 600x40
+        RenderTableSection {TBODY} at (0,0) size 0x40
+          RenderTableRow {TR} at (0,0) size 0x0
+            RenderTableCell {TD} at (0,10) size 200x0 [bgcolor=#00FFFF] [r=0 c=0 rs=1 cs=1]
+            RenderTableCell {TD} at (200,10) size 400x0 [bgcolor=#FFFF00] [r=0 c=1 rs=1 cs=1]
+          RenderTableRow {TR} at (0,0) size 0x0
+            RenderTableCell {TD} at (0,30) size 600x0 [bgcolor=#FFC0CB] [r=1 c=0 rs=1 cs=2]
+              RenderBlock {DIV} at (0,0) size 600x0
+      RenderBlock {P} at (0,250) size 784x54
+        RenderText {TEXT} at (0,0) size 145x18
+          text run at (0,0) width 145: "The table width is: 600"
+        RenderBR {BR} at (0,0) size 0x0
+        RenderText {TEXT} at (0,18) size 133x18
+          text run at (0,18) width 133: "Column One is: 33%"
+        RenderBR {BR} at (0,0) size 0x0
+        RenderText {TEXT} at (0,36) size 136x18
+          text run at (0,36) width 136: "Column Two is: 67%"
+      RenderBlock {HR} at (0,320) size 784x2 [border: (1px inset #000000)]
+      RenderTable {TABLE} at (0,330) size 600x56
+        RenderTableSection {TBODY} at (0,0) size 0x56
+          RenderTableRow {TR} at (0,0) size 0x0
+            RenderTableCell {TD} at (0,0) size 200x36 [bgcolor=#00FFFF] [r=0 c=0 rs=1 cs=1]
+              RenderText {TEXT} at (0,0) size 188x36
+                text run at (0,0) width 188: "Fixed cell in column one with"
+                text run at (0,18) width 64: "some text."
+            RenderTableCell {TD} at (200,0) size 400x36 [bgcolor=#FFFF00] [r=0 c=1 rs=1 cs=1]
+              RenderText {TEXT} at (0,0) size 398x36
+                text run at (0,0) width 398: "Fixed cell in column two with a lot more text. Will the ratios be"
+                text run at (0,18) width 68: "preserved?"
+          RenderTableRow {TR} at (0,0) size 0x0
+            RenderTableCell {TD} at (0,46) size 600x0 [bgcolor=#FFC0CB] [r=1 c=0 rs=1 cs=2]
+              RenderBlock {DIV} at (0,0) size 600x0
+      RenderBlock {P} at (0,402) size 784x54
+        RenderText {TEXT} at (0,0) size 145x18
+          text run at (0,0) width 145: "The table width is: 600"
+        RenderBR {BR} at (0,0) size 0x0
+        RenderText {TEXT} at (0,18) size 133x18
+          text run at (0,18) width 133: "Column One is: 33%"
+        RenderBR {BR} at (0,0) size 0x0
+        RenderText {TEXT} at (0,36) size 136x18
+          text run at (0,36) width 136: "Column Two is: 67%"
+      RenderBlock {HR} at (0,472) size 784x2 [border: (1px inset #000000)]
+      RenderTable {TABLE} at (0,482) size 600x40
+        RenderTableSection {TBODY} at (0,0) size 0x40
+          RenderTableRow {TR} at (0,0) size 0x0
+            RenderTableCell {TD} at (0,10) size 200x0 [bgcolor=#00FFFF] [r=0 c=0 rs=1 cs=1]
+              RenderBlock {DIV} at (0,0) size 100x0
+            RenderTableCell {TD} at (200,10) size 400x0 [bgcolor=#FFFF00] [r=0 c=1 rs=1 cs=1]
+              RenderBlock {DIV} at (0,0) size 250x0
+          RenderTableRow {TR} at (0,0) size 0x0
+            RenderTableCell {TD} at (0,30) size 600x0 [bgcolor=#FFC0CB] [r=1 c=0 rs=1 cs=2]
+              RenderBlock {DIV} at (0,0) size 600x0
+      RenderBlock {P} at (0,538) size 784x54
+        RenderText {TEXT} at (0,0) size 145x18
+          text run at (0,0) width 145: "The table width is: 600"
+        RenderBR {BR} at (0,0) size 0x0
+        RenderText {TEXT} at (0,18) size 133x18
+          text run at (0,18) width 133: "Column One is: 33%"
+        RenderBR {BR} at (0,0) size 0x0
+        RenderText {TEXT} at (0,36) size 136x18
+          text run at (0,36) width 136: "Column Two is: 67%"
+      RenderBlock {HR} at (0,608) size 784x2 [border: (1px inset #000000)]
diff --git a/LayoutTests/fast/table/040.html b/LayoutTests/fast/table/040.html
new file mode 100644 (file)
index 0000000..f8fdf6a
--- /dev/null
@@ -0,0 +1,105 @@
+
+<head>
+<style>
+.one {
+  background-color: cyan;
+}
+
+.two {
+  background-color: yellow;
+}
+
+.three {
+  background-color: lime;
+}
+
+.span {
+  background-color: pink;
+}
+
+td {
+  height: 20px;
+}
+
+</style>
+
+<script>
+function dumpWidths(table)
+{ 
+  var cell1 = document.getElementById(table + "-one");
+  var cell2 = document.getElementById(table + "-two");
+  document.write("<p>");
+  document.write("The table width is: " + document.getElementById(table).offsetWidth + "<br>");
+  document.write("Column One is: " + Math.round(100*cell1.offsetWidth/(cell1.offsetWidth+cell2.offsetWidth)) + "%");
+  document.write("<br>");
+  document.write("Column Two is: " + Math.round(100*cell2.offsetWidth/(cell1.offsetWidth+cell2.offsetWidth)) + "%");
+  document.write("</p><hr>");
+}
+</script>
+</head>
+
+<h1>Fixed Columns, Auto Span, Minwidth Table</h1>
+
+<table width="1" id="one" cellpadding=0 cellspacing=0>
+<tr>
+<td width=100 id="one-one" class="one">
+<td width=200 id="one-two" class="two">
+</tr>
+<tr>
+<td colspan=2 class="span">
+<div style="width:100px"></div>
+</td>
+</tr>
+</table>
+
+<script>
+dumpWidths("one");
+</script>
+
+<table width="1" id="two" cellpadding=0 cellspacing=0>
+<tr>
+<td width=100 id="two-one" class="one">
+<td width=200 id="two-two" class="two">
+</tr>
+<tr>
+<td colspan=2 class="span">
+<div style="width:600px"></div>
+</td>
+</tr>
+</table>
+
+<script>
+dumpWidths("two");
+</script>
+
+<table width="1" id="three" cellpadding=0 cellspacing=0>
+<tr>
+<td width=100 id="three-one" class="one">Fixed cell in column one with some text.
+<td width=200 id="three-two" class="two">Fixed cell in column two with a lot more text. Will the ratios be preserved?
+</tr>
+<tr>
+<td colspan=2 class="span">
+<div style="width:600px"></div>
+</td>
+</tr>
+</table>
+
+<script>
+dumpWidths("three");
+</script>
+
+<table width="1" id="four" cellpadding=0 cellspacing=0>
+<tr>
+<td width=50 id="four-one" class="one"><div style="width:100px"></div>
+<td width=100 id="four-two" class="two"><div style="width:250px"></div>
+</tr>
+<tr>
+<td colspan=2 class="span">
+<div style="width:600px"></div>
+</td>
+</tr>
+</table>
+
+<script>
+dumpWidths("four");
+</script>