diff options
Diffstat (limited to 'browser/devtools/netmonitor/test/browser_net_simple-init.js')
-rw-r--r-- | browser/devtools/netmonitor/test/browser_net_simple-init.js | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/browser/devtools/netmonitor/test/browser_net_simple-init.js b/browser/devtools/netmonitor/test/browser_net_simple-init.js new file mode 100644 index 000000000..9f444bb49 --- /dev/null +++ b/browser/devtools/netmonitor/test/browser_net_simple-init.js @@ -0,0 +1,84 @@ +/* Any copyright is dedicated to the Public Domain. + http://creativecommons.org/publicdomain/zero/1.0/ */ + +/** + * Simple check if the network monitor starts up and shuts down properly. + */ + +function test() { + initNetMonitor(SIMPLE_URL).then(([aTab, aDebuggee, aMonitor]) => { + info("Starting test... "); + + is(aTab.linkedBrowser.contentWindow.wrappedJSObject.location, SIMPLE_URL, + "The current tab's location is the correct one."); + is(aDebuggee.location, SIMPLE_URL, + "The current debuggee's location is the correct one."); + + function checkIfInitialized(aTag) { + info("Checking if initialization is ok (" + aTag + ")."); + + ok(aMonitor._view, + "The network monitor view object exists (" + aTag + ")."); + ok(aMonitor._view._isInitialized, + "The network monitor view object exists and is initialized (" + aTag + ")."); + + ok(aMonitor._controller, + "The network monitor controller object exists (" + aTag + ")."); + ok(aMonitor._controller._isInitialized, + "The network monitor controller object exists and is initialized (" + aTag + ")."); + + ok(aMonitor.isReady, + "The network monitor panel appears to be ready (" + aTag + ")."); + + ok(aMonitor._controller.client, + "There should be a client available at this point (" + aTag + ")."); + ok(aMonitor._controller.tabClient, + "There should be a tabClient available at this point (" + aTag + ")."); + ok(aMonitor._controller.webConsoleClient, + "There should be a webConsoleClient available at this point (" + aTag + ")."); + } + + function checkIfDestroyed(aTag) { + info("Checking if destruction is ok."); + + ok(!aMonitor._controller.client, + "There shouldn't be a client available after destruction (" + aTag + ")."); + ok(!aMonitor._controller.tabClient, + "There shouldn't be a tabClient available after destruction (" + aTag + ")."); + ok(!aMonitor._controller.webConsoleClient, + "There shouldn't be a webConsoleClient available after destruction (" + aTag + ")."); + } + + executeSoon(() => { + checkIfInitialized(1); + + aMonitor._controller.startupNetMonitor() + .then(() => { + info("Starting up again shouldn't do anything special."); + checkIfInitialized(2); + return aMonitor._controller.connect(); + }) + .then(() => { + info("Connecting again shouldn't do anything special."); + checkIfInitialized(3); + return teardown(aMonitor); + }) + .then(finish); + }); + + registerCleanupFunction(() => { + checkIfDestroyed(1); + + aMonitor._controller.shutdownNetMonitor() + .then(() => { + info("Shutting down again shouldn't do anything special."); + checkIfDestroyed(2); + return aMonitor._controller.disconnect(); + }) + .then(() => { + info("Disconnecting again shouldn't do anything special."); + checkIfDestroyed(3); + }); + }); + }); +} |