-
Notifications
You must be signed in to change notification settings - Fork 11
Expand file tree
/
Copy pathindex.test.ts
More file actions
65 lines (63 loc) · 2.87 KB
/
Copy pathindex.test.ts
File metadata and controls
65 lines (63 loc) · 2.87 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
import { describe, test, expect } from "vitest";
import { getCFilesMap, cFilesFolder } from "../testFiles/index.js";
import { CDependencyFormatter } from "./index.js";
import path from "path";
describe("CDependencyFormatter", () => {
const cFilesMap = getCFilesMap();
const depFormatter = new CDependencyFormatter(cFilesMap);
const burgersh = path.join(cFilesFolder, "burgers.h");
const burgersc = path.join(cFilesFolder, "burgers.c");
const personnelh = path.join(cFilesFolder, "personnel.h");
const main = path.join(cFilesFolder, "main.c");
test("main.c", () => {
const fmain = depFormatter.formatFile(main);
expect(fmain).toBeDefined();
expect(fmain.id).toBe(main);
expect(fmain.dependencies[burgersh]).toBeDefined();
expect(fmain.dependencies[burgersc]).not.toBeDefined();
expect(fmain.dependencies[personnelh]).toBeDefined();
expect(fmain.dependencies["<stdio.h>"]).toBeDefined();
expect(fmain.dependencies[personnelh].isExternal).toBe(false);
expect(fmain.dependencies[burgersh].isExternal).toBe(false);
expect(fmain.dependencies["<stdio.h>"].isExternal).toBe(true);
expect(fmain.dependencies[burgersh].symbols["Burger"]).toBeDefined();
expect(fmain.dependencies[burgersh].symbols["create_burger"]).toBeDefined();
expect(fmain.dependencies[personnelh].symbols["Employee"]).toBeDefined();
expect(
fmain.dependencies[personnelh].symbols["create_employee"],
).toBeDefined();
expect(
fmain.dependencies[personnelh].symbols["print_employee_details"],
).toBeDefined();
expect(fmain.symbols["main"]).toBeDefined();
expect(fmain.symbols["main"].type).toBe("function");
expect(fmain.symbols["main"].lineCount > 1).toBe(true);
expect(fmain.symbols["main"].characterCount > 1).toBe(true);
expect(fmain.symbols["main"].dependents).toBeDefined();
expect(fmain.symbols["main"].dependencies).toBeDefined();
expect(fmain.symbols["main"].dependencies[burgersh]).toBeDefined();
expect(fmain.symbols["main"].dependencies[burgersh].isExternal).toBe(false);
expect(fmain.symbols["main"].dependencies[burgersh].symbols["Burger"]).toBe(
"Burger",
);
expect(
fmain.symbols["main"].dependencies[burgersh].symbols["create_burger"],
).toBe("create_burger");
expect(fmain.symbols["main"].dependencies[personnelh]).toBeDefined();
expect(fmain.symbols["main"].dependencies[personnelh].isExternal).toBe(
false,
);
expect(
fmain.symbols["main"].dependencies[personnelh].symbols["Employee"],
).toBe("Employee");
expect(
fmain.symbols["main"].dependencies[personnelh].symbols["create_employee"],
).toBe("create_employee");
expect(
fmain.symbols["main"].dependencies[personnelh].symbols[
"print_employee_details"
],
).toBe("print_employee_details");
expect(fmain.symbols["main"].dependencies["<stdio.h>"]).not.toBeDefined();
});
});