mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-08 00:38:39 +09:00
Rename Toolkit's webextensions component directory to better reflect what it is.
This commit is contained in:
parent
6955450f7a
commit
d7d16e7fbb
242 changed files with 4 additions and 2 deletions
|
|
@ -1,191 +0,0 @@
|
|||
<!DOCTYPE HTML>
|
||||
<html>
|
||||
<head>
|
||||
<title>Testing test</title>
|
||||
<script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
|
||||
<script type="text/javascript" src="/tests/SimpleTest/SpawnTask.js"></script>
|
||||
<script type="text/javascript" src="head.js"></script>
|
||||
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<script>
|
||||
"use strict";
|
||||
|
||||
function loadExtensionAndInterceptTest(extensionData) {
|
||||
let results = [];
|
||||
let testResolve;
|
||||
let testDone = new Promise(resolve => { testResolve = resolve; });
|
||||
let handler = {
|
||||
testResult(...result) {
|
||||
result.pop();
|
||||
results.push(result);
|
||||
SimpleTest.info(`Received test result: ${JSON.stringify(result)}`);
|
||||
},
|
||||
|
||||
testMessage(msg, ...args) {
|
||||
results.push(["test-message", msg, ...args]);
|
||||
SimpleTest.info(`Received message: ${msg} ${JSON.stringify(args)}`);
|
||||
if (msg === "This is the last browser.test call") {
|
||||
testResolve();
|
||||
}
|
||||
},
|
||||
};
|
||||
let extension = SpecialPowers.loadExtension(extensionData, handler);
|
||||
SimpleTest.registerCleanupFunction(() => {
|
||||
if (extension.state == "pending" || extension.state == "running") {
|
||||
SimpleTest.ok(false, "Extension left running at test shutdown");
|
||||
return extension.unload();
|
||||
} else if (extension.state == "unloading") {
|
||||
SimpleTest.ok(false, "Extension not fully unloaded at test shutdown");
|
||||
}
|
||||
});
|
||||
extension.awaitResults = () => testDone.then(() => results);
|
||||
return extension;
|
||||
}
|
||||
|
||||
function testScript() {
|
||||
// Note: The result of these browser.test calls are intercepted by the test.
|
||||
// See verifyTestResults for the expectations of each browser.test call.
|
||||
browser.test.notifyPass("dot notifyPass");
|
||||
browser.test.notifyFail("dot notifyFail");
|
||||
browser.test.log("dot log");
|
||||
browser.test.fail("dot fail");
|
||||
browser.test.succeed("dot succeed");
|
||||
browser.test.assertTrue(true);
|
||||
browser.test.assertFalse(false);
|
||||
browser.test.assertEq("", "");
|
||||
|
||||
let obj = {};
|
||||
let arr = [];
|
||||
let dom = document.createElement("body");
|
||||
browser.test.assertTrue(obj, "Object truthy");
|
||||
browser.test.assertTrue(arr, "Array truthy");
|
||||
browser.test.assertTrue(dom, "Element truthy");
|
||||
browser.test.assertTrue(true, "True truthy");
|
||||
browser.test.assertTrue(false, "False truthy");
|
||||
browser.test.assertTrue(null, "Null truthy");
|
||||
browser.test.assertTrue(undefined, "Void truthy");
|
||||
browser.test.assertTrue(false, document.createElement("html"));
|
||||
|
||||
browser.test.assertFalse(obj, "Object falsey");
|
||||
browser.test.assertFalse(arr, "Array falsey");
|
||||
browser.test.assertFalse(dom, "Element falsey");
|
||||
browser.test.assertFalse(true, "True falsey");
|
||||
browser.test.assertFalse(false, "False falsey");
|
||||
browser.test.assertFalse(null, "Null falsey");
|
||||
browser.test.assertFalse(undefined, "Void falsey");
|
||||
browser.test.assertFalse(true, document.createElement("head"));
|
||||
|
||||
browser.test.assertEq(obj, obj, "Object equality");
|
||||
browser.test.assertEq(arr, arr, "Array equality");
|
||||
browser.test.assertEq(dom, dom, "Element equality");
|
||||
browser.test.assertEq(null, null, "Null equality");
|
||||
browser.test.assertEq(undefined, undefined, "Void equality");
|
||||
|
||||
browser.test.assertEq({}, {}, "Object reference ineqality");
|
||||
browser.test.assertEq([], [], "Array reference ineqality");
|
||||
browser.test.assertEq(dom, document.createElement("body"), "Element ineqality");
|
||||
browser.test.assertEq(null, undefined, "Null and void ineqality");
|
||||
browser.test.assertEq(true, false, document.createElement("div"));
|
||||
|
||||
obj = {
|
||||
toString() {
|
||||
return "Dynamic toString forbidden";
|
||||
},
|
||||
};
|
||||
browser.test.assertEq(obj, obj, "obj with dynamic toString()");
|
||||
browser.test.sendMessage("Ran test at", location.protocol);
|
||||
browser.test.sendMessage("This is the last browser.test call");
|
||||
}
|
||||
|
||||
function verifyTestResults(results, shortName, expectedProtocol) {
|
||||
let expectations = [
|
||||
["test-done", true, "dot notifyPass"],
|
||||
["test-done", false, "dot notifyFail"],
|
||||
["test-log", true, "dot log"],
|
||||
["test-result", false, "dot fail"],
|
||||
["test-result", true, "dot succeed"],
|
||||
["test-result", true, "undefined"],
|
||||
["test-result", true, "undefined"],
|
||||
["test-eq", true, "undefined", "", ""],
|
||||
|
||||
["test-result", true, "Object truthy"],
|
||||
["test-result", true, "Array truthy"],
|
||||
["test-result", true, "Element truthy"],
|
||||
["test-result", true, "True truthy"],
|
||||
["test-result", false, "False truthy"],
|
||||
["test-result", false, "Null truthy"],
|
||||
["test-result", false, "Void truthy"],
|
||||
["test-result", false, "[object HTMLHtmlElement]"],
|
||||
|
||||
["test-result", false, "Object falsey"],
|
||||
["test-result", false, "Array falsey"],
|
||||
["test-result", false, "Element falsey"],
|
||||
["test-result", false, "True falsey"],
|
||||
["test-result", true, "False falsey"],
|
||||
["test-result", true, "Null falsey"],
|
||||
["test-result", true, "Void falsey"],
|
||||
["test-result", false, "[object HTMLHeadElement]"],
|
||||
|
||||
["test-eq", true, "Object equality", "[object Object]", "[object Object]"],
|
||||
["test-eq", true, "Array equality", "", ""],
|
||||
["test-eq", true, "Element equality", "[object HTMLBodyElement]", "[object HTMLBodyElement]"],
|
||||
["test-eq", true, "Null equality", "null", "null"],
|
||||
["test-eq", true, "Void equality", "undefined", "undefined"],
|
||||
|
||||
["test-eq", false, "Object reference ineqality", "[object Object]", "[object Object] (different)"],
|
||||
["test-eq", false, "Array reference ineqality", "", " (different)"],
|
||||
["test-eq", false, "Element ineqality", "[object HTMLBodyElement]", "[object HTMLBodyElement] (different)"],
|
||||
["test-eq", false, "Null and void ineqality", "null", "undefined"],
|
||||
["test-eq", false, "[object HTMLDivElement]", "true", "false"],
|
||||
|
||||
["test-eq", true, "obj with dynamic toString()", "[object Object]", "[object Object]"],
|
||||
|
||||
["test-message", "Ran test at", expectedProtocol],
|
||||
["test-message", "This is the last browser.test call"],
|
||||
];
|
||||
|
||||
expectations.forEach((expectation, i) => {
|
||||
let msg = expectation.slice(2).join(" - ");
|
||||
isDeeply(results[i], expectation, `${shortName} (${msg})`);
|
||||
});
|
||||
is(results[expectations.length], undefined, "No more results");
|
||||
}
|
||||
|
||||
add_task(function* test_test_in_background() {
|
||||
let extensionData = {
|
||||
background: `(${testScript})()`,
|
||||
};
|
||||
|
||||
let extension = loadExtensionAndInterceptTest(extensionData);
|
||||
yield extension.startup();
|
||||
let results = yield extension.awaitResults();
|
||||
verifyTestResults(results, "background page", "moz-extension:");
|
||||
yield extension.unload();
|
||||
});
|
||||
|
||||
add_task(function* test_test_in_content_script() {
|
||||
let extensionData = {
|
||||
manifest: {
|
||||
content_scripts: [{
|
||||
matches: ["http://mochi.test/*/file_sample.html"],
|
||||
js: ["contentscript.js"],
|
||||
}],
|
||||
},
|
||||
files: {
|
||||
"contentscript.js": `(${testScript})()`,
|
||||
},
|
||||
};
|
||||
|
||||
let extension = loadExtensionAndInterceptTest(extensionData);
|
||||
yield extension.startup();
|
||||
let win = window.open("file_sample.html");
|
||||
let results = yield extension.awaitResults();
|
||||
win.close();
|
||||
verifyTestResults(results, "content script", "http:");
|
||||
yield extension.unload();
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
Loading…
Add table
Add a link
Reference in a new issue