summaryrefslogtreecommitdiffstats
path: root/devtools/client/commandline/test/browser_cmd_calllog.js
diff options
context:
space:
mode:
Diffstat (limited to 'devtools/client/commandline/test/browser_cmd_calllog.js')
-rw-r--r--devtools/client/commandline/test/browser_cmd_calllog.js119
1 files changed, 119 insertions, 0 deletions
diff --git a/devtools/client/commandline/test/browser_cmd_calllog.js b/devtools/client/commandline/test/browser_cmd_calllog.js
new file mode 100644
index 000000000..ebe10165f
--- /dev/null
+++ b/devtools/client/commandline/test/browser_cmd_calllog.js
@@ -0,0 +1,119 @@
+/* Any copyright is dedicated to the Public Domain.
+* http://creativecommons.org/publicdomain/zero/1.0/ */
+
+// Tests that the calllog commands works as they should
+
+const TEST_URI = "data:text/html;charset=utf-8,gcli-calllog";
+
+var tests = {};
+
+function test() {
+ return Task.spawn(function* () {
+ let options = yield helpers.openTab(TEST_URI);
+ yield helpers.openToolbar(options);
+
+ yield helpers.runTests(options, tests);
+
+ yield helpers.closeToolbar(options);
+ yield helpers.closeTab(options);
+ }).then(finish, helpers.handleError);
+}
+
+tests.testCallLogStatus = function (options) {
+ return helpers.audit(options, [
+ {
+ setup: "calllog",
+ check: {
+ input: "calllog",
+ hints: "",
+ markup: "IIIIIII",
+ status: "ERROR"
+ }
+ },
+ {
+ setup: "calllog start",
+ check: {
+ input: "calllog start",
+ hints: "",
+ markup: "VVVVVVVVVVVVV",
+ status: "VALID"
+ }
+ },
+ {
+ setup: "calllog stop",
+ check: {
+ input: "calllog stop",
+ hints: "",
+ markup: "VVVVVVVVVVVV",
+ status: "VALID"
+ }
+ },
+ ]);
+};
+
+tests.testCallLogExec = function (options) {
+ var deferred = promise.defer();
+
+ var onWebConsoleOpen = function (subject) {
+ Services.obs.removeObserver(onWebConsoleOpen, "web-console-created");
+
+ subject.QueryInterface(Ci.nsISupportsString);
+ let hud = HUDService.getHudReferenceById(subject.data);
+ ok(hud, "console open");
+
+ helpers.audit(options, [
+ {
+ setup: "calllog stop",
+ exec: {
+ output: /Stopped call logging/,
+ }
+ },
+ {
+ setup: "console clear",
+ exec: {
+ output: "",
+ },
+ post: function () {
+ let labels = hud.outputNode.querySelectorAll(".webconsole-msg-output");
+ is(labels.length, 0, "no output in console");
+ }
+ },
+ {
+ setup: "console close",
+ exec: {
+ output: "",
+ }
+ },
+ ]).then(function () {
+ deferred.resolve();
+ });
+ };
+ Services.obs.addObserver(onWebConsoleOpen, "web-console-created", false);
+
+ helpers.audit(options, [
+ {
+ setup: "calllog stop",
+ exec: {
+ output: /No call logging/,
+ }
+ },
+ {
+ name: "calllog start",
+ setup: function () {
+ // This test wants to be in a different event
+ var deferred = promise.defer();
+ executeSoon(function () {
+ helpers.setInput(options, "calllog start").then(() => {
+ deferred.resolve();
+ });
+ });
+ return deferred.promise;
+ },
+ exec: {
+ output: /Call logging started/,
+ },
+ },
+ ]);
+
+ return deferred.promise;
+};