gecko/content/base/test/test_bug345339.html
Jed Davis f9d42e8678 Bug 1058977 - Adjust mochitests that do content-process file creation/deletion. r=bz
Some form tests are switched to Blob-backed DOM files; some tests now
use nsIFile but don't create the file, if the test simply uses the path
but doesn't access it; and some tests are moved to mochi-chrome
2014-09-08 18:48:50 -07:00

75 lines
2.4 KiB
HTML

<!DOCTYPE HTML>
<html>
<!--
https://bugzilla.mozilla.org/show_bug.cgi?id=345339
-->
<head>
<title>Test for Bug 345339</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=345339">Mozilla Bug 345339</a>
<p id="display"></p>
<div id="content" style="display: none">
</div>
<iframe id="testframe"
src="http://mochi.test:8888/tests/content/base/test/345339_iframe.html">
</iframe>
<pre id="test">
<script class="testbody" type="text/javascript">
/** Test for Bug 345339 **/
SimpleTest.waitForExplicitFinish();
var filePath;
function afterLoad() {
var iframeDoc = $("testframe").contentDocument;
/* change all the form controls */
iframeDoc.getElementById("select").selectedIndex = 1;
iframeDoc.getElementById("radio2").checked = true;
iframeDoc.getElementById("password").value = "123456";
iframeDoc.getElementById("hidden").value = "gecko";
var file = SpecialPowers.Cc["@mozilla.org/file/directory_service;1"]
.getService(SpecialPowers.Ci.nsIProperties)
.get("TmpD", SpecialPowers.Ci.nsILocalFile);
file.append("345339_test.file");
// Only the file's path is used, so it doesn't need to be created.
// See also bug 1058977.
filePath = file.path;
SpecialPowers.wrap(iframeDoc).getElementById("file").value = filePath;
/* Reload the page */
$("testframe").setAttribute("onload", "afterReload()");
iframeDoc.location.reload();
}
addLoadEvent(afterLoad);
function afterReload() {
var iframeDoc = $("testframe").contentDocument;
is(iframeDoc.getElementById("select").selectedIndex, 1,
"select element selected index preserved");
is(iframeDoc.getElementById("radio1").checked, false,
"radio button #1 value preserved");
is(iframeDoc.getElementById("radio2").checked, true,
"radio button #2 value preserved");
isnot(iframeDoc.getElementById("password").value, "123456",
"password field value forgotten");
is(iframeDoc.getElementById("hidden").value, "gecko",
"hidden field value preserved");
is(SpecialPowers.wrap(iframeDoc).getElementById("file").value, filePath,
"file field value preserved");
SimpleTest.finish();
}
</script>
</pre>
</body>
</html>