mirror of
https://github.com/moltbot/moltbot.git
synced 2026-05-13 15:47:28 +00:00
test: tighten oc-path jsonl resolver assertions
This commit is contained in:
@@ -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");
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user