Files
test-repo/tests/unit/traverse-doc.js
T

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

51 lines
981 B
JavaScript
Raw Normal View History

import { traverseDoc, findInDoc } from "../../src/document/utils.js";
test("traverse", () => {
const doc = [["a", "b"]];
{
const visited = [];
traverseDoc(doc, (doc) => {
visited.push(doc);
});
expect(visited).toEqual([doc, doc[0], doc[0][0], doc[0][1]]);
}
{
const visited = [];
traverseDoc(doc, (doc) => {
visited.push(doc);
return false;
});
// Should skip children
expect(visited).toEqual([doc]);
}
{
const visited = [];
traverseDoc(doc, (doc) => {
visited.push(doc);
if (doc === "a") {
return false;
}
});
// Still visiting siblings
expect(visited).toEqual([doc, doc[0], doc[0][0], doc[0][1]]);
}
{
const visited = [];
findInDoc(doc, (doc) => {
visited.push(doc);
if (doc === "a") {
return true;
}
});
// Should stop visiting siblings when found
expect(visited).toEqual([doc, doc[0], doc[0][0]]);
}
});