summaryrefslogtreecommitdiffstats
path: root/remote/cdp/test/browser/target/browser_attachedToTarget.js
blob: 4f25868f2ac8b2fe089b612dcca62ce2c2c0fb53 (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
42
43
44
45
46
47
48
49
50
/* Any copyright is dedicated to the Public Domain.
 * http://creativecommons.org/publicdomain/zero/1.0/ */

"use strict";

const PAGE_TEST =
  "https://example.com/browser/remote/cdp/test/browser/target/doc_test.html";

add_task(
  async function attachedPageTarget({ client }) {
    const { Target } = client;
    const { targetInfo } = await openTab(Target);

    ok(
      !targetInfo.attached,
      "Got expected target attached status before attaching"
    );

    await loadURL(PAGE_TEST);

    info("Attach new page target");
    const attachedToTarget = Target.attachedToTarget();
    const { sessionId } = await Target.attachToTarget({
      targetId: targetInfo.targetId,
    });
    const {
      targetInfo: eventTargetInfo,
      sessionId: eventSessionId,
      waitingForDebugger: eventWaitingForDebugger,
    } = await attachedToTarget;

    is(eventTargetInfo.targetId, targetInfo.targetId, "Got expected target id");
    is(eventTargetInfo.type, "page", "Got expected target type");
    is(eventTargetInfo.title, "Test Page", "Got expected target title");
    is(eventTargetInfo.url, PAGE_TEST, "Got expected target URL");
    ok(eventTargetInfo.attached, "Got expected target attached status");

    is(
      eventSessionId,
      sessionId,
      "attachedToTarget and attachToTarget refer to the same session id"
    );
    is(
      typeof eventWaitingForDebugger,
      "boolean",
      "Got expected type for waitingForDebugger"
    );
  },
  { createTab: false }
);