summaryrefslogtreecommitdiffstats
path: root/devtools/shared/heapsnapshot/tests/xpcshell/test_census-tree-node-03.js
blob: e0ca7dc15d0736bb729882d261d553efdadc576d (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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
/* Any copyright is dedicated to the Public Domain.
   http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";

/**
 * Tests CensusTreeNode with `objectClass` breakdown.
 */

const countBreakdown = { by: "count", count: true, bytes: true };

const BREAKDOWN = {
  by: "objectClass",
  then: countBreakdown,
  other: { by: "internalType", then: countBreakdown },
};

const REPORT = {
  Function: { bytes: 10, count: 10 },
  Array: { bytes: 100, count: 1 },
  other: {
    "JIT::CODE::NOW!!!": { bytes: 20, count: 2 },
    "JIT::CODE::LATER!!!": { bytes: 40, count: 4 },
  },
};

const EXPECTED = {
  name: null,
  count: 0,
  totalCount: 17,
  bytes: 0,
  totalBytes: 170,
  children: [
    {
      name: "Array",
      bytes: 100,
      totalBytes: 100,
      count: 1,
      totalCount: 1,
      children: undefined,
      id: 3,
      parent: 1,
      reportLeafIndex: 2,
    },
    {
      name: "other",
      count: 0,
      totalCount: 6,
      bytes: 0,
      totalBytes: 60,
      children: [
        {
          name: "JIT::CODE::LATER!!!",
          bytes: 40,
          totalBytes: 40,
          count: 4,
          totalCount: 4,
          children: undefined,
          id: 6,
          parent: 4,
          reportLeafIndex: 5,
        },
        {
          name: "JIT::CODE::NOW!!!",
          bytes: 20,
          totalBytes: 20,
          count: 2,
          totalCount: 2,
          children: undefined,
          id: 5,
          parent: 4,
          reportLeafIndex: 4,
        },
      ],
      id: 4,
      parent: 1,
      reportLeafIndex: undefined,
    },
    {
      name: "Function",
      bytes: 10,
      totalBytes: 10,
      count: 10,
      totalCount: 10,
      children: undefined,
      id: 2,
      parent: 1,
      reportLeafIndex: 1,
    },
  ],
  id: 1,
  parent: undefined,
  reportLeafIndex: undefined,
};

function run_test() {
  compareCensusViewData(BREAKDOWN, REPORT, EXPECTED);
}