Skip to content

Commit ba3a27c

Browse files
committed
Added tests
1 parent 2ec16d6 commit ba3a27c

File tree

1 file changed

+44
-0
lines changed

1 file changed

+44
-0
lines changed
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
import { describe, test } from "@std/testing/bdd";
2+
import { expect } from "@std/expect";
3+
import { getPHPFilesMap } from "../testFiles/index.ts";
4+
import { PHPRegistree } from "./index.ts";
5+
import { SymbolNode } from "./types.ts";
6+
import { LEARN_PHP, NESTED } from "../testFiles/constants.ts";
7+
8+
describe("PHP Registree", () => {
9+
const files = getPHPFilesMap();
10+
const registree = new PHPRegistree(files);
11+
12+
test("builds a correct tree", () => {
13+
const tree = registree.tree;
14+
expect(tree.name).toBe("");
15+
expect(tree.children.get("All")).toBeDefined();
16+
const all = tree.children.get("All")!;
17+
expect(all.name).toBe("All");
18+
expect(all.children.size).toBe(2);
19+
expect(all.children.get("a")).toBeDefined();
20+
expect(all.children.get("a")! instanceof SymbolNode).toBe(true);
21+
expect((all.children.get("a")! as SymbolNode).symbols.length).toBe(1);
22+
expect(all.children.get("My")).toBeDefined();
23+
expect(all.children.get("My")!.children.get("Fellas")).toBeDefined();
24+
expect(tree.children.get("My")).toBeDefined();
25+
const my = tree.children.get("My")!;
26+
expect(my.name).toBe("My");
27+
expect(my.children.get("Namespace")).toBeDefined();
28+
const mynamespace = my.children.get("Namespace")!;
29+
expect(mynamespace.children.size).toBe(66);
30+
});
31+
32+
test("builds a correct registry", () => {
33+
const registry = registree.registry;
34+
expect(registry.files.get(NESTED)).toBeDefined();
35+
expect(registry.files.get(LEARN_PHP)).toBeDefined();
36+
const nested = registry.files.get(NESTED)!;
37+
expect(nested.symbols.size).toBe(3);
38+
expect(Array.from(nested.symbols.keys())).toStrictEqual([
39+
"a",
40+
"m",
41+
"f",
42+
]);
43+
});
44+
});

0 commit comments

Comments
 (0)