run npm install to generate a package lock
This commit is contained in:
35
node_modules/@weborigami/async-tree/test/drivers/DeepObjectTree.test.js
generated
vendored
Normal file
35
node_modules/@weborigami/async-tree/test/drivers/DeepObjectTree.test.js
generated
vendored
Normal file
@@ -0,0 +1,35 @@
|
||||
import assert from "node:assert";
|
||||
import { describe, test } from "node:test";
|
||||
import { DeepObjectTree, Tree } from "../../src/internal.js";
|
||||
|
||||
describe("DeepObjectTree", () => {
|
||||
test("returns an ObjectTree for value that's a plain sub-object or sub-array", async () => {
|
||||
const tree = createFixture();
|
||||
|
||||
const object = await tree.get("object");
|
||||
assert.equal(object instanceof DeepObjectTree, true);
|
||||
assert.deepEqual(await Tree.plain(object), { b: 2 });
|
||||
assert.equal(object.parent, tree);
|
||||
|
||||
const array = await tree.get("array");
|
||||
assert.equal(array instanceof DeepObjectTree, true);
|
||||
assert.deepEqual(await Tree.plain(array), [3]);
|
||||
assert.equal(array.parent, tree);
|
||||
});
|
||||
|
||||
test("adds trailing slashes to keys for subtrees including plain objects or arrays", async () => {
|
||||
const tree = createFixture();
|
||||
const keys = Array.from(await tree.keys());
|
||||
assert.deepEqual(keys, ["a", "object/", "array/"]);
|
||||
});
|
||||
});
|
||||
|
||||
function createFixture() {
|
||||
return new DeepObjectTree({
|
||||
a: 1,
|
||||
object: {
|
||||
b: 2,
|
||||
},
|
||||
array: [3],
|
||||
});
|
||||
}
|
||||
Reference in New Issue
Block a user