test: tighten oc-path jsonl resolver assertions

This commit is contained in:
Shakker
2026-05-11 08:32:30 +01:00
parent 64cfb2be70
commit 62962a7257
3 changed files with 24 additions and 6 deletions

View File

@@ -30,7 +30,10 @@ describe("resolveJsonlOcPath", () => {
const m = rs("oc://session-events/L2/event");
expect(m?.kind).toBe("object-entry");
if (m?.kind === "object-entry") {
expect(m.node.value).toMatchObject({ kind: "string", value: "step" });
expect(m.node.value.kind).toBe("string");
if (m.node.value.kind === "string") {
expect(m.node.value.value).toBe("step");
}
}
});
@@ -38,7 +41,10 @@ describe("resolveJsonlOcPath", () => {
const m = rs("oc://session-events/L2/result.ok");
expect(m?.kind).toBe("object-entry");
if (m?.kind === "object-entry") {
expect(m.node.value).toMatchObject({ kind: "boolean", value: true });
expect(m.node.value.kind).toBe("boolean");
if (m.node.value.kind === "boolean") {
expect(m.node.value.value).toBe(true);
}
}
});
@@ -46,7 +52,10 @@ describe("resolveJsonlOcPath", () => {
const m = rs("oc://session-events/$last/event");
expect(m?.kind).toBe("object-entry");
if (m?.kind === "object-entry") {
expect(m.node.value).toMatchObject({ kind: "string", value: "end" });
expect(m.node.value.kind).toBe("string");
if (m.node.value.kind === "string") {
expect(m.node.value.value).toBe("end");
}
}
});

View File

@@ -115,7 +115,10 @@ describe("cross-kind property invariants", () => {
if (r.ok) {
const m = resolveJsoncOcPath(r.ast, parseOcPath("oc://X/k"));
if (m?.kind === "object-entry") {
expect(m.node.value).toMatchObject({ kind: "number", value: 42 });
expect(m.node.value.kind).toBe("number");
if (m.node.value.kind === "number") {
expect(m.node.value.value).toBe(42);
}
}
}
});

View File

@@ -72,7 +72,10 @@ describe("edit-then-emit round-trip", () => {
expect(line2?.kind).toBe("value");
if (line2?.kind === "value" && line2.value.kind === "object") {
const entry = line2.value.entries.find((e) => e.key === "a");
expect(entry?.value).toMatchObject({ kind: "number", value: 99 });
expect(entry?.value.kind).toBe("number");
if (entry?.value.kind === "number") {
expect(entry.value.value).toBe(99);
}
}
}
});
@@ -142,7 +145,10 @@ describe("edit-then-emit round-trip", () => {
const reparsed = resolveJsoncOcPath(r.ast, parseOcPath("oc://config/k"));
expect(reparsed?.kind).toBe("object-entry");
if (reparsed?.kind === "object-entry") {
expect(reparsed.node.value).toMatchObject({ kind: "number", value: 2 });
expect(reparsed.node.value.kind).toBe("number");
if (reparsed.node.value.kind === "number") {
expect(reparsed.node.value.value).toBe(2);
}
}
}
});