summaryrefslogtreecommitdiffstats
path: root/dom/tests/mochitest/whatwg/test_postMessage_override.html
diff options
context:
space:
mode:
Diffstat (limited to 'dom/tests/mochitest/whatwg/test_postMessage_override.html')
-rw-r--r--dom/tests/mochitest/whatwg/test_postMessage_override.html103
1 files changed, 103 insertions, 0 deletions
diff --git a/dom/tests/mochitest/whatwg/test_postMessage_override.html b/dom/tests/mochitest/whatwg/test_postMessage_override.html
new file mode 100644
index 000000000..a776ccebe
--- /dev/null
+++ b/dom/tests/mochitest/whatwg/test_postMessage_override.html
@@ -0,0 +1,103 @@
+<!DOCTYPE html>
+<html>
+<!--
+https://bugzilla.mozilla.org/show_bug.cgi?id=postMessage
+-->
+<head>
+ <title>postMessage override test</title>
+ <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
+ <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
+</head>
+<body>
+<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=postMessage">Mozilla Bug 387706</a>
+<p id="display"></p>
+<div id="content" style="display: none"></div>
+
+<iframe src="http://example.org:8000/tests/dom/tests/mochitest/whatwg/postMessage_override_helper.html"></iframe>
+
+
+<pre id="test">
+<script class="testbody" type="application/javascript">
+/** Test for Bug 387706 **/
+
+SimpleTest.waitForExplicitFinish();
+
+var count = 0;
+
+function test(callback)
+{
+ try
+ {
+ count++;
+ switch (count)
+ {
+ case 1:
+ window.frames[0].postMessage("PASS 1", "http://example.org:8000");
+ break;
+
+ case 2:
+ window.frames[0].postMessage("PASS 2", "http://example.org:8000");
+ break;
+
+ default:
+ ok(false, "unexpected");
+ }
+ }
+ catch (e)
+ {
+ ok(false, "error running test " + count + ": " + e);
+ }
+
+ // Waiting for sent postMessage event to be processed...
+ setTimeout(function()
+ {
+ // Waiting for responding postMessage event to be processed...
+ setTimeout(function()
+ {
+ // We have our response!
+ callback();
+ }, 0);
+ }, 0);
+}
+
+function messageReceiver(evt)
+{
+ var expect;
+
+ switch (count)
+ {
+ case 1:
+ expect = "PASS 1";
+ break;
+
+ case 2:
+ expect = "PASS 2";
+ break;
+
+ default:
+ expect = "unexpected";
+ break;
+ }
+
+ is(evt.data, expect,
+ "uh-oh, we (" + count + ") didn't get the right postMessage!");
+}
+
+window.addEventListener("message", messageReceiver, false);
+
+function run()
+{
+ test(function()
+ {
+ test(function()
+ {
+ SimpleTest.finish();
+ }, 0);
+ });
+}
+
+window.addEventListener("load", run, false);
+</script>
+</pre>
+</body>
+</html>