diff --git a/layout/html/tests/table/bugs/bug29058-1.html b/layout/html/tests/table/bugs/bug29058-1.html
new file mode 100644
index 00000000000..487aa7e246e
--- /dev/null
+++ b/layout/html/tests/table/bugs/bug29058-1.html
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
+
+
+ Test |
+ Test |
+ Test |
+
+
+
+
+
diff --git a/layout/html/tests/table/bugs/bug29058-2.html b/layout/html/tests/table/bugs/bug29058-2.html
new file mode 100644
index 00000000000..547f141242e
--- /dev/null
+++ b/layout/html/tests/table/bugs/bug29058-2.html
@@ -0,0 +1,119 @@
+
+
+
+
+
+
+
+
+ Table width test
+
+
+
+
+
+ Table with no width attribute
+
+
+
+
+
+ 50px |
+ 1* |
+ 50px |
+ 3* |
+
+
+ correct
+
+
+ Table with fixed width attribute =500px
+
+
+
+
+
+ 50px |
+ 1* |
+ 50px |
+ 3* |
+
+
+ incorrect: it seems that the * columns start with the same width than the previous
+ example, and then all the columnss are expanded proportionally to occupy the extra space.
+ The * columns should use all the space unused by other columns, so no expand are needed
+ for other columns.
+
+
+ Table with width attribute =100%
+
+
+
+
+
+ 50px |
+ 1* |
+ 50px |
+ 3* |
+
+
+ incorrect: same as above.
+
+
+ Table with width attribute =500px
+
+
+
+
+
+ 1* |
+ 2* |
+ 1* |
+ 6* |
+
+
+ correct
+
+
+ Table with width attribute =100%
+
+
+
+
+
+ 1* |
+ 2* |
+ 1* |
+ 6* |
+
+
+ correct
+
+
+
diff --git a/layout/html/tests/table/bugs/bug29058-3.html b/layout/html/tests/table/bugs/bug29058-3.html
new file mode 100644
index 00000000000..b4a3659d935
--- /dev/null
+++ b/layout/html/tests/table/bugs/bug29058-3.html
@@ -0,0 +1,38 @@
+
+
+
+
+ Testcase
+
+
+
+
+
+
+ Table is 400 px width, set with table width=400.
+
+
+
+
+
+
+
+ table Cols 1 - 3. There must be a lot of text here
+ in order to see the bug. table Cols 1 - 3. There
+ must be a lot of text here in order to see the bug.
+ table Cols 1 - 3. There must be a lot of text here
+ in order to see the bug. table Cols 1 - 3. There
+ must be a lot of text here in order to see the bug.
+ table Cols 1 - 3. There must be a lot of text here
+ in order to see the bug. table Cols 1 - 3. There
+ must be a lot of text here in order to see the bug.
+ table Cols 1 - 3. There must be a lot of text here
+ in order to see the bug. table Cols 1 - 3. There
+ must be a lot of text here in order to see the bug.
+ |
+
+
+
+
+
diff --git a/layout/html/tests/table/bugs/file_list4.txt b/layout/html/tests/table/bugs/file_list4.txt
index ca1e987b31f..f4ad5fe34fd 100644
--- a/layout/html/tests/table/bugs/file_list4.txt
+++ b/layout/html/tests/table/bugs/file_list4.txt
@@ -15,6 +15,9 @@ file:///s|/mozilla/layout/html/tests/table/bugs/bug28856.xul
file:///s|/mozilla/layout/html/tests/table/bugs/bug2886.html
file:///s|/mozilla/layout/html/tests/table/bugs/bug2886-2.html
file:///s|/mozilla/layout/html/tests/table/bugs/bug28928.html
+file:///s|/mozilla/layout/html/tests/table/bugs/bug29058-1.html
+file:///s|/mozilla/layout/html/tests/table/bugs/bug29058-2.html
+file:///s|/mozilla/layout/html/tests/table/bugs/bug29058-3.html
file:///s|/mozilla/layout/html/tests/table/bugs/bug29157.html
file:///s|/mozilla/layout/html/tests/table/bugs/bug29326.html
file:///s|/mozilla/layout/html/tests/table/bugs/bug29429.html