<!DOCTYPE HTML> <html> <!-- https://bugzilla.mozilla.org/show_bug.cgi?id=392567 --> <head> <title>Test for Bug 392567</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=392567">Mozilla Bug 392567</a> <p id="display"><iframe name="testFrame" id="testFrame" style="visibility: hidden;"></iframe></p> <div id="content" style="display: none"> <form name="testForm" target="testFrame"> <input type="text" name="key" /> </form> </div> <pre id="test"> <script class="testbody" type="text/javascript"> /** Test for Bug 392567 **/ SimpleTest.waitForExplicitFinish(); function runTests() { if (window.location.search.match(/\?key=value/)) { return; } var dataUrl = "http://mochi.test:8888/tests/dom/html/test/bug392567.jar"; var jarUrl = "jar:" + dataUrl + "!/index.html"; var httpUrl = location.href.replace(/\.html.*/, "_404"); var previousDir = location.href.replace(/test\/[^\/]*$/, ""); var documentURL = location.href.replace(/\.html.*/, "\.html"); var form = document.forms.testForm; var frame = frames.testFrame; document.getElementById("testFrame").onload = processTestResult; // List of tests to run, each test consists of form action URL and expected result URL var tests = [ [jarUrl, jarUrl + "?$PARAMS"], [jarUrl + "?jarTest1=jarTest2", jarUrl + "?$PARAMS"], [jarUrl + "?jarTest3=jarTest4#jarTest5", jarUrl + "?$PARAMS#jarTest5"], ["data:text/html,<html></html>", "data:text/html,<html></html>?$PARAMS"], ["data:text/html,<html>How%20about%20this?</html>", "data:text/html,<html>How%20about%20this?$PARAMS"], [httpUrl, httpUrl + "?$PARAMS"], [httpUrl + "?httpTest1=httpTest2", httpUrl + "?$PARAMS"], [httpUrl + "?httpTest3=httpTest4#httpTest5", httpUrl + "?$PARAMS#httpTest5"], ["", documentURL + "?$PARAMS"], [" ", documentURL + "?$PARAMS"], ["../", previousDir + "?$PARAMS"], ]; var currentTest = -1; runNextTest(); function runNextTest() { currentTest++; if (currentTest >= tests.length) { SimpleTest.finish(); return; } form.setAttribute("action", tests[currentTest][0]); form.key.value = "value" + currentTest; form.submit(); } function processTestResult() { var expected = tests[currentTest][1].replace(/\$PARAMS/, "key=value" + currentTest); is(frame.location.href, expected, "Submitting to " + tests[currentTest][0]); setTimeout(runNextTest, 0); } } addLoadEvent(function() { SpecialPowers.pushPrefEnv({"set": [["network.jar.block-remote-files", false]]}, runTests); }); </script> </pre> </body> </html>