Bug 1061469 - Part 1: Cyclic test for Imports 1. r=mrbkap
authorGabor Krizsanits <gkrizsanits@mozilla.com>
Mon, 06 Oct 2014 11:43:57 +0200
changeset 208994 e2a94b3f6394dd48cdb2e89355ac34116b9e839d
parent 208933 539cf3404ad2985f2d86feee0638766232ec387a
child 208995 8162e9e760658fd74874c9b321bc9c25d7fbf7f3
push id1
push userroot
push dateMon, 20 Oct 2014 17:29:22 +0000
reviewersmrbkap
bugs1061469
milestone35.0a1
Bug 1061469 - Part 1: Cyclic test for Imports 1. r=mrbkap
content/html/content/test/imports/file_cycle_1_A.html
content/html/content/test/imports/file_cycle_1_B.html
content/html/content/test/imports/file_cycle_1_C.html
content/html/content/test/imports/mochitest.ini
content/html/content/test/imports/test_cycle_1.html
new file mode 100644
--- /dev/null
+++ b/content/html/content/test/imports/file_cycle_1_A.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html lang="en-US">
+<head>
+  <link rel="import" href="file_cycle_1_B.html" onload="loaded()" onerror="failed()"></link>
+</head>
+<body>
+  <script>
+    order.push("A");
+  </script>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/content/html/content/test/imports/file_cycle_1_B.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<html lang="en-US">
+<head>
+  <link rel="import" href="file_cycle_1_C.html" onload="loaded()" onerror="failed()"></link>
+  <link rel="import" href="file_cycle_1_A.html" onload="loaded()" onerror="failed()"></link>
+</head>
+<body>
+  <script>
+    order.push("B");
+  </script>
+</body>
+</html>
new file mode 100644
--- /dev/null
+++ b/content/html/content/test/imports/file_cycle_1_C.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<html lang="en-US">
+<head>
+  <link rel="import" href="file_cycle_1_B.html" onload="loaded()" onerror="failed()"></link>
+  <link rel="import" href="file_cycle_1_A.html" onload="loaded()" onerror="failed()"></link>
+</head>
+<body>
+  <script>
+    order.push("C");
+  </script>
+</body>
+</html>
--- a/content/html/content/test/imports/mochitest.ini
+++ b/content/html/content/test/imports/mochitest.ini
@@ -11,10 +11,14 @@ support-files =
   file_importC5.html
   file_importC6.html
   file_importC7.html
   file_importC8.html
   file_importC9.html
   file_importC10.html
   file_importD.html
   file_importE.html
+  file_cycle_1_A.html
+  file_cycle_1_B.html
+  file_cycle_1_C.html
 
-
+[test_cycle_1.html]
+skip-if = toolkit == 'gonk' # nested imports fail on b2g emulator
new file mode 100644
--- /dev/null
+++ b/content/html/content/test/imports/test_cycle_1.html
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML>
+<html>
+<!--
+https://bugzilla.mozilla.org/show_bug.cgi?id=1061469
+-->
+<head>
+  <title>Test for Bug 1061469</title>
+  <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
+  <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
+  <meta http-equiv="Content-Type" content="text/html;charset=utf-8">
+</head>
+<body>
+  <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1061469">Mozilla Bug 1061469</a>
+  <script type="text/javascript">
+    SimpleTest.waitForExplicitFinish();
+    var counter = 0;
+    var fcounter = 0;
+    var order = [];
+    function loaded() {
+      counter++;
+    }
+    function failed() {
+      fcounter++;
+    }
+  </script>
+  <link rel="import" href="file_cycle_1_A.html" onload="loaded()" onerror="failed()"></link>
+  <script type="text/javascript">
+    is(counter, 6, "Imports are loaded");
+    is(fcounter, 0, "No error in imports");
+    var expected = ["C","B","A"];
+    for (i in expected)
+      is(order[i], expected[i], "import " + i + " should be " + expected[i]);
+    SimpleTest.finish();
+  </script>
+</body>
+</html>