File: test_ext_tabs_splitViewId.html

package info (click to toggle)
firefox 149.0-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 4,767,760 kB
  • sloc: cpp: 7,416,064; javascript: 6,752,859; ansic: 3,774,850; python: 1,250,473; xml: 641,578; asm: 439,191; java: 186,617; sh: 56,634; makefile: 18,856; objc: 13,092; perl: 12,763; pascal: 5,960; yacc: 4,583; cs: 3,846; lex: 1,720; ruby: 1,002; php: 436; lisp: 258; awk: 105; sql: 66; sed: 53; csh: 10; exp: 6
file content (58 lines) | stat: -rw-r--r-- 1,923 bytes parent folder | download
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
<!DOCTYPE HTML>
<html>
<head>
  <meta charset="utf-8">
  <title>Default splitViewId</title>
  <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
  <script type="text/javascript" src="/tests/SimpleTest/ExtensionTestUtils.js"></script>
  <script type="text/javascript" src="head.js"></script>
  <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css">
</head>
<body>

<script type="text/javascript">
"use strict";

// Full coverage for the tabs.Tab.splitViewId field is provided by
// browser/components/extensions/test/browser/browser_ext_tabs_splitViewId.js,
// but that test only runs on desktop Firefox.
// This test runs on both desktop and mobile Firefox. Although split views are
// unsupported on mobile, tab.splitViewId should still have a value (-1).
add_task(async function default_splitViewId_value() {
  const extension = ExtensionTestUtils.loadExtension({
    async background() {
      const tab = await browser.tabs.create({});
      browser.test.assertEq(
        -1,
        browser.tabs.SPLIT_VIEW_ID_NONE,
        "Expected value of SPLIT_VIEW_ID_NONE constant"
      );
      browser.test.assertEq(
        -1,
        tab.splitViewId,
        "tab.splitViewId defaults to -1 (SPLIT_VIEW_ID_NONE)"
      );
      let tabs = await browser.tabs.query({ splitViewId: -1 });
      browser.test.assertTrue(
        tabs.some(t => t.id === tab.id),
        "Found tab without split view, with tabs.query({ splitViewId: -1})"
      );
      browser.test.assertDeepEq(
        [],
        await browser.tabs.query({ splitViewId: Number.MAX_SAFE_INTEGER }),
        "tabs.query() for non-existing splitViewId should return empty list"
      );
      await browser.tabs.remove(tab.id);
      browser.test.sendMessage("done");
    },
  });

  await extension.startup();
  await extension.awaitMessage("done");
  await extension.unload();
});

</script>

</body>
</html>