mirror of
https://github.com/vercel-labs/scriptc.git
synced 2026-10-20 05:40:17 +08:00
node:test changes, matching Node 24.22: - t.assert.snapshot(value[, options]) serializes the value with Node's default serializer, JSON.stringify(value, null, 2), or with an options.serializers array literal applied in order, and compares it with assert.strictEqual against the snapshot stored under "<test full name> <n>" in "<entry file>.snapshot". - t.assert.fileSnapshot(value, path[, options]) compares the serialized value with the contents of path. - Snapshot files are read in the form Node writes them, exports[`key`] = `value`; statements, with template escapes and CRLF line endings cooked as in a template literal. - Missing snapshots, unreadable snapshot files and throwing serializers throw Node's ERR_INVALID_STATE errors, with Node's messages. - Running the binary with Node's --test-update-snapshots flag as its first argument records the values and writes the snapshot files after the last test, keys sorted as Node sorts them. The flag is kept out of process.argv and appears in process.execArgv, which is otherwise []. - Snapshot assertions count toward the test's plan. The snapshot fixture compares the reporter output with Node, plain and with SCRIPTC_SAN=1, against a snapshot file Node wrote. The update-mode harness test runs Node and the binary with --test-update-snapshots and compares the files they write. The node:test normalization also drops the "... N lines matching cause stack trace ..." line Node prints for an error cause, with the stack frames it summarizes.