summaryrefslogtreecommitdiffstats
path: root/devtools/shared/heapsnapshot/tests/xpcshell/test_DominatorTree_04.js
blob: 2bfe46977f44b75f42f94c6919fb5ee357f432f2 (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
/* Any copyright is dedicated to the Public Domain.
   http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";

// Test that we can get the retained sizes of dominator trees.

function run_test() {
  const dominatorTree = saveHeapSnapshotAndComputeDominatorTree();
  equal(
    typeof dominatorTree.getRetainedSize,
    "function",
    "getRetainedSize should be a function"
  );

  const size = dominatorTree.getRetainedSize(dominatorTree.root);
  ok(size, "should get a size for the root");
  equal(typeof size, "number", "retained sizes should be a number");
  equal(Math.floor(size), size, "size should be an integer");
  Assert.greater(size, 0, "size should be positive");
  Assert.lessOrEqual(
    size,
    Math.pow(2, 64),
    "size should be less than or equal to 2^64"
  );

  const bad = dominatorTree.getRetainedSize(1);
  equal(bad, null, "null is returned for unknown node ids");

  do_test_finished();
}