Bug 1371073 - Add reftests to ensure rows and cols are properly added and removed from framesets draft
authorKirk Steuber <ksteuber@mozilla.com>
Wed, 14 Jun 2017 16:05:20 -0700
changeset 594323 d9b916a67d4d97c88787a8ba1a8a406fad62e27a
parent 593475 91134c95d68cbcfe984211fa3cbd28d610361ef1
child 633401 0fa711d86117e8b097e5bc05928f43f0412fc902
push id64004
push userksteuber@mozilla.com
push dateWed, 14 Jun 2017 23:05:51 +0000
bugs1371073
milestone56.0a1
Bug 1371073 - Add reftests to ensure rows and cols are properly added and removed from framesets MozReview-Commit-ID: A6uLt8oSn6F
layout/reftests/frameset/frameset-add-col-ref.html
layout/reftests/frameset/frameset-add-col.html
layout/reftests/frameset/frameset-add-row-ref.html
layout/reftests/frameset/frameset-add-row.html
layout/reftests/frameset/frameset-remove-col-ref.html
layout/reftests/frameset/frameset-remove-col.html
layout/reftests/frameset/frameset-remove-row-ref.html
layout/reftests/frameset/frameset-remove-row.html
layout/reftests/frameset/reftest.list
layout/reftests/reftest.list
new file mode 100644
--- /dev/null
+++ b/layout/reftests/frameset/frameset-add-col-ref.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <meta charset=utf-8>
+  </head>
+  <frameset id="frameset" cols="*,*">
+    <frame />
+    <frame />
+  </frameset>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/frameset/frameset-add-col.html
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<html class="reftest-wait">
+  <head>
+    <meta charset=utf-8>
+    <script type="text/javascript">
+      window.addEventListener("MozReftestInvalidate", () => {
+        let frameset = document.getElementById("frameset");
+        let newFrame = document.createElement("frame");
+        frameset.appendChild(newFrame);
+        frameset.cols = "*";
+
+        newFrame = document.createElement("frame");
+        frameset.appendChild(newFrame);
+        frameset.cols = frameset.cols + ",*";
+
+        document.documentElement.removeAttribute("class");
+      });
+    </script>
+  </head>
+  <frameset id="frameset" cols="">
+  </frameset>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/frameset/frameset-add-row-ref.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <meta charset=utf-8>
+  </head>
+  <frameset id="frameset" rows="*,*">
+    <frame />
+    <frame />
+  </frameset>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/frameset/frameset-add-row.html
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<html class="reftest-wait">
+  <head>
+    <meta charset=utf-8>
+    <script type="text/javascript">
+      window.addEventListener("MozReftestInvalidate", () => {
+        let frameset = document.getElementById("frameset");
+        let newFrame = document.createElement("frame");
+        frameset.appendChild(newFrame);
+        frameset.rows = "*";
+
+        newFrame = document.createElement("frame");
+        frameset.appendChild(newFrame);
+        frameset.rows = frameset.rows + ",*";
+
+        document.documentElement.removeAttribute("class");
+      });
+    </script>
+  </head>
+  <frameset id="frameset" rows="">
+  </frameset>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/frameset/frameset-remove-col-ref.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <meta charset=utf-8>
+  </head>
+  <frameset id="frameset" cols="*,*">
+    <frame />
+    <frame />
+  </frameset>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/frameset/frameset-remove-col.html
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<html class="reftest-wait">
+  <head>
+    <meta charset=utf-8>
+    <script type="text/javascript">
+      window.addEventListener("MozReftestInvalidate", () => {
+        let frameset = document.getElementById("frameset");
+        frameset.removeChild(frameset.lastChild);
+        frameset.cols = frameset.cols.replace(/,[^,]*$/, "");
+
+        document.documentElement.removeAttribute("class");
+      });
+    </script>
+  </head>
+  <frameset id="frameset" cols="*,*,*">
+    <frame />
+    <frame />
+    <frame />
+  </frameset>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/frameset/frameset-remove-row-ref.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <meta charset=utf-8>
+  </head>
+  <frameset id="frameset" rows="*,*">
+    <frame />
+    <frame />
+  </frameset>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/frameset/frameset-remove-row.html
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<html class="reftest-wait">
+  <head>
+    <meta charset=utf-8>
+    <script type="text/javascript">
+      window.addEventListener("MozReftestInvalidate", () => {
+        let frameset = document.getElementById("frameset");
+        frameset.removeChild(frameset.lastChild);
+        frameset.rows = frameset.rows.replace(/,[^,]*$/, "");
+
+        document.documentElement.removeAttribute("class");
+      });
+    </script>
+  </head>
+  <frameset id="frameset" rows="*,*,*">
+    <frame />
+    <frame />
+    <frame />
+  </frameset>
+</html>
new file mode 100644
--- /dev/null
+++ b/layout/reftests/frameset/reftest.list
@@ -0,0 +1,4 @@
+== frameset-add-row.html frameset-add-row-ref.html
+== frameset-remove-row.html frameset-remove-row-ref.html
+== frameset-add-col.html frameset-add-col-ref.html
+== frameset-remove-col.html frameset-remove-col-ref.html
--- a/layout/reftests/reftest.list
+++ b/layout/reftests/reftest.list
@@ -203,16 +203,19 @@ include font-inflation/reftest.list
 include font-loading-api/reftest.list
 
 # font matching
 include font-matching/reftest.list
 
 # forms
 include forms/reftest.list
 
+# frameset
+include frameset/reftest.list
+
 # gfx
 include ../../gfx/tests/reftest/reftest.list
 
 # block-inside-inline splits
 include ib-split/reftest.list
 
 # image/
 include image/reftest.list