forked from sashin/sashinexists
23 lines
727 B
JavaScript
23 lines
727 B
JavaScript
import assert from "node:assert";
|
|
import { describe, test } from "node:test";
|
|
import DeferredTree from "../../src/drivers/DeferredTree.js";
|
|
import { ObjectTree, Tree } from "../../src/internal.js";
|
|
|
|
describe("DeferredTree", () => {
|
|
test("lazy-loads a treelike object", async () => {
|
|
const tree = new DeferredTree(async () => ({ a: 1, b: 2, c: 3 }));
|
|
assert.deepEqual(await Tree.plain(tree), { a: 1, b: 2, c: 3 });
|
|
});
|
|
|
|
test("sets parent on subtrees", async () => {
|
|
const object = {
|
|
a: 1,
|
|
};
|
|
const parent = new ObjectTree({});
|
|
const fixture = new DeferredTree(() => object);
|
|
fixture.parent = parent;
|
|
const tree = await fixture.tree();
|
|
assert.equal(tree.parent, parent);
|
|
});
|
|
});
|