tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

test_DominatorTreeNode_insert_03.js (2579B)


      1 /* Any copyright is dedicated to the Public Domain.
      2   http://creativecommons.org/publicdomain/zero/1.0/ */
      3 "use strict";
      4 
      5 // Test inserting new children into an existing DominatorTreeNode at the root.
      6 
      7 const tree = makeTestDominatorTreeNode({ nodeId: 666 }, [
      8  makeTestDominatorTreeNode({}),
      9  makeTestDominatorTreeNode({}, [
     10    makeTestDominatorTreeNode({}),
     11    makeTestDominatorTreeNode({}),
     12    makeTestDominatorTreeNode({}),
     13  ]),
     14  makeTestDominatorTreeNode({}),
     15 ]);
     16 
     17 const path = [666];
     18 
     19 const newChildren = [
     20  makeTestDominatorTreeNode({
     21    nodeId: 777,
     22    parentId: 666,
     23  }),
     24  makeTestDominatorTreeNode({
     25    nodeId: 888,
     26    parentId: 666,
     27  }),
     28 ];
     29 
     30 const moreChildrenAvailable = false;
     31 
     32 const expected = {
     33  nodeId: 666,
     34  label: undefined,
     35  parentId: undefined,
     36  shallowSize: 1,
     37  retainedSize: 7,
     38  children: [
     39    {
     40      nodeId: 0,
     41      label: undefined,
     42      shallowSize: 1,
     43      retainedSize: 1,
     44      parentId: 666,
     45      moreChildrenAvailable: true,
     46      children: undefined,
     47    },
     48    {
     49      nodeId: 4,
     50      label: undefined,
     51      shallowSize: 1,
     52      retainedSize: 4,
     53      parentId: 666,
     54      children: [
     55        {
     56          nodeId: 1,
     57          label: undefined,
     58          shallowSize: 1,
     59          retainedSize: 1,
     60          parentId: 4,
     61          moreChildrenAvailable: true,
     62          children: undefined,
     63        },
     64        {
     65          nodeId: 2,
     66          label: undefined,
     67          shallowSize: 1,
     68          retainedSize: 1,
     69          parentId: 4,
     70          moreChildrenAvailable: true,
     71          children: undefined,
     72        },
     73        {
     74          nodeId: 3,
     75          label: undefined,
     76          shallowSize: 1,
     77          retainedSize: 1,
     78          parentId: 4,
     79          moreChildrenAvailable: true,
     80          children: undefined,
     81        },
     82      ],
     83      moreChildrenAvailable: true,
     84    },
     85    {
     86      nodeId: 5,
     87      label: undefined,
     88      shallowSize: 1,
     89      retainedSize: 1,
     90      parentId: 666,
     91      moreChildrenAvailable: true,
     92      children: undefined,
     93    },
     94    {
     95      nodeId: 777,
     96      label: undefined,
     97      shallowSize: 1,
     98      retainedSize: 1,
     99      parentId: 666,
    100      moreChildrenAvailable: true,
    101      children: undefined,
    102    },
    103    {
    104      nodeId: 888,
    105      label: undefined,
    106      shallowSize: 1,
    107      retainedSize: 1,
    108      parentId: 666,
    109      moreChildrenAvailable: true,
    110      children: undefined,
    111    },
    112  ],
    113  moreChildrenAvailable: false,
    114 };
    115 
    116 function run_test() {
    117  assertDominatorTreeNodeInsertion(
    118    tree,
    119    path,
    120    newChildren,
    121    moreChildrenAvailable,
    122    expected
    123  );
    124 }