summaryrefslogtreecommitdiffstats
path: root/browser/base/content/test/tabs/browser_openURI_background.js
blob: 53e329dd8f79f7a04792de69db2ded6a1e7fa3ec (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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
/* 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/. */

"use strict";

add_task(async function () {
  const tabCount = gBrowser.tabs.length;
  const currentTab = gBrowser.selectedTab;

  const tests = [
    ["OPEN_NEWTAB", false],
    ["OPEN_NEWTAB_BACKGROUND", true],
  ];

  for (const [flag, isBackground] of tests) {
    window.browserDOMWindow.openURI(
      makeURI("about:blank"),
      null,
      Ci.nsIBrowserDOMWindow[flag],
      Ci.nsIBrowserDOMWindow.OPEN_NEW,
      Services.scriptSecurityManager.getSystemPrincipal()
    );

    is(gBrowser.tabs.length, tabCount + 1, `${flag} opens a new tab`);

    const openedTab = gBrowser.tabs[tabCount];

    if (isBackground) {
      is(
        gBrowser.selectedTab,
        currentTab,
        `${flag} opens a new background tab`
      );
    } else {
      is(gBrowser.selectedTab, openedTab, `${flag} opens a new foreground tab`);
    }

    gBrowser.removeTab(openedTab);
  }
});