Bug 1276738 - Test that newly opened dialogs can receive arguments. r?Gijs draft
authorMike Conley <mconley@mozilla.com>
Tue, 03 May 2016 14:14:09 -0400
changeset 374035 dc8cc6aae2fe5bac828342dbbf6f80498bdf97bc
parent 374034 778d3579e5288edc7bdd3142956e2890f56caa65
child 522528 e40b3f56b8aa2a954a01e9a40605ea83860c68ec
push id19904
push usermconley@mozilla.com
push dateWed, 01 Jun 2016 17:55:36 +0000
reviewersGijs
bugs1276738
milestone49.0a1
Bug 1276738 - Test that newly opened dialogs can receive arguments. r?Gijs MozReview-Commit-ID: jF3Port57I
embedding/components/windowwatcher/test/chrome.ini
embedding/components/windowwatcher/test/file_test_dialog.html
embedding/components/windowwatcher/test/test_dialog_arguments.html
--- a/embedding/components/windowwatcher/test/chrome.ini
+++ b/embedding/components/windowwatcher/test/chrome.ini
@@ -1,5 +1,7 @@
 [DEFAULT]
 tags = openwindow
 
+[test_dialog_arguments.html]
+support-files =
+  file_test_dialog.html
 [test_modal_windows.html]
-
new file mode 100644
--- /dev/null
+++ b/embedding/components/windowwatcher/test/file_test_dialog.html
@@ -0,0 +1,14 @@
+<!DOCTYPE HTML>
+<html>
+<!--
+This page is opened in a new window by test_dialog_arguments. It is
+a dialog which expects a Symbol to be passed in the dialog arguments.
+Once we load, we call back into the opener with the argument we were
+passed.
+-->
+<head>
+<body>Opened!</body>
+<script>
+  window.opener.done(window.arguments[0]);
+</script>
+</html>
\ No newline at end of file
new file mode 100644
--- /dev/null
+++ b/embedding/components/windowwatcher/test/test_dialog_arguments.html
@@ -0,0 +1,38 @@
+<!DOCTYPE HTML>
+<html>
+<!--
+Test that arguments can be passed to dialogs.
+-->
+<head>
+  <meta charset="utf-8">
+  <title>Test a modal window</title>
+
+  <script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
+  <link rel="stylesheet" type="text/css" href="chrome://mochikit/content/tests/SimpleTest/test.css">
+
+  <script type="application/javascript;version=1.8">
+  const {utils: Cu, interfaces: Ci} = Components;
+
+  Cu.import("resource://gre/modules/Services.jsm");
+
+  const TEST_ITEM = Symbol("test-item");
+
+  function done(returnedItem) {
+    is(returnedItem, TEST_ITEM,
+       "Dialog should have received test item");
+    win.close();
+    SimpleTest.finish();
+  }
+
+  SimpleTest.waitForExplicitFinish();
+  let win = window.openDialog("file_test_dialog.html", "_blank", "width=100,height=100", TEST_ITEM);
+  </script>
+</head>
+<body>
+<p id="display"></p>
+<div id="content" style="display: none">
+</div>
+<pre id="test">
+</pre>
+</body>
+</html>
\ No newline at end of file