mirror of
https://github.com/classilla/tenfourfox.git
synced 2024-10-22 02:25:05 +00:00
55 lines
1.8 KiB
HTML
55 lines
1.8 KiB
HTML
<!DOCTYPE HTML>
|
|
<html>
|
|
<head>
|
|
<title>Test for SpecialPowers.importInMainProcess</title>
|
|
<script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
|
|
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
|
|
</head>
|
|
<body>
|
|
|
|
<div id="content" class="testbody">
|
|
<script type="text/javascript">
|
|
SimpleTest.waitForExplicitFinish();
|
|
|
|
var failed = false;
|
|
try {
|
|
SpecialPowers.importInMainProcess("invalid file for import");
|
|
} catch (e) {
|
|
ok(e.toString().indexOf("NS_ERROR_MALFORMED_URI") > -1, "Exception should be for a malformed URI");
|
|
failed = true;
|
|
}
|
|
ok(failed, "An invalid import should throw");
|
|
|
|
const testingResource = "resource://testing-common/ImportTesting.jsm";
|
|
var script = SpecialPowers.loadChromeScript(SimpleTest.getTestFileURL('importtesting_chromescript.js'));
|
|
|
|
script.addMessageListener("ImportTesting:IsModuleLoadedReply", handleFirstReply);
|
|
script.sendAsyncMessage("ImportTesting:IsModuleLoaded", testingResource);
|
|
|
|
function handleFirstReply(aMsg) {
|
|
ok(!aMsg, "ImportTesting.jsm shouldn't be loaded before we import it");
|
|
|
|
try {
|
|
SpecialPowers.importInMainProcess(testingResource);
|
|
} catch (e) {
|
|
ok(false, "Unexpected exception when importing a valid resource: " + e.toString());
|
|
}
|
|
|
|
script.removeMessageListener("ImportTesting:IsModuleLoadedReply", handleFirstReply);
|
|
script.addMessageListener("ImportTesting:IsModuleLoadedReply", handleSecondReply);
|
|
script.sendAsyncMessage("ImportTesting:IsModuleLoaded", testingResource);
|
|
}
|
|
|
|
function handleSecondReply(aMsg) {
|
|
script.removeMessageListener("ImportTesting:IsModuleLoadedReply", handleSecondReply);
|
|
|
|
ok(aMsg, "ImportTesting.jsm should be loaded after we import it");
|
|
|
|
SimpleTest.finish();
|
|
}
|
|
|
|
</script>
|
|
</div>
|
|
</body>
|
|
</html>
|