/** * Ported from json-render's core/src/spec-validator.test.ts. * * Runs @json-render/core's validateSpec against Specs produced by jrx * to prove structural correctness. */ import { describe, it, expect } from "bun:test"; import { validateSpec } from "@json-render/core"; import { render } from "./render"; import { Stack, Card, Text, Button, Badge, List, ListItem, Select, } from "./test-components"; describe("validateSpec on jrx-produced specs", () => { it("validates a simple single-element spec", () => { const spec = render(); const result = validateSpec(spec); expect(result.valid).toBe(true); expect(result.issues).toHaveLength(0); }); it("validates a parent-child spec", () => { const spec = render( , ); const result = validateSpec(spec); expect(result.valid).toBe(true); expect(result.issues).toHaveLength(0); }); it("validates a deep tree", () => { const spec = render(