Bug 1276738 - Test that newly opened dialogs can receive arguments. r?Gijs
MozReview-Commit-ID: jF3Port57I
--- 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