Mypal/dom/heapsnapshot/tests/unit/test_DominatorTreeNode_inse...

118 lines
2.5 KiB
JavaScript

/* Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/ */
// Test inserting new children into an existing DominatorTreeNode at the root.
const tree = makeTestDominatorTreeNode({ nodeId: 666 }, [
makeTestDominatorTreeNode({}),
makeTestDominatorTreeNode({}, [
makeTestDominatorTreeNode({}),
makeTestDominatorTreeNode({}),
makeTestDominatorTreeNode({}),
]),
makeTestDominatorTreeNode({}),
]);
const path = [666];
const newChildren = [
makeTestDominatorTreeNode({
nodeId: 777,
parentId: 666
}),
makeTestDominatorTreeNode({
nodeId: 888,
parentId: 666
}),
];
const moreChildrenAvailable = false;
const expected = {
nodeId: 666,
label: undefined,
parentId: undefined,
shallowSize: 1,
retainedSize: 7,
children: [
{
nodeId: 0,
label: undefined,
shallowSize: 1,
retainedSize: 1,
parentId: 666,
moreChildrenAvailable: true,
children: undefined
},
{
nodeId: 4,
label: undefined,
shallowSize: 1,
retainedSize: 4,
parentId: 666,
children: [
{
nodeId: 1,
label: undefined,
shallowSize: 1,
retainedSize: 1,
parentId: 4,
moreChildrenAvailable: true,
children: undefined
},
{
nodeId: 2,
label: undefined,
shallowSize: 1,
retainedSize: 1,
parentId: 4,
moreChildrenAvailable: true,
children: undefined
},
{
nodeId: 3,
label: undefined,
shallowSize: 1,
retainedSize: 1,
parentId: 4,
moreChildrenAvailable: true,
children: undefined
}
],
moreChildrenAvailable: true
},
{
nodeId: 5,
label: undefined,
shallowSize: 1,
retainedSize: 1,
parentId: 666,
moreChildrenAvailable: true,
children: undefined
},
{
nodeId: 777,
label: undefined,
shallowSize: 1,
retainedSize: 1,
parentId: 666,
moreChildrenAvailable: true,
children: undefined
},
{
nodeId: 888,
label: undefined,
shallowSize: 1,
retainedSize: 1,
parentId: 666,
moreChildrenAvailable: true,
children: undefined
}
],
moreChildrenAvailable: false
};
function run_test() {
assertDominatorTreeNodeInsertion(tree, path, newChildren, moreChildrenAvailable, expected);
}