Bug 1267720 - Test that newly opened dialogs can receive arguments. r?smaug draft
authorMike Conley <mconley@mozilla.com>
Tue, 03 May 2016 14:14:09 -0400
changeset 363504 54481eeb60aeb99f4ec1cff295325a0bd145d9de
parent 363503 cd4fcd019271b0566b11195ca77c5d932b900fef
child 363505 544e6d6a4c0cdbc3484450bf480856011a23a744
push id17222
push usermconley@mozilla.com
push dateWed, 04 May 2016 21:02:55 +0000
reviewerssmaug
bugs1267720
milestone49.0a1
Bug 1267720 - Test that newly opened dialogs can receive arguments. r?smaug 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