summaryrefslogtreecommitdiffstats
path: root/browser/base/content/test/general/browser_hide_removing.js
blob: 24079c22e631d62f799e685719ea35f2b02dbeb6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
/* 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/. */

// Bug 587922: tabs don't get removed if they're hidden

add_task(async function () {
  // Add a tab that will get removed and hidden
  let testTab = BrowserTestUtils.addTab(gBrowser, "about:blank", {
    skipAnimation: true,
  });
  is(gBrowser.visibleTabs.length, 2, "just added a tab, so 2 tabs");
  await BrowserTestUtils.switchTab(gBrowser, testTab);

  let numVisBeforeHide, numVisAfterHide;

  // We have to animate the tab removal in order to get an async
  // tab close.
  BrowserTestUtils.removeTab(testTab, { animate: true });

  numVisBeforeHide = gBrowser.visibleTabs.length;
  gBrowser.hideTab(testTab);
  numVisAfterHide = gBrowser.visibleTabs.length;

  is(numVisBeforeHide, 1, "animated remove has in 1 tab left");
  is(numVisAfterHide, 1, "hiding a removing tab also has 1 tab");
});