summaryrefslogtreecommitdiffstats
path: root/devtools/client/commandline/test/browser_cmd_addon.js
diff options
context:
space:
mode:
Diffstat (limited to 'devtools/client/commandline/test/browser_cmd_addon.js')
-rw-r--r--devtools/client/commandline/test/browser_cmd_addon.js195
1 files changed, 195 insertions, 0 deletions
diff --git a/devtools/client/commandline/test/browser_cmd_addon.js b/devtools/client/commandline/test/browser_cmd_addon.js
new file mode 100644
index 000000000..e8cea2e06
--- /dev/null
+++ b/devtools/client/commandline/test/browser_cmd_addon.js
@@ -0,0 +1,195 @@
+/* Any copyright is dedicated to the Public Domain.
+ * http://creativecommons.org/publicdomain/zero/1.0/ */
+
+// Tests that the addon commands works as they should
+
+function test() {
+ return Task.spawn(spawnTest).then(finish, helpers.handleError);
+}
+
+function* spawnTest() {
+ let options = yield helpers.openTab("about:blank");
+ yield helpers.openToolbar(options);
+
+ yield helpers.audit(options, [
+ {
+ setup: "addon list dictionary",
+ check: {
+ input: "addon list dictionary",
+ hints: "",
+ markup: "VVVVVVVVVVVVVVVVVVVVV",
+ status: "VALID"
+ },
+ exec: {
+ output: "There are no add-ons of that type installed."
+ }
+ },
+ {
+ setup: "addon list extension",
+ check: {
+ input: "addon list extension",
+ hints: "",
+ markup: "VVVVVVVVVVVVVVVVVVVV",
+ status: "VALID"
+ },
+ exec: {
+ output: [/The following/, /Mochitest/, /Special Powers/]
+ }
+ },
+ {
+ setup: "addon list locale",
+ check: {
+ input: "addon list locale",
+ hints: "",
+ markup: "VVVVVVVVVVVVVVVVV",
+ status: "VALID"
+ },
+ exec: {
+ output: "There are no add-ons of that type installed."
+ }
+ },
+ {
+ setup: "addon list plugin",
+ check: {
+ input: "addon list plugin",
+ hints: "",
+ markup: "VVVVVVVVVVVVVVVVV",
+ status: "VALID"
+ },
+ exec: {
+ output: [/Test Plug-in/, /Second Test Plug-in/]
+ }
+ },
+ {
+ setup: "addon list theme",
+ check: {
+ input: "addon list theme",
+ hints: "",
+ markup: "VVVVVVVVVVVVVVVV",
+ status: "VALID"
+ },
+ exec: {
+ output: [/following themes/, /Default/]
+ }
+ },
+ {
+ setup: "addon list all",
+ check: {
+ input: "addon list all",
+ hints: "",
+ markup: "VVVVVVVVVVVVVV",
+ status: "VALID"
+ },
+ exec: {
+ output: [/The following/, /Default/, /Mochitest/, /Test Plug-in/,
+ /Second Test Plug-in/, /Special Powers/]
+ }
+ },
+ {
+ setup: "addon disable Test_Plug-in_1.0.0.0",
+ check: {
+ input: "addon disable Test_Plug-in_1.0.0.0",
+ hints: "",
+ markup: "VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV",
+ status: "VALID"
+ },
+ exec: {
+ output: "Test Plug-in 1.0.0.0 disabled."
+ }
+ },
+ {
+ setup: "addon disable WRONG",
+ check: {
+ input: "addon disable WRONG",
+ hints: "",
+ markup: "VVVVVVVVVVVVVVEEEEE",
+ status: "ERROR"
+ }
+ },
+ {
+ setup: "addon enable Test_Plug-in_1.0.0.0",
+ check: {
+ input: "addon enable Test_Plug-in_1.0.0.0",
+ hints: "",
+ markup: "VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV",
+ status: "VALID",
+ args: {
+ command: { name: "addon enable" },
+ addon: {
+ value: function (addon) {
+ is(addon.name, "Test Plug-in", "test plugin name");
+ },
+ status: "VALID"
+ }
+ }
+ },
+ exec: {
+ output: "Test Plug-in 1.0.0.0 enabled."
+ }
+ },
+ {
+ setup: "addon ctp Test_Plug-in_1.0.0.0",
+ check: {
+ input: "addon ctp Test_Plug-in_1.0.0.0",
+ hints: "",
+ markup: "VVVVVVVVVVVVVVVVVVVVVVVVVVVVVV",
+ status: "VALID",
+ args: {
+ command: { name: "addon ctp" },
+ addon: {
+ value: function (addon) {
+ is(addon.name, "Test Plug-in", "test plugin name");
+ },
+ status: "VALID"
+ }
+ }
+ },
+ exec: {
+ output: "Test Plug-in 1.0.0.0 set to click-to-play."
+ }
+ },
+ {
+ setup: "addon ctp OpenH264_Video_Codec_provided_by_Cisco_Systems,_Inc._null",
+ check: {
+ input: "addon ctp OpenH264_Video_Codec_provided_by_Cisco_Systems,_Inc._null",
+ hints: "",
+ status: "VALID",
+ args: {
+ command: { name: "addon ctp" },
+ addon: {
+ value: function (addon) {
+ is(addon.name, "OpenH264 Video Codec provided by Cisco Systems, Inc.", "openh264");
+ },
+ status: "VALID"
+ }
+ }
+ },
+ exec: {
+ output: "OpenH264 Video Codec provided by Cisco Systems, Inc. null cannot be set to click-to-play."
+ }
+ },
+ {
+ setup: "addon ctp Mochitest_1.0",
+ check: {
+ input: "addon ctp Mochitest_1.0",
+ hints: "",
+ status: "VALID",
+ args: {
+ command: { name: "addon ctp" },
+ addon: {
+ value: function (addon) {
+ is(addon.name, "Mochitest", "mochitest");
+ },
+ status: "VALID"
+ }
+ }
+ },
+ exec: {
+ output: "Mochitest 1.0 cannot be set to click-to-play because it is not a plugin."
+ }
+ }
+ ]);
+
+ yield helpers.closeToolbar(options);
+ yield helpers.closeTab(options);
+}