Files
palemoon27/toolkit/devtools/profiler/test/browser_profiler_shared-connection-01.js
T

46 lines
1.4 KiB
JavaScript

/* Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/ */
/**
* Tests if there's only one shared profiler connection instance per toolbox.
*/
let gProfilerConnections = 0;
Services.obs.addObserver(profilerConnectionObserver, "profiler-connection-created", false);
let test = Task.async(function*() {
let firstTab = yield addTab(SIMPLE_URL);
let firstTarget = TargetFactory.forTab(firstTab);
yield firstTarget.makeRemote();
yield gDevTools.showToolbox(firstTarget, "webconsole");
is(gProfilerConnections, 1,
"A shared profiler connection should have been created.");
yield gDevTools.showToolbox(firstTarget, "jsprofiler");
is(gProfilerConnections, 1,
"No new profiler connections should have been created.");
let secondTab = yield addTab(SIMPLE_URL);
let secondTarget = TargetFactory.forTab(secondTab);
yield secondTarget.makeRemote();
yield gDevTools.showToolbox(secondTarget, "jsprofiler");
is(gProfilerConnections, 2,
"Only one new profiler connection should have been created.");
yield removeTab(firstTab);
yield removeTab(secondTab);
finish();
});
function profilerConnectionObserver(subject, topic, data) {
is(topic, "profiler-connection-created", "The correct topic was observed.");
gProfilerConnections++;
}
registerCleanupFunction(() => {
Services.obs.removeObserver(profilerConnectionObserver, "profiler-connection-created");
});