Skip to content

Commit b4edf8e

Browse files
committed
test(views): create slot probe dir in exported trees
1 parent 1d4023e commit b4edf8e

1 file changed

Lines changed: 6 additions & 1 deletion

File tree

‎app/src/views/architecture.slots.test.ts‎

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
* 副作用:写自己的探针文件(`tmp/t15/props-probe.ts`,跑完留在原地可复算;**仓内零新增**)。
2525
* 边界:路径全用 `fileURLToPath` + `relative()` 现算(本仓路径含空格;手数 `../` 会建出空树 —— #65)。
2626
*/
27-
import { readFileSync, writeFileSync } from "node:fs";
27+
import { mkdirSync, readFileSync, writeFileSync } from "node:fs";
2828
import { createRequire } from "node:module";
2929
import { dirname, join, relative, sep } from "node:path";
3030
import { fileURLToPath } from "node:url";
@@ -69,6 +69,10 @@ describe("A6 · 每个视图组件的 props 只来自 slot(**类型级** tsc
6969

7070
it("① 探针落盘(**仓内零新增**:住 gitignored 的 `tmp/t15/`)且逐字可复算", () => {
7171
const src = probeSource();
72+
// `mkdirSync` 是**必需**的,不是保险:导出树(`git archive` 的变异体/CONTROL 树)里
73+
// `.superpowers/**` 是 gitignored ⇒ **整个目录都不存在**,不建就 `ENOENT` ——
74+
// 实测(T15 CONTROL-B):两条用例**都不是断言失败而是 setup 失败**,会被误读成「判据没牙」。
75+
mkdirSync(PROBE_DIR, { recursive: true });
7276
writeFileSync(PROBE, src, "utf8");
7377
expect(readFileSync(PROBE, "utf8")).toBe(src);
7478
expect(src.split("createElement(").length - 1, "5 个视图必须各有一个探针调用").toBe(5);
@@ -83,6 +87,7 @@ describe("A6 · 每个视图组件的 props 只来自 slot(**类型级** tsc
8387
const diagnosticsOf = (file: string): string[] => ts.getPreEmitDiagnostics(ts.createProgram([file], options))
8488
.filter((d: { file?: { fileName: string } }) => d.file && flat(d.file.fileName) === flat(file))
8589
.map((d: { messageText: unknown }) => ts.flattenDiagnosticMessageText(d.messageText, " "));
90+
mkdirSync(PROBE_DIR, { recursive: true });
8691
writeFileSync(PROBE, probeSource(), "utf8");
8792
const mine = diagnosticsOf(PROBE);
8893
expect(mine, `视图 props 与 slot 不一致(类型级):\n${mine.join("\n")}`).toEqual([]);

0 commit comments

Comments
 (0)