mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-23 02:05:42 +00:00
Bug 1288885: Migrate simple extension mochitests to xpcshell. r=aswan
MozReview-Commit-ID: BiaTf6u43XP --HG-- rename : toolkit/components/extensions/test/mochitest/test_ext_background_runtime_connect_params.html => toolkit/components/extensions/test/xpcshell/test_ext_background_runtime_connect_params.js rename : toolkit/components/extensions/test/mochitest/test_ext_extension.html => toolkit/components/extensions/test/xpcshell/test_ext_extension.js rename : toolkit/components/extensions/test/mochitest/test_ext_idle.html => toolkit/components/extensions/test/xpcshell/test_ext_idle.js rename : toolkit/components/extensions/test/mochitest/test_ext_onmessage_removelistener.html => toolkit/components/extensions/test/xpcshell/test_ext_onmessage_removelistener.js rename : toolkit/components/extensions/test/mochitest/test_ext_runtime_getPlatformInfo.html => toolkit/components/extensions/test/xpcshell/test_ext_runtime_getPlatformInfo.js rename : toolkit/components/extensions/test/mochitest/test_ext_runtime_sendMessage.html => toolkit/components/extensions/test/xpcshell/test_ext_runtime_sendMessage.js rename : toolkit/components/extensions/test/mochitest/test_ext_simple.html => toolkit/components/extensions/test/xpcshell/test_ext_simple.js extra : source : f9fd137c9691e75d9e01d61be14608e7f28c7815
This commit is contained in:
parent
bacba188eb
commit
d9fc463ca9
@ -36,10 +36,8 @@ support-files =
|
||||
file_permission_xhr.html
|
||||
file_download.txt
|
||||
|
||||
[test_ext_extension.html]
|
||||
[test_ext_inIncognitoContext_window.html]
|
||||
skip-if = os == 'android' # Android does not currently support windows.
|
||||
[test_ext_simple.html]
|
||||
[test_ext_geturl.html]
|
||||
[test_ext_background_canvas.html]
|
||||
[test_ext_content_security_policy.html]
|
||||
@ -54,9 +52,7 @@ skip-if = buildapp == 'b2g' # runat != document_idle is not supported.
|
||||
[test_ext_exclude_include_globs.html]
|
||||
[test_ext_i18n_css.html]
|
||||
[test_ext_generate.html]
|
||||
[test_ext_idle.html]
|
||||
[test_ext_localStorage.html]
|
||||
[test_ext_onmessage_removelistener.html]
|
||||
[test_ext_notifications.html]
|
||||
[test_ext_permission_xhr.html]
|
||||
skip-if = buildapp == 'b2g' # JavaScript error: jar:remoteopenfile:///data/local/tmp/generated-extension.xpi!/content.js, line 46: NS_ERROR_ILLEGAL_VALUE:
|
||||
@ -67,9 +63,7 @@ skip-if = (os == 'android' || buildapp == 'b2g') # port.sender.tab is undefined
|
||||
[test_ext_runtime_connect2.html]
|
||||
skip-if = (os == 'android' || buildapp == 'b2g') # port.sender.tab is undefined on b2g. Bug 1258975 on android.
|
||||
[test_ext_runtime_disconnect.html]
|
||||
[test_ext_runtime_getPlatformInfo.html]
|
||||
[test_ext_runtime_id.html]
|
||||
[test_ext_runtime_sendMessage.html]
|
||||
[test_ext_sandbox_var.html]
|
||||
[test_ext_sendmessage_reply.html]
|
||||
skip-if = (os == 'android' || buildapp == 'b2g') # sender.tab is undefined on b2g. Bug 1258975 on android.
|
||||
@ -81,7 +75,6 @@ skip-if = (os == 'android' || buildapp == 'b2g') # sender.tab is undefined on b2
|
||||
[test_ext_storage_content.html]
|
||||
[test_ext_storage_tab.html]
|
||||
skip-if = os == 'android' # Android does not currently support tabs.
|
||||
[test_ext_background_runtime_connect_params.html]
|
||||
[test_ext_cookies.html]
|
||||
[test_ext_bookmarks.html]
|
||||
skip-if = (os == 'android' || buildapp == 'b2g') # unimplemented api. Bug 1258975 on android.
|
||||
|
@ -1,16 +1,5 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html>
|
||||
<head>
|
||||
<title>WebExtension 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="/tests/SimpleTest/ExtensionTestUtils.js"></script>
|
||||
<script type="text/javascript" src="head.js"></script>
|
||||
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<script type="text/javascript">
|
||||
/* -*- Mode: indent-tabs-mode: nil; js-indent-level: 2 -*- */
|
||||
/* vim: set sts=2 sw=2 et tw=80: */
|
||||
"use strict";
|
||||
|
||||
function backgroundScript() {
|
||||
@ -60,7 +49,7 @@ function backgroundScript() {
|
||||
}
|
||||
|
||||
let extensionData = {
|
||||
background: "(" + backgroundScript.toString() + ")()",
|
||||
background: backgroundScript,
|
||||
manifest: {},
|
||||
files: {},
|
||||
};
|
||||
@ -68,14 +57,8 @@ let extensionData = {
|
||||
add_task(function* test_backgroundRuntimeConnectParams() {
|
||||
let extension = ExtensionTestUtils.loadExtension(extensionData);
|
||||
yield extension.startup();
|
||||
info("extension loaded");
|
||||
|
||||
yield extension.awaitFinish("runtime.connect invalid params");
|
||||
|
||||
yield extension.unload();
|
||||
info("extension unloaded");
|
||||
});
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
@ -1,16 +1,5 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html>
|
||||
<head>
|
||||
<title>WebExtension 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="/tests/SimpleTest/ExtensionTestUtils.js"></script>
|
||||
<script type="text/javascript" src="head.js"></script>
|
||||
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<script type="text/javascript">
|
||||
/* -*- Mode: indent-tabs-mode: nil; js-indent-level: 2 -*- */
|
||||
/* vim: set sts=2 sw=2 et tw=80: */
|
||||
"use strict";
|
||||
|
||||
add_task(function* test_is_allowed_incognito_access() {
|
||||
@ -22,7 +11,7 @@ add_task(function* test_is_allowed_incognito_access() {
|
||||
}
|
||||
|
||||
let extension = ExtensionTestUtils.loadExtension({
|
||||
background: `(${background})()`,
|
||||
background,
|
||||
manifest: {},
|
||||
});
|
||||
|
||||
@ -38,7 +27,7 @@ add_task(function* test_in_incognito_context_false() {
|
||||
}
|
||||
|
||||
let extension = ExtensionTestUtils.loadExtension({
|
||||
background: `(${background})()`,
|
||||
background,
|
||||
manifest: {},
|
||||
});
|
||||
|
||||
@ -48,7 +37,7 @@ add_task(function* test_in_incognito_context_false() {
|
||||
});
|
||||
|
||||
add_task(function* test_is_allowed_file_scheme_access() {
|
||||
function backgroundScript() {
|
||||
function background() {
|
||||
browser.extension.isAllowedFileSchemeAccess().then(isAllowedFileSchemeAccess => {
|
||||
browser.test.assertEq(false, isAllowedFileSchemeAccess, "isAllowedFileSchemeAccess is false");
|
||||
browser.test.notifyPass("isAllowedFileSchemeAccess");
|
||||
@ -56,18 +45,11 @@ add_task(function* test_is_allowed_file_scheme_access() {
|
||||
}
|
||||
|
||||
let extension = ExtensionTestUtils.loadExtension({
|
||||
background: `(${backgroundScript})()`,
|
||||
background,
|
||||
manifest: {},
|
||||
});
|
||||
|
||||
yield extension.startup();
|
||||
info("extension loaded");
|
||||
yield extension.awaitFinish("isAllowedFileSchemeAccess");
|
||||
yield extension.unload();
|
||||
info("extension unloaded");
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
@ -1,16 +1,5 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html>
|
||||
<head>
|
||||
<title>WebExtension idle API 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="/tests/SimpleTest/ExtensionTestUtils.js"></script>
|
||||
<script type="text/javascript" src="head.js"></script>
|
||||
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<script type="text/javascript">
|
||||
/* -*- Mode: indent-tabs-mode: nil; js-indent-level: 2 -*- */
|
||||
/* vim: set sts=2 sw=2 et tw=80: */
|
||||
"use strict";
|
||||
|
||||
add_task(function* testIdle() {
|
||||
@ -26,7 +15,7 @@ add_task(function* testIdle() {
|
||||
}
|
||||
|
||||
let extension = ExtensionTestUtils.loadExtension({
|
||||
background: `(${background})()`,
|
||||
background,
|
||||
|
||||
manifest: {
|
||||
permissions: ["idle"],
|
||||
@ -39,5 +28,3 @@ add_task(function* testIdle() {
|
||||
|
||||
yield extension.unload();
|
||||
});
|
||||
</script>
|
||||
</body>
|
@ -1,16 +1,5 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html>
|
||||
<head>
|
||||
<title>WebExtension 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="/tests/SimpleTest/ExtensionTestUtils.js"></script>
|
||||
<script type="text/javascript" src="head.js"></script>
|
||||
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<script type="text/javascript">
|
||||
/* -*- Mode: indent-tabs-mode: nil; js-indent-level: 2 -*- */
|
||||
/* vim: set sts=2 sw=2 et tw=80: */
|
||||
"use strict";
|
||||
|
||||
function backgroundScript() {
|
||||
@ -30,18 +19,12 @@ function backgroundScript() {
|
||||
}
|
||||
|
||||
let extensionData = {
|
||||
background: "(" + backgroundScript.toString() + ")()",
|
||||
background: backgroundScript,
|
||||
};
|
||||
|
||||
add_task(function* test_contentscript() {
|
||||
let extension = ExtensionTestUtils.loadExtension(extensionData);
|
||||
yield extension.startup();
|
||||
info("extension loaded");
|
||||
yield extension.awaitFinish("onmessage_removelistener");
|
||||
yield extension.unload();
|
||||
info("extension unloaded");
|
||||
});
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,19 @@
|
||||
/* -*- Mode: indent-tabs-mode: nil; js-indent-level: 2 -*- */
|
||||
/* vim: set sts=2 sw=2 et tw=80: */
|
||||
"use strict";
|
||||
|
||||
add_task(function* test_connect_without_listener() {
|
||||
function background() {
|
||||
let port = browser.runtime.connect();
|
||||
port.onDisconnect.addListener(() => {
|
||||
browser.test.notifyPass("port.onDisconnect was called");
|
||||
});
|
||||
}
|
||||
|
||||
let extension = ExtensionTestUtils.loadExtension({background});
|
||||
yield extension.startup();
|
||||
|
||||
yield extension.awaitFinish("port.onDisconnect was called");
|
||||
|
||||
yield extension.unload();
|
||||
});
|
@ -1,16 +1,5 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html>
|
||||
<head>
|
||||
<title>WebExtension 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="/tests/SimpleTest/ExtensionTestUtils.js"></script>
|
||||
<script type="text/javascript" src="head.js"></script>
|
||||
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<script type="text/javascript">
|
||||
/* -*- Mode: indent-tabs-mode: nil; js-indent-level: 2 -*- */
|
||||
/* vim: set sts=2 sw=2 et tw=80: */
|
||||
"use strict";
|
||||
|
||||
function backgroundScript() {
|
||||
@ -25,7 +14,7 @@ function backgroundScript() {
|
||||
}
|
||||
|
||||
let extensionData = {
|
||||
background: "(" + backgroundScript.toString() + ")()",
|
||||
background: backgroundScript,
|
||||
};
|
||||
|
||||
add_task(function* test_contentscript() {
|
||||
@ -34,7 +23,3 @@ add_task(function* test_contentscript() {
|
||||
yield extension.awaitFinish("runtime.getPlatformInfo");
|
||||
yield extension.unload();
|
||||
});
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
@ -1,16 +1,5 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html>
|
||||
<head>
|
||||
<title>WebExtension 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="/tests/SimpleTest/ExtensionTestUtils.js"></script>
|
||||
<script type="text/javascript" src="head.js"></script>
|
||||
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<script type="text/javascript">
|
||||
/* -*- Mode: indent-tabs-mode: nil; js-indent-level: 2 -*- */
|
||||
/* vim: set sts=2 sw=2 et tw=80: */
|
||||
"use strict";
|
||||
|
||||
add_task(function* tabsSendMessageReply() {
|
||||
@ -72,14 +61,10 @@ add_task(function* tabsSendMessageReply() {
|
||||
}
|
||||
|
||||
let extension = ExtensionTestUtils.loadExtension({
|
||||
background: `(${background})()`,
|
||||
background,
|
||||
});
|
||||
|
||||
yield extension.startup();
|
||||
yield extension.awaitFinish("sendMessage");
|
||||
yield extension.unload();
|
||||
});
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,22 @@
|
||||
/* -*- Mode: indent-tabs-mode: nil; js-indent-level: 2 -*- */
|
||||
/* vim: set sts=2 sw=2 et tw=80: */
|
||||
"use strict";
|
||||
|
||||
add_task(function* test_sendMessage_without_listener() {
|
||||
function background() {
|
||||
browser.runtime.sendMessage("msg").then(reply => {
|
||||
browser.test.assertEq(undefined, reply);
|
||||
browser.test.notifyFail("Did not expect a reply to sendMessage");
|
||||
}, error => {
|
||||
browser.test.assertEq("Could not establish connection. Receiving end does not exist.", error.message);
|
||||
browser.test.notifyPass("sendMessage callback was invoked");
|
||||
});
|
||||
}
|
||||
|
||||
let extension = ExtensionTestUtils.loadExtension({background});
|
||||
yield extension.startup();
|
||||
|
||||
yield extension.awaitFinish("sendMessage callback was invoked");
|
||||
|
||||
yield extension.unload();
|
||||
});
|
@ -1,16 +1,5 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html>
|
||||
<head>
|
||||
<title>Test for simple WebExtension</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="/tests/SimpleTest/ExtensionTestUtils.js"></script>
|
||||
<script type="text/javascript" src="head.js"></script>
|
||||
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<script type="text/javascript">
|
||||
/* -*- Mode: indent-tabs-mode: nil; js-indent-level: 2 -*- */
|
||||
/* vim: set sts=2 sw=2 et tw=80: */
|
||||
"use strict";
|
||||
|
||||
add_task(function* test_simple() {
|
||||
@ -24,15 +13,12 @@ add_task(function* test_simple() {
|
||||
};
|
||||
|
||||
let extension = ExtensionTestUtils.loadExtension(extensionData);
|
||||
info("load complete");
|
||||
yield extension.startup();
|
||||
info("startup complete");
|
||||
yield extension.unload();
|
||||
info("extension unloaded successfully");
|
||||
});
|
||||
|
||||
add_task(function* test_background() {
|
||||
function backgroundScript() {
|
||||
function background() {
|
||||
browser.test.log("running background script");
|
||||
|
||||
browser.test.onMessage.addListener((x, y) => {
|
||||
@ -46,7 +32,7 @@ add_task(function* test_background() {
|
||||
}
|
||||
|
||||
let extensionData = {
|
||||
background: "(" + backgroundScript.toString() + ")()",
|
||||
background,
|
||||
manifest: {
|
||||
"name": "Simple extension test",
|
||||
"version": "1.0",
|
||||
@ -56,18 +42,11 @@ add_task(function* test_background() {
|
||||
};
|
||||
|
||||
let extension = ExtensionTestUtils.loadExtension(extensionData);
|
||||
info("load complete");
|
||||
|
||||
let [, x] = yield Promise.all([extension.startup(), extension.awaitMessage("running")]);
|
||||
is(x, 1, "got correct value from extension");
|
||||
info("startup complete");
|
||||
equal(x, 1, "got correct value from extension");
|
||||
|
||||
extension.sendMessage(10, 20);
|
||||
yield extension.awaitFinish();
|
||||
info("test complete");
|
||||
yield extension.unload();
|
||||
info("extension unloaded successfully");
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
@ -4,16 +4,25 @@ tail =
|
||||
firefox-appdir = browser
|
||||
skip-if = toolkit == 'gonk' || appname == "thunderbird"
|
||||
|
||||
[test_ext_alarms.js]
|
||||
[test_csp_custom_policies.js]
|
||||
[test_csp_validator.js]
|
||||
[test_locale_data.js]
|
||||
[test_locale_converter.js]
|
||||
[test_ext_alarms.js]
|
||||
[test_ext_background_runtime_connect_params.js]
|
||||
[test_ext_contexts.js]
|
||||
[test_ext_extension.js]
|
||||
[test_ext_idle.js]
|
||||
[test_ext_json_parser.js]
|
||||
[test_ext_manifest_content_security_policy.js]
|
||||
[test_ext_manifest_incognito.js]
|
||||
[test_ext_onmessage_removelistener.js]
|
||||
[test_ext_runtime_connect_no_receiver.js]
|
||||
[test_ext_runtime_getPlatformInfo.js]
|
||||
[test_ext_runtime_sendMessage.js]
|
||||
[test_ext_runtime_sendMessage_no_receiver.js]
|
||||
[test_ext_schemas.js]
|
||||
[test_ext_simple.js]
|
||||
[test_getAPILevelForWindow.js]
|
||||
[test_locale_converter.js]
|
||||
[test_locale_data.js]
|
||||
[test_native_messaging.js]
|
||||
skip-if = os == "android"
|
||||
|
Loading…
Reference in New Issue
Block a user