import { expect, it } from "vitest"; import { equalToolcraftPersistenceSnapshots as equal } from "./persistence-snapshot-equality"; it("ignores object key order and JSON formatting, including nested media records", () => { expect( equal( '{"media":[{"name":"a","ref":"r"}],"version":2}', '{ "version": 2, "media": [{"ref":"r","name":"a"}] }', ), ).toBe(true); }); it.each([ ['{"media":["a","b"]}', '{"media":["b","a"]}'], ['{"media":["a"]}', '{"media":[]}'], ['{"values":{"x":1}}', '{"values":{"x":2}}'], ['{"values":{"x":1}}', '{"values":{"x":"1"}}'], ['{"media":[]}', '{"media":{}}'], ['{"media":[]}', "{}"], ["{}", null], ["null", null], ["{bad}", "{}"], ] as const)("preserves meaningful differences or unreadable snapshots: %s / %s", (left, right) => { expect(equal(left, right)).toBe(false); });