summaryrefslogtreecommitdiff
path: root/toolkit/devtools/commandline/test/browser_cmd_calllog.js
diff options
context:
space:
mode:
authorMatt A. Tobin <email@mattatobin.com>2016-10-16 19:34:53 -0400
committerMatt A. Tobin <email@mattatobin.com>2016-10-16 19:34:53 -0400
commit81805ce3f63e2e4a799bd54f174083c58a9b5640 (patch)
tree6e13374b213ac9b2ae74c25d8aac875faf71fdd0 /toolkit/devtools/commandline/test/browser_cmd_calllog.js
parent28c8da71bf521bb3ee76f27b8a241919e24b7cd5 (diff)
downloadpalemoon-gre-81805ce3f63e2e4a799bd54f174083c58a9b5640.tar.gz
Move Mozilla DevTools to Platform - Part 3: Merge the browser/devtools and toolkit/devtools adjusting for directory collisions
Diffstat (limited to 'toolkit/devtools/commandline/test/browser_cmd_calllog.js')
-rw-r--r--toolkit/devtools/commandline/test/browser_cmd_calllog.js119
1 files changed, 119 insertions, 0 deletions
diff --git a/toolkit/devtools/commandline/test/browser_cmd_calllog.js b/toolkit/devtools/commandline/test/browser_cmd_calllog.js
new file mode 100644
index 000000000..2ca225e3d
--- /dev/null
+++ b/toolkit/devtools/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";
+
+let 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;
+};