Source code

Revision control

Copy as Markdown

Other Tools

Test Info:

/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
function test() {
waitForExplicitFinish();
// establish initial state
is(gBrowser.tabs.length, 1, "we start with one tab");
// create a tab
let tab = gBrowser.addTab("about:blank", {
triggeringPrincipal: Services.scriptSecurityManager.getSystemPrincipal(),
});
ok(!tab.hidden, "tab starts out not hidden");
is(gBrowser.tabs.length, 2, "we now have two tabs");
// make sure .hidden is read-only
tab.hidden = true;
ok(!tab.hidden, "can't set .hidden directly");
// hide the tab
gBrowser.hideTab(tab);
ok(tab.hidden, "tab is hidden");
// now pin it and make sure it gets unhidden
gBrowser.pinTab(tab);
ok(tab.pinned, "tab was pinned");
ok(!tab.hidden, "tab was unhidden");
// try hiding it now that it's pinned; shouldn't be able to
gBrowser.hideTab(tab);
ok(!tab.hidden, "tab did not hide");
// clean up
gBrowser.removeTab(tab);
is(gBrowser.tabs.length, 1, "we finish with one tab");
finish();
}