{"version":3,"file":"bigint.test.mjs","sources":["../../../../../src/_common/test/unit/tree-v1/bigint.test.ts"],"sourcesContent":["import { describe, expect, it } from 'vitest';\nimport TreeStore from '../../../js/tree-v1/tree-store';\n\ndescribe('tree-v1 bigint values', () => {\n  it('looks up bigint values without conflating them with numbers or strings', () => {\n    const tree = new TreeStore({});\n    tree.append([{ value: 1n }, { value: 1 }, { value: '1' }]);\n    expect(tree.getNode(1n).value).toBe(1n);\n    expect(tree.getNode(1).value).toBe(1);\n    expect(tree.getNode('1').value).toBe('1');\n    expect(tree.getNode(2n)).toBeNull();\n  });\n\n  it.each([0, 0n])('gets the subtree for zero value %s instead of all nodes', (value) => {\n    const tree = new TreeStore({});\n    tree.append([{ value: 'other' }, { value, children: [{ value: 'child' }] }]);\n    tree.refreshNodes();\n    expect(tree.getNodes(value).map((node) => node.value)).toEqual([value, 'child']);\n    expect(tree.getNodes().map((node) => node.value)).toEqual(['other', value, 'child']);\n  });\n\n  it('appends and removes nodes using bigint values including zero', () => {\n    const tree = new TreeStore({});\n    tree.append([{ value: 2n, children: [{ value: 0n }] }]);\n    tree.appendNodes(2n, { value: 3n });\n    expect(tree.getNode(3n).getParent().value).toBe(2n);\n    tree.getNode(2n).getModel().remove(0n);\n    expect(tree.getNode(0n)).toBeNull();\n    expect(tree.getNode(2n)).not.toBeNull();\n  });\n\n  it('removes only the empty-string child', () => {\n    const tree = new TreeStore({});\n    tree.append([{ value: 'parent', children: [{ value: '' }, { value: 'sibling' }] }]);\n    tree.refreshNodes();\n    tree.getNode('parent').getModel().remove('');\n    expect(tree.getNode('')).toBeNull();\n    expect(tree.getNode('parent')).toBeTruthy();\n    expect(tree.getNode('sibling')).toBeTruthy();\n  });\n\n  it('limits getNodes to the empty-string subtree', () => {\n    const tree = new TreeStore({});\n    tree.append([{ value: '', children: [{ value: 'child' }] }, { value: 'other' }]);\n    tree.refreshNodes();\n    expect(tree.getNodes('').map((node) => node.value)).toEqual(['', 'child']);\n  });\n\n  it('keeps bigint, number and string path keys distinct when duplicate values are allowed', () => {\n    const tree = new TreeStore({ allowDuplicateValue: true });\n    tree.append([\n      { value: 1n, children: [{ value: 'a' }] },\n      { value: 1, children: [{ value: 'b' }] },\n      { value: '1', children: [{ value: 'c' }] },\n    ]);\n    expect(tree.getNode([1n]).value).toBe(1n);\n    expect(tree.getNode([1]).value).toBe(1);\n    expect(tree.getNode(['1']).value).toBe('1');\n  });\n});\n"],"names":["describe","it","tree","TreeStore","append","value","expect","getNode","toBe","toBeNull","each","children","refreshNodes","getNodes","map","node","toEqual","appendNodes","getParent","getModel","remove","not","toBeTruthy","allowDuplicateValue"],"mappings":"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"}