forked from mirrors/gecko-dev
This is split from the previous changeset since if we include dom/ the file size is too large for phabricator to handle. This is an autogenerated commit to handle scripts loading mochitest harness files, in the simple case where the script src is on the same line as the tag. This was generated with https://bug1544322.bmoattachments.org/attachment.cgi?id=9058170 using the `--part 2` argument. Differential Revision: https://phabricator.services.mozilla.com/D27457 --HG-- extra : moz-landing-system : lando
88 lines
1.8 KiB
HTML
88 lines
1.8 KiB
HTML
<!DOCTYPE HTML>
|
|
<html>
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<title>Test - bug 1238440</title>
|
|
<script src="/tests/SimpleTest/SimpleTest.js"></script>
|
|
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
|
|
</head>
|
|
<body>
|
|
<input type="file" id="file" />
|
|
<script type="application/javascript">
|
|
|
|
var script;
|
|
|
|
function step_createScript() {
|
|
info("Creating script...");
|
|
var url = SimpleTest.getTestFileURL("script_bug1238440.js");
|
|
script = SpecialPowers.loadChromeScript(url);
|
|
next();
|
|
}
|
|
|
|
function step_destroyScript() {
|
|
info("Destroying script...");
|
|
script.destroy();
|
|
next();
|
|
}
|
|
|
|
|
|
function step_createFile() {
|
|
info("Creating file...");
|
|
|
|
function onOpened(message) {
|
|
var fileList = document.getElementById('file');
|
|
SpecialPowers.wrap(fileList).mozSetFileArray([message.file]);
|
|
ok(!!message.file, "File created and set");
|
|
next();
|
|
}
|
|
|
|
script.addMessageListener("file.opened", onOpened);
|
|
script.sendAsyncMessage("file.open");
|
|
}
|
|
|
|
function step_changeFile() {
|
|
info("Changing file...");
|
|
script.addMessageListener("file.changed", next);
|
|
script.sendAsyncMessage("file.change");
|
|
}
|
|
|
|
function step_fileReader(status) {
|
|
var fr = new FileReader();
|
|
fr.onload = function() {
|
|
is(status, true, "onload called!");
|
|
next();
|
|
}
|
|
|
|
fr.onerror = function(e) {
|
|
e.preventDefault();
|
|
is(status, false, "onerror called!");
|
|
next();
|
|
}
|
|
|
|
fr.readAsArrayBuffer(document.getElementById("file").files[0]);
|
|
}
|
|
|
|
var steps = [
|
|
step_createScript,
|
|
step_createFile,
|
|
function() { step_fileReader(true); },
|
|
step_changeFile,
|
|
function() { step_fileReader(false); },
|
|
step_destroyScript,
|
|
];
|
|
|
|
function next() {
|
|
if (!steps.length) {
|
|
SimpleTest.finish();
|
|
return;
|
|
}
|
|
|
|
var step = steps.shift();
|
|
step();
|
|
}
|
|
|
|
SimpleTest.waitForExplicitFinish();
|
|
next();
|
|
</script>
|
|
</body>
|
|
</html>
|