Files
tubestation/browser/devtools/webide/test/browser_tabs.js
2014-09-08 10:17:52 +02:00

56 lines
1.5 KiB
JavaScript

/* Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
function test() {
waitForExplicitFinish();
SimpleTest.requestCompleteLog();
Task.spawn(function() {
const { DebuggerServer } =
Cu.import("resource://gre/modules/devtools/dbg-server.jsm", {});
DebuggerServer.init(function () { return true; });
DebuggerServer.addBrowserActors();
let tab = yield addTab("about:newtab");
let win = yield openWebIDE();
yield connectToLocal(win);
is(Object.keys(DebuggerServer._connections).length, 1, "Locally connected");
yield selectTabProject(win);
let project = win.AppManager.selectedProject;
is(project.location, "about:newtab", "Location is correct");
is(project.name, "New Tab", "Name is correct");
yield closeWebIDE(win);
DebuggerServer.destroy();
yield removeTab(tab);
finish();
});
}
function connectToLocal(win) {
let deferred = promise.defer();
win.AppManager.connection.once(
win.Connection.Events.CONNECTED,
() => deferred.resolve());
win.document.querySelectorAll(".runtime-panel-item-custom")[1].click();
return deferred.promise;
}
function selectTabProject(win) {
return Task.spawn(function() {
yield win.AppManager.listTabs();
win.Cmds.showProjectPanel();
yield nextTick();
let tabsNode = win.document.querySelector("#project-panel-tabs");
let tabNode = tabsNode.querySelectorAll(".panel-item")[1];
tabNode.click();
});
}