summaryrefslogtreecommitdiffstats
path: root/devtools/shared/protocol/tests/xpcshell/test_protocol_lifecycle.js
blob: bd887ba88a5c24e8c5974a54b09330cd60c3746b (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
/* Any copyright is dedicated to the Public Domain.
   http://creativecommons.org/publicdomain/zero/1.0/ */

"use strict";

const { Actor } = require("resource://devtools/shared/protocol/Actor.js");
const { Front } = require("resource://devtools/shared/protocol/Front.js");

add_task(async function () {
  // Front constructor expect to be provided a client object
  const client = {};
  const front = new Front(client);
  ok(
    !front.isDestroyed(),
    "Blank front with no actor ID is not considered as destroyed"
  );
  front.destroy();
  ok(front.isDestroyed(), "Front is destroyed");

  const actor = new Actor(null, { typeName: "actor", methods: [] });
  ok(
    !actor.isDestroyed(),
    "Blank actor with no actor ID is not considered as destroyed"
  );
  actor.destroy();
  ok(actor.isDestroyed(), "Actor is destroyed");
});