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:
Kris Maglione 2016-07-22 16:57:58 -07:00
parent bacba188eb
commit d9fc463ca9
11 changed files with 81 additions and 154 deletions

View File

@ -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.

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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();
});

View File

@ -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>

View File

@ -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>

View File

@ -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();
});

View File

@ -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>

View File

@ -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"