diff options
author | Matt A. Tobin <email@mattatobin.com> | 2016-10-16 19:34:53 -0400 |
---|---|---|
committer | Matt A. Tobin <email@mattatobin.com> | 2016-10-16 19:34:53 -0400 |
commit | 81805ce3f63e2e4a799bd54f174083c58a9b5640 (patch) | |
tree | 6e13374b213ac9b2ae74c25d8aac875faf71fdd0 /toolkit/devtools/commandline/test/browser_cmd_calllog.js | |
parent | 28c8da71bf521bb3ee76f27b8a241919e24b7cd5 (diff) | |
download | palemoon-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.js | 119 |
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; +}; |