bupkis 0.18.0 → 0.18.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +14 -0
- package/package.json +1 -4
- package/src/assertion/assertion-types.ts +4 -4
- package/src/assertion/impl/async-parametric.ts +4 -21
- package/src/assertion/impl/sync-parametric.ts +5 -17
- package/src/expect.ts +0 -4
- package/src/guards.ts +24 -24
- package/src/internal-schema.ts +16 -32
- package/src/value-to-schema.ts +1 -1
- package/dist/assertion/assertion-async.cjs +0 -268
- package/dist/assertion/assertion-async.cjs.map +0 -1
- package/dist/assertion/assertion-async.d.cts +0 -40
- package/dist/assertion/assertion-async.d.cts.map +0 -1
- package/dist/assertion/assertion-async.d.ts +0 -40
- package/dist/assertion/assertion-async.d.ts.map +0 -1
- package/dist/assertion/assertion-async.js +0 -259
- package/dist/assertion/assertion-async.js.map +0 -1
- package/dist/assertion/assertion-standard-schema-async.cjs +0 -132
- package/dist/assertion/assertion-standard-schema-async.cjs.map +0 -1
- package/dist/assertion/assertion-standard-schema-async.d.cts +0 -52
- package/dist/assertion/assertion-standard-schema-async.d.cts.map +0 -1
- package/dist/assertion/assertion-standard-schema-async.d.ts +0 -52
- package/dist/assertion/assertion-standard-schema-async.d.ts.map +0 -1
- package/dist/assertion/assertion-standard-schema-async.js +0 -128
- package/dist/assertion/assertion-standard-schema-async.js.map +0 -1
- package/dist/assertion/assertion-standard-schema-sync.cjs +0 -141
- package/dist/assertion/assertion-standard-schema-sync.cjs.map +0 -1
- package/dist/assertion/assertion-standard-schema-sync.d.cts +0 -52
- package/dist/assertion/assertion-standard-schema-sync.d.cts.map +0 -1
- package/dist/assertion/assertion-standard-schema-sync.d.ts +0 -52
- package/dist/assertion/assertion-standard-schema-sync.d.ts.map +0 -1
- package/dist/assertion/assertion-standard-schema-sync.js +0 -137
- package/dist/assertion/assertion-standard-schema-sync.js.map +0 -1
- package/dist/assertion/assertion-sync.cjs +0 -284
- package/dist/assertion/assertion-sync.cjs.map +0 -1
- package/dist/assertion/assertion-sync.d.cts +0 -60
- package/dist/assertion/assertion-sync.d.cts.map +0 -1
- package/dist/assertion/assertion-sync.d.ts +0 -60
- package/dist/assertion/assertion-sync.d.ts.map +0 -1
- package/dist/assertion/assertion-sync.js +0 -275
- package/dist/assertion/assertion-sync.js.map +0 -1
- package/dist/assertion/assertion-types.cjs +0 -20
- package/dist/assertion/assertion-types.cjs.map +0 -1
- package/dist/assertion/assertion-types.d.cts +0 -1086
- package/dist/assertion/assertion-types.d.cts.map +0 -1
- package/dist/assertion/assertion-types.d.ts +0 -1086
- package/dist/assertion/assertion-types.d.ts.map +0 -1
- package/dist/assertion/assertion-types.js +0 -19
- package/dist/assertion/assertion-types.js.map +0 -1
- package/dist/assertion/assertion.cjs +0 -382
- package/dist/assertion/assertion.cjs.map +0 -1
- package/dist/assertion/assertion.d.cts +0 -109
- package/dist/assertion/assertion.d.cts.map +0 -1
- package/dist/assertion/assertion.d.ts +0 -109
- package/dist/assertion/assertion.d.ts.map +0 -1
- package/dist/assertion/assertion.js +0 -375
- package/dist/assertion/assertion.js.map +0 -1
- package/dist/assertion/create.cjs +0 -148
- package/dist/assertion/create.cjs.map +0 -1
- package/dist/assertion/create.d.cts +0 -85
- package/dist/assertion/create.d.cts.map +0 -1
- package/dist/assertion/create.d.ts +0 -85
- package/dist/assertion/create.d.ts.map +0 -1
- package/dist/assertion/create.js +0 -143
- package/dist/assertion/create.js.map +0 -1
- package/dist/assertion/format-assertion-failure.cjs +0 -63
- package/dist/assertion/format-assertion-failure.cjs.map +0 -1
- package/dist/assertion/format-assertion-failure.d.cts +0 -21
- package/dist/assertion/format-assertion-failure.d.cts.map +0 -1
- package/dist/assertion/format-assertion-failure.d.ts +0 -21
- package/dist/assertion/format-assertion-failure.d.ts.map +0 -1
- package/dist/assertion/format-assertion-failure.js +0 -59
- package/dist/assertion/format-assertion-failure.js.map +0 -1
- package/dist/assertion/impl/assertion-util.cjs +0 -68
- package/dist/assertion/impl/assertion-util.cjs.map +0 -1
- package/dist/assertion/impl/assertion-util.d.cts +0 -36
- package/dist/assertion/impl/assertion-util.d.cts.map +0 -1
- package/dist/assertion/impl/assertion-util.d.ts +0 -36
- package/dist/assertion/impl/assertion-util.d.ts.map +0 -1
- package/dist/assertion/impl/assertion-util.js +0 -62
- package/dist/assertion/impl/assertion-util.js.map +0 -1
- package/dist/assertion/impl/async-iterable.cjs +0 -627
- package/dist/assertion/impl/async-iterable.cjs.map +0 -1
- package/dist/assertion/impl/async-iterable.d.cts +0 -406
- package/dist/assertion/impl/async-iterable.d.cts.map +0 -1
- package/dist/assertion/impl/async-iterable.d.ts +0 -406
- package/dist/assertion/impl/async-iterable.d.ts.map +0 -1
- package/dist/assertion/impl/async-iterable.js +0 -624
- package/dist/assertion/impl/async-iterable.js.map +0 -1
- package/dist/assertion/impl/async-parametric.cjs +0 -423
- package/dist/assertion/impl/async-parametric.cjs.map +0 -1
- package/dist/assertion/impl/async-parametric.d.cts +0 -278
- package/dist/assertion/impl/async-parametric.d.cts.map +0 -1
- package/dist/assertion/impl/async-parametric.d.ts +0 -278
- package/dist/assertion/impl/async-parametric.d.ts.map +0 -1
- package/dist/assertion/impl/async-parametric.js +0 -420
- package/dist/assertion/impl/async-parametric.js.map +0 -1
- package/dist/assertion/impl/async.cjs +0 -56
- package/dist/assertion/impl/async.cjs.map +0 -1
- package/dist/assertion/impl/async.d.cts +0 -179
- package/dist/assertion/impl/async.d.cts.map +0 -1
- package/dist/assertion/impl/async.d.ts +0 -179
- package/dist/assertion/impl/async.d.ts.map +0 -1
- package/dist/assertion/impl/async.js +0 -39
- package/dist/assertion/impl/async.js.map +0 -1
- package/dist/assertion/impl/index.cjs +0 -37
- package/dist/assertion/impl/index.cjs.map +0 -1
- package/dist/assertion/impl/index.d.cts +0 -21
- package/dist/assertion/impl/index.d.cts.map +0 -1
- package/dist/assertion/impl/index.d.ts +0 -21
- package/dist/assertion/impl/index.d.ts.map +0 -1
- package/dist/assertion/impl/index.js +0 -21
- package/dist/assertion/impl/index.js.map +0 -1
- package/dist/assertion/impl/iteration-util.cjs +0 -297
- package/dist/assertion/impl/iteration-util.cjs.map +0 -1
- package/dist/assertion/impl/iteration-util.d.cts +0 -12
- package/dist/assertion/impl/iteration-util.d.cts.map +0 -1
- package/dist/assertion/impl/iteration-util.d.ts +0 -12
- package/dist/assertion/impl/iteration-util.d.ts.map +0 -1
- package/dist/assertion/impl/iteration-util.js +0 -282
- package/dist/assertion/impl/iteration-util.js.map +0 -1
- package/dist/assertion/impl/snapshot.cjs +0 -276
- package/dist/assertion/impl/snapshot.cjs.map +0 -1
- package/dist/assertion/impl/snapshot.d.cts +0 -278
- package/dist/assertion/impl/snapshot.d.cts.map +0 -1
- package/dist/assertion/impl/snapshot.d.ts +0 -278
- package/dist/assertion/impl/snapshot.d.ts.map +0 -1
- package/dist/assertion/impl/snapshot.js +0 -273
- package/dist/assertion/impl/snapshot.js.map +0 -1
- package/dist/assertion/impl/sync-basic.cjs +0 -553
- package/dist/assertion/impl/sync-basic.cjs.map +0 -1
- package/dist/assertion/impl/sync-basic.d.cts +0 -528
- package/dist/assertion/impl/sync-basic.d.cts.map +0 -1
- package/dist/assertion/impl/sync-basic.d.ts +0 -528
- package/dist/assertion/impl/sync-basic.d.ts.map +0 -1
- package/dist/assertion/impl/sync-basic.js +0 -550
- package/dist/assertion/impl/sync-basic.js.map +0 -1
- package/dist/assertion/impl/sync-collection.cjs +0 -856
- package/dist/assertion/impl/sync-collection.cjs.map +0 -1
- package/dist/assertion/impl/sync-collection.d.cts +0 -607
- package/dist/assertion/impl/sync-collection.d.cts.map +0 -1
- package/dist/assertion/impl/sync-collection.d.ts +0 -607
- package/dist/assertion/impl/sync-collection.d.ts.map +0 -1
- package/dist/assertion/impl/sync-collection.js +0 -850
- package/dist/assertion/impl/sync-collection.js.map +0 -1
- package/dist/assertion/impl/sync-date.cjs +0 -341
- package/dist/assertion/impl/sync-date.cjs.map +0 -1
- package/dist/assertion/impl/sync-date.d.cts +0 -209
- package/dist/assertion/impl/sync-date.d.cts.map +0 -1
- package/dist/assertion/impl/sync-date.d.ts +0 -209
- package/dist/assertion/impl/sync-date.d.ts.map +0 -1
- package/dist/assertion/impl/sync-date.js +0 -338
- package/dist/assertion/impl/sync-date.js.map +0 -1
- package/dist/assertion/impl/sync-esoteric.cjs +0 -214
- package/dist/assertion/impl/sync-esoteric.cjs.map +0 -1
- package/dist/assertion/impl/sync-esoteric.d.cts +0 -191
- package/dist/assertion/impl/sync-esoteric.d.cts.map +0 -1
- package/dist/assertion/impl/sync-esoteric.d.ts +0 -191
- package/dist/assertion/impl/sync-esoteric.d.ts.map +0 -1
- package/dist/assertion/impl/sync-esoteric.js +0 -211
- package/dist/assertion/impl/sync-esoteric.js.map +0 -1
- package/dist/assertion/impl/sync-iterable.cjs +0 -512
- package/dist/assertion/impl/sync-iterable.cjs.map +0 -1
- package/dist/assertion/impl/sync-iterable.d.cts +0 -334
- package/dist/assertion/impl/sync-iterable.d.cts.map +0 -1
- package/dist/assertion/impl/sync-iterable.d.ts +0 -334
- package/dist/assertion/impl/sync-iterable.d.ts.map +0 -1
- package/dist/assertion/impl/sync-iterable.js +0 -509
- package/dist/assertion/impl/sync-iterable.js.map +0 -1
- package/dist/assertion/impl/sync-parametric.cjs +0 -812
- package/dist/assertion/impl/sync-parametric.cjs.map +0 -1
- package/dist/assertion/impl/sync-parametric.d.cts +0 -560
- package/dist/assertion/impl/sync-parametric.d.cts.map +0 -1
- package/dist/assertion/impl/sync-parametric.d.ts +0 -560
- package/dist/assertion/impl/sync-parametric.d.ts.map +0 -1
- package/dist/assertion/impl/sync-parametric.js +0 -809
- package/dist/assertion/impl/sync-parametric.js.map +0 -1
- package/dist/assertion/impl/sync.cjs +0 -214
- package/dist/assertion/impl/sync.cjs.map +0 -1
- package/dist/assertion/impl/sync.d.cts +0 -512
- package/dist/assertion/impl/sync.d.cts.map +0 -1
- package/dist/assertion/impl/sync.d.ts +0 -512
- package/dist/assertion/impl/sync.d.ts.map +0 -1
- package/dist/assertion/impl/sync.js +0 -197
- package/dist/assertion/impl/sync.js.map +0 -1
- package/dist/assertion/index.cjs +0 -38
- package/dist/assertion/index.cjs.map +0 -1
- package/dist/assertion/index.d.cts +0 -18
- package/dist/assertion/index.d.cts.map +0 -1
- package/dist/assertion/index.d.ts +0 -18
- package/dist/assertion/index.d.ts.map +0 -1
- package/dist/assertion/index.js +0 -17
- package/dist/assertion/index.js.map +0 -1
- package/dist/assertion/slotify.cjs +0 -165
- package/dist/assertion/slotify.cjs.map +0 -1
- package/dist/assertion/slotify.d.cts +0 -11
- package/dist/assertion/slotify.d.cts.map +0 -1
- package/dist/assertion/slotify.d.ts +0 -11
- package/dist/assertion/slotify.d.ts.map +0 -1
- package/dist/assertion/slotify.js +0 -161
- package/dist/assertion/slotify.js.map +0 -1
- package/dist/bootstrap.cjs +0 -43
- package/dist/bootstrap.cjs.map +0 -1
- package/dist/bootstrap.d.cts +0 -27
- package/dist/bootstrap.d.cts.map +0 -1
- package/dist/bootstrap.d.ts +0 -27
- package/dist/bootstrap.d.ts.map +0 -1
- package/dist/bootstrap.js +0 -40
- package/dist/bootstrap.js.map +0 -1
- package/dist/constant.cjs +0 -82
- package/dist/constant.cjs.map +0 -1
- package/dist/constant.d.cts +0 -69
- package/dist/constant.d.cts.map +0 -1
- package/dist/constant.d.ts +0 -69
- package/dist/constant.d.ts.map +0 -1
- package/dist/constant.js +0 -79
- package/dist/constant.js.map +0 -1
- package/dist/diff.cjs +0 -340
- package/dist/diff.cjs.map +0 -1
- package/dist/diff.d.cts +0 -51
- package/dist/diff.d.cts.map +0 -1
- package/dist/diff.d.ts +0 -51
- package/dist/diff.d.ts.map +0 -1
- package/dist/diff.js +0 -334
- package/dist/diff.js.map +0 -1
- package/dist/error.cjs +0 -204
- package/dist/error.cjs.map +0 -1
- package/dist/error.d.cts +0 -212
- package/dist/error.d.cts.map +0 -1
- package/dist/error.d.ts +0 -212
- package/dist/error.d.ts.map +0 -1
- package/dist/error.js +0 -191
- package/dist/error.js.map +0 -1
- package/dist/expect.cjs +0 -590
- package/dist/expect.cjs.map +0 -1
- package/dist/expect.d.cts +0 -138
- package/dist/expect.d.cts.map +0 -1
- package/dist/expect.d.ts +0 -138
- package/dist/expect.d.ts.map +0 -1
- package/dist/expect.js +0 -582
- package/dist/expect.js.map +0 -1
- package/dist/guards.cjs +0 -297
- package/dist/guards.cjs.map +0 -1
- package/dist/guards.d.cts +0 -231
- package/dist/guards.d.cts.map +0 -1
- package/dist/guards.d.ts +0 -231
- package/dist/guards.d.ts.map +0 -1
- package/dist/guards.js +0 -277
- package/dist/guards.js.map +0 -1
- package/dist/index.cjs +0 -111
- package/dist/index.cjs.map +0 -1
- package/dist/index.d.cts +0 -448
- package/dist/index.d.cts.map +0 -1
- package/dist/index.d.ts +0 -448
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -71
- package/dist/index.js.map +0 -1
- package/dist/internal-schema.cjs +0 -253
- package/dist/internal-schema.cjs.map +0 -1
- package/dist/internal-schema.d.cts +0 -8
- package/dist/internal-schema.d.cts.map +0 -1
- package/dist/internal-schema.d.ts +0 -8
- package/dist/internal-schema.d.ts.map +0 -1
- package/dist/internal-schema.js +0 -248
- package/dist/internal-schema.js.map +0 -1
- package/dist/metadata.cjs +0 -57
- package/dist/metadata.cjs.map +0 -1
- package/dist/metadata.d.cts +0 -27
- package/dist/metadata.d.cts.map +0 -1
- package/dist/metadata.d.ts +0 -27
- package/dist/metadata.d.ts.map +0 -1
- package/dist/metadata.js +0 -54
- package/dist/metadata.js.map +0 -1
- package/dist/schema.cjs +0 -1522
- package/dist/schema.cjs.map +0 -1
- package/dist/schema.d.cts +0 -1196
- package/dist/schema.d.cts.map +0 -1
- package/dist/schema.d.ts +0 -1196
- package/dist/schema.d.ts.map +0 -1
- package/dist/schema.js +0 -1516
- package/dist/schema.js.map +0 -1
- package/dist/snapshot/adapter.cjs +0 -31
- package/dist/snapshot/adapter.cjs.map +0 -1
- package/dist/snapshot/adapter.d.cts +0 -258
- package/dist/snapshot/adapter.d.cts.map +0 -1
- package/dist/snapshot/adapter.d.ts +0 -258
- package/dist/snapshot/adapter.d.ts.map +0 -1
- package/dist/snapshot/adapter.js +0 -27
- package/dist/snapshot/adapter.js.map +0 -1
- package/dist/snapshot/adapters/fallback.cjs +0 -453
- package/dist/snapshot/adapters/fallback.cjs.map +0 -1
- package/dist/snapshot/adapters/fallback.d.cts +0 -185
- package/dist/snapshot/adapters/fallback.d.cts.map +0 -1
- package/dist/snapshot/adapters/fallback.d.ts +0 -185
- package/dist/snapshot/adapters/fallback.d.ts.map +0 -1
- package/dist/snapshot/adapters/fallback.js +0 -446
- package/dist/snapshot/adapters/fallback.js.map +0 -1
- package/dist/snapshot/adapters/node-test.cjs +0 -301
- package/dist/snapshot/adapters/node-test.cjs.map +0 -1
- package/dist/snapshot/adapters/node-test.d.cts +0 -131
- package/dist/snapshot/adapters/node-test.d.cts.map +0 -1
- package/dist/snapshot/adapters/node-test.d.ts +0 -131
- package/dist/snapshot/adapters/node-test.d.ts.map +0 -1
- package/dist/snapshot/adapters/node-test.js +0 -297
- package/dist/snapshot/adapters/node-test.js.map +0 -1
- package/dist/snapshot/index.cjs +0 -61
- package/dist/snapshot/index.cjs.map +0 -1
- package/dist/snapshot/index.d.cts +0 -40
- package/dist/snapshot/index.d.cts.map +0 -1
- package/dist/snapshot/index.d.ts +0 -40
- package/dist/snapshot/index.d.ts.map +0 -1
- package/dist/snapshot/index.js +0 -44
- package/dist/snapshot/index.js.map +0 -1
- package/dist/snapshot/node-version.cjs +0 -49
- package/dist/snapshot/node-version.cjs.map +0 -1
- package/dist/snapshot/node-version.d.cts +0 -34
- package/dist/snapshot/node-version.d.cts.map +0 -1
- package/dist/snapshot/node-version.d.ts +0 -34
- package/dist/snapshot/node-version.d.ts.map +0 -1
- package/dist/snapshot/node-version.js +0 -44
- package/dist/snapshot/node-version.js.map +0 -1
- package/dist/snapshot/select-adapter.cjs +0 -170
- package/dist/snapshot/select-adapter.cjs.map +0 -1
- package/dist/snapshot/select-adapter.d.cts +0 -128
- package/dist/snapshot/select-adapter.d.cts.map +0 -1
- package/dist/snapshot/select-adapter.d.ts +0 -128
- package/dist/snapshot/select-adapter.d.ts.map +0 -1
- package/dist/snapshot/select-adapter.js +0 -164
- package/dist/snapshot/select-adapter.js.map +0 -1
- package/dist/snapshot/serializer.cjs +0 -246
- package/dist/snapshot/serializer.cjs.map +0 -1
- package/dist/snapshot/serializer.d.cts +0 -126
- package/dist/snapshot/serializer.d.cts.map +0 -1
- package/dist/snapshot/serializer.d.ts +0 -126
- package/dist/snapshot/serializer.d.ts.map +0 -1
- package/dist/snapshot/serializer.js +0 -238
- package/dist/snapshot/serializer.js.map +0 -1
- package/dist/standard-schema.cjs +0 -13
- package/dist/standard-schema.cjs.map +0 -1
- package/dist/standard-schema.d.cts +0 -192
- package/dist/standard-schema.d.cts.map +0 -1
- package/dist/standard-schema.d.ts +0 -192
- package/dist/standard-schema.d.ts.map +0 -1
- package/dist/standard-schema.js +0 -12
- package/dist/standard-schema.js.map +0 -1
- package/dist/types.cjs +0 -22
- package/dist/types.cjs.map +0 -1
- package/dist/types.d.cts +0 -905
- package/dist/types.d.cts.map +0 -1
- package/dist/types.d.ts +0 -905
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -21
- package/dist/types.js.map +0 -1
- package/dist/use.cjs +0 -240
- package/dist/use.cjs.map +0 -1
- package/dist/use.d.cts +0 -8
- package/dist/use.d.cts.map +0 -1
- package/dist/use.d.ts +0 -8
- package/dist/use.d.ts.map +0 -1
- package/dist/use.js +0 -236
- package/dist/use.js.map +0 -1
- package/dist/util.cjs +0 -255
- package/dist/util.cjs.map +0 -1
- package/dist/util.d.cts +0 -141
- package/dist/util.d.cts.map +0 -1
- package/dist/util.d.ts +0 -141
- package/dist/util.d.ts.map +0 -1
- package/dist/util.js +0 -234
- package/dist/util.js.map +0 -1
- package/dist/value-to-schema.cjs +0 -537
- package/dist/value-to-schema.cjs.map +0 -1
- package/dist/value-to-schema.d.cts +0 -144
- package/dist/value-to-schema.d.cts.map +0 -1
- package/dist/value-to-schema.d.ts +0 -144
- package/dist/value-to-schema.d.ts.map +0 -1
- package/dist/value-to-schema.js +0 -533
- package/dist/value-to-schema.js.map +0 -1
|
@@ -1,276 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Snapshot testing assertions for BUPKIS.
|
|
4
|
-
*
|
|
5
|
-
* Provides unified snapshot testing across multiple test frameworks including
|
|
6
|
-
* node:test, Jest, Vitest, Mocha, and others.
|
|
7
|
-
*
|
|
8
|
-
* @packageDocumentation
|
|
9
|
-
* @group Snapshot Assertions
|
|
10
|
-
*/
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.SnapshotAssertions = exports.snapshotAssertionWithOptions = exports.snapshotAssertion = void 0;
|
|
13
|
-
const zod_1 = require("zod");
|
|
14
|
-
const schema_js_1 = require("../../schema.cjs");
|
|
15
|
-
const select_adapter_js_1 = require("../../snapshot/select-adapter.cjs");
|
|
16
|
-
const create_js_1 = require("../create.cjs");
|
|
17
|
-
/**
|
|
18
|
-
* Asserts that a value matches a stored snapshot.
|
|
19
|
-
*
|
|
20
|
-
* This assertion provides unified snapshot testing across multiple test
|
|
21
|
-
* frameworks. It automatically detects the test framework from the context
|
|
22
|
-
* parameter and uses the appropriate snapshot mechanism.
|
|
23
|
-
*
|
|
24
|
-
* **Supported Frameworks:**
|
|
25
|
-
*
|
|
26
|
-
* - **node:test**: Native `assert.snapshot()` support
|
|
27
|
-
* - **Jest/Vitest**: Coming in Phase 2
|
|
28
|
-
* - **Mocha**: Custom snapshot storage
|
|
29
|
-
* - **Any framework**: Use explicit string names
|
|
30
|
-
*
|
|
31
|
-
* **Basic Usage:**
|
|
32
|
-
*
|
|
33
|
-
* ```typescript
|
|
34
|
-
* import test from 'node:test';
|
|
35
|
-
* import { expect } from 'bupkis';
|
|
36
|
-
*
|
|
37
|
-
* test('component renders correctly', (t) => {
|
|
38
|
-
* const output = renderComponent();
|
|
39
|
-
* expect(output, 'to match snapshot', t);
|
|
40
|
-
* });
|
|
41
|
-
* ```
|
|
42
|
-
*
|
|
43
|
-
* **With Custom Serializer:**
|
|
44
|
-
*
|
|
45
|
-
* ```typescript
|
|
46
|
-
* test('redacts sensitive data', (t) => {
|
|
47
|
-
* const data = { public: 'visible', secret: 'password123' };
|
|
48
|
-
* expect(data, 'to match snapshot', t, {
|
|
49
|
-
* serializer: (value: any) =>
|
|
50
|
-
* JSON.stringify({ ...value, secret: '[REDACTED]' }, null, 2),
|
|
51
|
-
* });
|
|
52
|
-
* });
|
|
53
|
-
* ```
|
|
54
|
-
*
|
|
55
|
-
* **Multiple Snapshots Per Test:**
|
|
56
|
-
*
|
|
57
|
-
* ```typescript
|
|
58
|
-
* test('multi-step process', (t) => {
|
|
59
|
-
* const step1 = processStep1();
|
|
60
|
-
* expect(step1, 'to match snapshot', t, { hint: 'step-1' });
|
|
61
|
-
*
|
|
62
|
-
* const step2 = processStep2();
|
|
63
|
-
* expect(step2, 'to match snapshot', t, { hint: 'step-2' });
|
|
64
|
-
*
|
|
65
|
-
* const step3 = processStep3();
|
|
66
|
-
* expect(step3, 'to match snapshot', t, { hint: 'step-3' });
|
|
67
|
-
* });
|
|
68
|
-
* ```
|
|
69
|
-
*
|
|
70
|
-
* **Mocha Usage:**
|
|
71
|
-
*
|
|
72
|
-
* ```typescript
|
|
73
|
-
* describe('MyComponent', function () {
|
|
74
|
-
* it('renders correctly', function () {
|
|
75
|
-
* const output = renderComponent();
|
|
76
|
-
* expect(output, 'to match snapshot', this);
|
|
77
|
-
* });
|
|
78
|
-
* });
|
|
79
|
-
* ```
|
|
80
|
-
*
|
|
81
|
-
* **Explicit Snapshot Names:**
|
|
82
|
-
*
|
|
83
|
-
* ```typescript
|
|
84
|
-
* test('any framework', () => {
|
|
85
|
-
* const output = renderComponent();
|
|
86
|
-
* expect(output, 'to match snapshot', 'component-default-state');
|
|
87
|
-
* });
|
|
88
|
-
* ```
|
|
89
|
-
*
|
|
90
|
-
* **Chaining with Other Assertions:**
|
|
91
|
-
*
|
|
92
|
-
* ```typescript
|
|
93
|
-
* test('validates and snapshots', (t) => {
|
|
94
|
-
* const user = getUserData();
|
|
95
|
-
* expect(
|
|
96
|
-
* user,
|
|
97
|
-
* 'to satisfy',
|
|
98
|
-
* { name: 'Alice' },
|
|
99
|
-
* 'and',
|
|
100
|
-
* 'to have property',
|
|
101
|
-
* 'email',
|
|
102
|
-
* 'and',
|
|
103
|
-
* 'to match snapshot',
|
|
104
|
-
* t,
|
|
105
|
-
* );
|
|
106
|
-
* });
|
|
107
|
-
* ```
|
|
108
|
-
*
|
|
109
|
-
* **Updating Snapshots:**
|
|
110
|
-
*
|
|
111
|
-
* ```sh
|
|
112
|
-
* # node:test
|
|
113
|
-
* node --test --test-update-snapshots
|
|
114
|
-
*
|
|
115
|
-
* # Jest/Vitest (Phase 2)
|
|
116
|
-
* vitest -u
|
|
117
|
-
*
|
|
118
|
-
* # Other frameworks
|
|
119
|
-
* BUPKIS_UPDATE_SNAPSHOTS=1 npm test
|
|
120
|
-
* ```
|
|
121
|
-
*
|
|
122
|
-
* @example Basic snapshot assertion
|
|
123
|
-
*
|
|
124
|
-
* ```typescript
|
|
125
|
-
* import test from 'node:test';
|
|
126
|
-
* import { expect } from 'bupkis';
|
|
127
|
-
*
|
|
128
|
-
* test('renders user profile', (t) => {
|
|
129
|
-
* const profile = { name: 'Alice', age: 30, role: 'admin' };
|
|
130
|
-
* expect(profile, 'to match snapshot', t);
|
|
131
|
-
* });
|
|
132
|
-
* ```
|
|
133
|
-
*
|
|
134
|
-
* @example Snapshot with custom serialization
|
|
135
|
-
*
|
|
136
|
-
* ```typescript
|
|
137
|
-
* test('redacts passwords', (t) => {
|
|
138
|
-
* const user = {
|
|
139
|
-
* username: 'alice',
|
|
140
|
-
* password: 'secret123',
|
|
141
|
-
* email: 'alice@example.com',
|
|
142
|
-
* };
|
|
143
|
-
*
|
|
144
|
-
* expect(user, 'to match snapshot', t, {
|
|
145
|
-
* serializer: (value: any) => {
|
|
146
|
-
* return JSON.stringify(
|
|
147
|
-
* {
|
|
148
|
-
* ...value,
|
|
149
|
-
* password: '[REDACTED]',
|
|
150
|
-
* },
|
|
151
|
-
* null,
|
|
152
|
-
* 2,
|
|
153
|
-
* );
|
|
154
|
-
* },
|
|
155
|
-
* });
|
|
156
|
-
* });
|
|
157
|
-
* ```
|
|
158
|
-
*
|
|
159
|
-
* @example Multiple snapshots with hints
|
|
160
|
-
*
|
|
161
|
-
* ```typescript
|
|
162
|
-
* test('captures workflow steps', (t) => {
|
|
163
|
-
* const initial = { status: 'pending' };
|
|
164
|
-
* expect(initial, 'to match snapshot', t, { hint: 'initial-state' });
|
|
165
|
-
*
|
|
166
|
-
* const processing = { status: 'processing', progress: 50 };
|
|
167
|
-
* expect(processing, 'to match snapshot', t, {
|
|
168
|
-
* hint: 'processing-state',
|
|
169
|
-
* });
|
|
170
|
-
*
|
|
171
|
-
* const complete = { status: 'complete', result: 'success' };
|
|
172
|
-
* expect(complete, 'to match snapshot', t, { hint: 'complete-state' });
|
|
173
|
-
* });
|
|
174
|
-
* ```
|
|
175
|
-
*
|
|
176
|
-
* @param subject - The value to snapshot (any type)
|
|
177
|
-
* @param context - Test context object or explicit snapshot name
|
|
178
|
-
* @param options - Optional serialization and naming options
|
|
179
|
-
* @group Snapshot Assertions
|
|
180
|
-
* @bupkisAnchor unknown-to-match-snapshot
|
|
181
|
-
* @bupkisAssertionCategory snapshot
|
|
182
|
-
*/
|
|
183
|
-
exports.snapshotAssertion = (0, create_js_1.createAssertion)([
|
|
184
|
-
zod_1.z.unknown(),
|
|
185
|
-
[
|
|
186
|
-
'to match snapshot',
|
|
187
|
-
'to match the snapshot',
|
|
188
|
-
'to equal snapshot',
|
|
189
|
-
'to equal the snapshot',
|
|
190
|
-
],
|
|
191
|
-
zod_1.z.unknown().nonoptional(),
|
|
192
|
-
], (actual, context) => {
|
|
193
|
-
const adapter = (0, select_adapter_js_1.selectAdapter)(context);
|
|
194
|
-
return adapter.validateSnapshot(actual, context);
|
|
195
|
-
});
|
|
196
|
-
/**
|
|
197
|
-
* Asserts that a value matches a stored snapshot with custom options.
|
|
198
|
-
*
|
|
199
|
-
* This is an extended version of {@link snapshotAssertion} that accepts explicit
|
|
200
|
-
* options for serialization and snapshot naming via the `with options` syntax.
|
|
201
|
-
*
|
|
202
|
-
* @example Snapshot with custom serializer using 'with options'
|
|
203
|
-
*
|
|
204
|
-
* ```typescript
|
|
205
|
-
* import test from 'node:test';
|
|
206
|
-
* import { expect } from 'bupkis';
|
|
207
|
-
*
|
|
208
|
-
* test('redacts sensitive fields', (t) => {
|
|
209
|
-
* const data = { username: 'alice', password: 'secret123' };
|
|
210
|
-
*
|
|
211
|
-
* expect(data, 'to match snapshot', t, 'with options', {
|
|
212
|
-
* serializer: (value: any) =>
|
|
213
|
-
* JSON.stringify({ ...value, password: '[REDACTED]' }, null, 2),
|
|
214
|
-
* });
|
|
215
|
-
* });
|
|
216
|
-
* ```
|
|
217
|
-
*
|
|
218
|
-
* @example Multiple snapshots with hints using 'with options'
|
|
219
|
-
*
|
|
220
|
-
* ```typescript
|
|
221
|
-
* test('workflow stages', (t) => {
|
|
222
|
-
* const stage1 = { phase: 'init' };
|
|
223
|
-
* expect(stage1, 'to match snapshot', t, 'with options', {
|
|
224
|
-
* hint: 'stage-1',
|
|
225
|
-
* });
|
|
226
|
-
*
|
|
227
|
-
* const stage2 = { phase: 'processing' };
|
|
228
|
-
* expect(stage2, 'to match snapshot', t, 'with options', {
|
|
229
|
-
* hint: 'stage-2',
|
|
230
|
-
* });
|
|
231
|
-
* });
|
|
232
|
-
* ```
|
|
233
|
-
*
|
|
234
|
-
* @param subject - The value to snapshot (any type)
|
|
235
|
-
* @param context - Test context object or explicit snapshot name
|
|
236
|
-
* @param options - Serialization and naming options
|
|
237
|
-
* @group Snapshot Assertions
|
|
238
|
-
* @bupkisAnchor unknown-to-match-snapshot-with-options
|
|
239
|
-
* @bupkisAssertionCategory snapshot
|
|
240
|
-
*/
|
|
241
|
-
exports.snapshotAssertionWithOptions = (0, create_js_1.createAssertion)([
|
|
242
|
-
zod_1.z.unknown(),
|
|
243
|
-
[
|
|
244
|
-
'to match snapshot',
|
|
245
|
-
'to match the snapshot',
|
|
246
|
-
'to equal snapshot',
|
|
247
|
-
'to equal the snapshot',
|
|
248
|
-
],
|
|
249
|
-
zod_1.z.unknown().nonoptional(),
|
|
250
|
-
'with options',
|
|
251
|
-
schema_js_1.SnapshotOptionsSchema,
|
|
252
|
-
], (actual, context, options) => {
|
|
253
|
-
const adapter = (0, select_adapter_js_1.selectAdapter)(context);
|
|
254
|
-
return adapter.validateSnapshot(actual, context, options);
|
|
255
|
-
});
|
|
256
|
-
/**
|
|
257
|
-
* Collection of all snapshot assertions.
|
|
258
|
-
*
|
|
259
|
-
* Currently contains only the main snapshot assertion, but structured as a
|
|
260
|
-
* collection for consistency with other assertion modules and to allow for
|
|
261
|
-
* future expansion (e.g., inline snapshots, property matchers).
|
|
262
|
-
*
|
|
263
|
-
* @example
|
|
264
|
-
*
|
|
265
|
-
* ```typescript
|
|
266
|
-
* import { SnapshotAssertions } from 'bupkis/assertions';
|
|
267
|
-
*
|
|
268
|
-
* // All snapshot assertions are available
|
|
269
|
-
* const { snapshotAssertion } = SnapshotAssertions;
|
|
270
|
-
* ```
|
|
271
|
-
*/
|
|
272
|
-
exports.SnapshotAssertions = {
|
|
273
|
-
snapshotAssertion: exports.snapshotAssertion,
|
|
274
|
-
snapshotAssertionWithOptions: exports.snapshotAssertionWithOptions,
|
|
275
|
-
};
|
|
276
|
-
//# sourceMappingURL=snapshot.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"snapshot.js","sourceRoot":"","sources":["../../../src/assertion/impl/snapshot.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;AAEH,6BAAwB;AAExB,gDAAwD;AACxD,yEAAiE;AACjE,6CAA+C;AAE/C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqKG;AACU,QAAA,iBAAiB,GAAG,IAAA,2BAAe,EAC9C;IACE,OAAC,CAAC,OAAO,EAAE;IACX;QACE,mBAAmB;QACnB,uBAAuB;QACvB,mBAAmB;QACnB,uBAAuB;KACxB;IACD,OAAC,CAAC,OAAO,EAAE,CAAC,WAAW,EAAE;CAC1B,EACD,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE;IAClB,MAAM,OAAO,GAAG,IAAA,iCAAa,EAAC,OAAO,CAAC,CAAC;IACvC,OAAO,OAAO,CAAC,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AACnD,CAAC,CACF,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACU,QAAA,4BAA4B,GAAG,IAAA,2BAAe,EACzD;IACE,OAAC,CAAC,OAAO,EAAE;IACX;QACE,mBAAmB;QACnB,uBAAuB;QACvB,mBAAmB;QACnB,uBAAuB;KACxB;IACD,OAAC,CAAC,OAAO,EAAE,CAAC,WAAW,EAAE;IACzB,cAAc;IACd,iCAAqB;CACtB,EACD,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;IAC3B,MAAM,OAAO,GAAG,IAAA,iCAAa,EAAC,OAAO,CAAC,CAAC;IACvC,OAAO,OAAO,CAAC,gBAAgB,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AAC5D,CAAC,CACF,CAAC;AACF;;;;;;;;;;;;;;;GAeG;AACU,QAAA,kBAAkB,GAAG;IAChC,iBAAiB,EAAjB,yBAAiB;IACjB,4BAA4B,EAA5B,oCAA4B;CACpB,CAAC"}
|
|
@@ -1,278 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Snapshot testing assertions for BUPKIS.
|
|
3
|
-
*
|
|
4
|
-
* Provides unified snapshot testing across multiple test frameworks including
|
|
5
|
-
* node:test, Jest, Vitest, Mocha, and others.
|
|
6
|
-
*
|
|
7
|
-
* @packageDocumentation
|
|
8
|
-
* @group Snapshot Assertions
|
|
9
|
-
*/
|
|
10
|
-
import { z } from 'zod';
|
|
11
|
-
/**
|
|
12
|
-
* Asserts that a value matches a stored snapshot.
|
|
13
|
-
*
|
|
14
|
-
* This assertion provides unified snapshot testing across multiple test
|
|
15
|
-
* frameworks. It automatically detects the test framework from the context
|
|
16
|
-
* parameter and uses the appropriate snapshot mechanism.
|
|
17
|
-
*
|
|
18
|
-
* **Supported Frameworks:**
|
|
19
|
-
*
|
|
20
|
-
* - **node:test**: Native `assert.snapshot()` support
|
|
21
|
-
* - **Jest/Vitest**: Coming in Phase 2
|
|
22
|
-
* - **Mocha**: Custom snapshot storage
|
|
23
|
-
* - **Any framework**: Use explicit string names
|
|
24
|
-
*
|
|
25
|
-
* **Basic Usage:**
|
|
26
|
-
*
|
|
27
|
-
* ```typescript
|
|
28
|
-
* import test from 'node:test';
|
|
29
|
-
* import { expect } from 'bupkis';
|
|
30
|
-
*
|
|
31
|
-
* test('component renders correctly', (t) => {
|
|
32
|
-
* const output = renderComponent();
|
|
33
|
-
* expect(output, 'to match snapshot', t);
|
|
34
|
-
* });
|
|
35
|
-
* ```
|
|
36
|
-
*
|
|
37
|
-
* **With Custom Serializer:**
|
|
38
|
-
*
|
|
39
|
-
* ```typescript
|
|
40
|
-
* test('redacts sensitive data', (t) => {
|
|
41
|
-
* const data = { public: 'visible', secret: 'password123' };
|
|
42
|
-
* expect(data, 'to match snapshot', t, {
|
|
43
|
-
* serializer: (value: any) =>
|
|
44
|
-
* JSON.stringify({ ...value, secret: '[REDACTED]' }, null, 2),
|
|
45
|
-
* });
|
|
46
|
-
* });
|
|
47
|
-
* ```
|
|
48
|
-
*
|
|
49
|
-
* **Multiple Snapshots Per Test:**
|
|
50
|
-
*
|
|
51
|
-
* ```typescript
|
|
52
|
-
* test('multi-step process', (t) => {
|
|
53
|
-
* const step1 = processStep1();
|
|
54
|
-
* expect(step1, 'to match snapshot', t, { hint: 'step-1' });
|
|
55
|
-
*
|
|
56
|
-
* const step2 = processStep2();
|
|
57
|
-
* expect(step2, 'to match snapshot', t, { hint: 'step-2' });
|
|
58
|
-
*
|
|
59
|
-
* const step3 = processStep3();
|
|
60
|
-
* expect(step3, 'to match snapshot', t, { hint: 'step-3' });
|
|
61
|
-
* });
|
|
62
|
-
* ```
|
|
63
|
-
*
|
|
64
|
-
* **Mocha Usage:**
|
|
65
|
-
*
|
|
66
|
-
* ```typescript
|
|
67
|
-
* describe('MyComponent', function () {
|
|
68
|
-
* it('renders correctly', function () {
|
|
69
|
-
* const output = renderComponent();
|
|
70
|
-
* expect(output, 'to match snapshot', this);
|
|
71
|
-
* });
|
|
72
|
-
* });
|
|
73
|
-
* ```
|
|
74
|
-
*
|
|
75
|
-
* **Explicit Snapshot Names:**
|
|
76
|
-
*
|
|
77
|
-
* ```typescript
|
|
78
|
-
* test('any framework', () => {
|
|
79
|
-
* const output = renderComponent();
|
|
80
|
-
* expect(output, 'to match snapshot', 'component-default-state');
|
|
81
|
-
* });
|
|
82
|
-
* ```
|
|
83
|
-
*
|
|
84
|
-
* **Chaining with Other Assertions:**
|
|
85
|
-
*
|
|
86
|
-
* ```typescript
|
|
87
|
-
* test('validates and snapshots', (t) => {
|
|
88
|
-
* const user = getUserData();
|
|
89
|
-
* expect(
|
|
90
|
-
* user,
|
|
91
|
-
* 'to satisfy',
|
|
92
|
-
* { name: 'Alice' },
|
|
93
|
-
* 'and',
|
|
94
|
-
* 'to have property',
|
|
95
|
-
* 'email',
|
|
96
|
-
* 'and',
|
|
97
|
-
* 'to match snapshot',
|
|
98
|
-
* t,
|
|
99
|
-
* );
|
|
100
|
-
* });
|
|
101
|
-
* ```
|
|
102
|
-
*
|
|
103
|
-
* **Updating Snapshots:**
|
|
104
|
-
*
|
|
105
|
-
* ```sh
|
|
106
|
-
* # node:test
|
|
107
|
-
* node --test --test-update-snapshots
|
|
108
|
-
*
|
|
109
|
-
* # Jest/Vitest (Phase 2)
|
|
110
|
-
* vitest -u
|
|
111
|
-
*
|
|
112
|
-
* # Other frameworks
|
|
113
|
-
* BUPKIS_UPDATE_SNAPSHOTS=1 npm test
|
|
114
|
-
* ```
|
|
115
|
-
*
|
|
116
|
-
* @example Basic snapshot assertion
|
|
117
|
-
*
|
|
118
|
-
* ```typescript
|
|
119
|
-
* import test from 'node:test';
|
|
120
|
-
* import { expect } from 'bupkis';
|
|
121
|
-
*
|
|
122
|
-
* test('renders user profile', (t) => {
|
|
123
|
-
* const profile = { name: 'Alice', age: 30, role: 'admin' };
|
|
124
|
-
* expect(profile, 'to match snapshot', t);
|
|
125
|
-
* });
|
|
126
|
-
* ```
|
|
127
|
-
*
|
|
128
|
-
* @example Snapshot with custom serialization
|
|
129
|
-
*
|
|
130
|
-
* ```typescript
|
|
131
|
-
* test('redacts passwords', (t) => {
|
|
132
|
-
* const user = {
|
|
133
|
-
* username: 'alice',
|
|
134
|
-
* password: 'secret123',
|
|
135
|
-
* email: 'alice@example.com',
|
|
136
|
-
* };
|
|
137
|
-
*
|
|
138
|
-
* expect(user, 'to match snapshot', t, {
|
|
139
|
-
* serializer: (value: any) => {
|
|
140
|
-
* return JSON.stringify(
|
|
141
|
-
* {
|
|
142
|
-
* ...value,
|
|
143
|
-
* password: '[REDACTED]',
|
|
144
|
-
* },
|
|
145
|
-
* null,
|
|
146
|
-
* 2,
|
|
147
|
-
* );
|
|
148
|
-
* },
|
|
149
|
-
* });
|
|
150
|
-
* });
|
|
151
|
-
* ```
|
|
152
|
-
*
|
|
153
|
-
* @example Multiple snapshots with hints
|
|
154
|
-
*
|
|
155
|
-
* ```typescript
|
|
156
|
-
* test('captures workflow steps', (t) => {
|
|
157
|
-
* const initial = { status: 'pending' };
|
|
158
|
-
* expect(initial, 'to match snapshot', t, { hint: 'initial-state' });
|
|
159
|
-
*
|
|
160
|
-
* const processing = { status: 'processing', progress: 50 };
|
|
161
|
-
* expect(processing, 'to match snapshot', t, {
|
|
162
|
-
* hint: 'processing-state',
|
|
163
|
-
* });
|
|
164
|
-
*
|
|
165
|
-
* const complete = { status: 'complete', result: 'success' };
|
|
166
|
-
* expect(complete, 'to match snapshot', t, { hint: 'complete-state' });
|
|
167
|
-
* });
|
|
168
|
-
* ```
|
|
169
|
-
*
|
|
170
|
-
* @param subject - The value to snapshot (any type)
|
|
171
|
-
* @param context - Test context object or explicit snapshot name
|
|
172
|
-
* @param options - Optional serialization and naming options
|
|
173
|
-
* @group Snapshot Assertions
|
|
174
|
-
* @bupkisAnchor unknown-to-match-snapshot
|
|
175
|
-
* @bupkisAssertionCategory snapshot
|
|
176
|
-
*/
|
|
177
|
-
export declare const snapshotAssertion: import("../assertion-types.js").AssertionFunctionSync<readonly [z.ZodUnknown, readonly ["to match snapshot", "to match the snapshot", "to equal snapshot", "to equal the snapshot"], z.ZodNonOptional<z.ZodUnknown>], (actual: unknown, context: unknown) => void | import("../assertion-types.js").AssertionFailure, readonly [z.ZodUnknown, import("../assertion-types.js").PhraseLiteralChoiceSlot<readonly ["to match snapshot", "to match the snapshot", "to equal snapshot", "to equal the snapshot"]>, z.ZodNonOptional<z.ZodUnknown>]>;
|
|
178
|
-
/**
|
|
179
|
-
* Asserts that a value matches a stored snapshot with custom options.
|
|
180
|
-
*
|
|
181
|
-
* This is an extended version of {@link snapshotAssertion} that accepts explicit
|
|
182
|
-
* options for serialization and snapshot naming via the `with options` syntax.
|
|
183
|
-
*
|
|
184
|
-
* @example Snapshot with custom serializer using 'with options'
|
|
185
|
-
*
|
|
186
|
-
* ```typescript
|
|
187
|
-
* import test from 'node:test';
|
|
188
|
-
* import { expect } from 'bupkis';
|
|
189
|
-
*
|
|
190
|
-
* test('redacts sensitive fields', (t) => {
|
|
191
|
-
* const data = { username: 'alice', password: 'secret123' };
|
|
192
|
-
*
|
|
193
|
-
* expect(data, 'to match snapshot', t, 'with options', {
|
|
194
|
-
* serializer: (value: any) =>
|
|
195
|
-
* JSON.stringify({ ...value, password: '[REDACTED]' }, null, 2),
|
|
196
|
-
* });
|
|
197
|
-
* });
|
|
198
|
-
* ```
|
|
199
|
-
*
|
|
200
|
-
* @example Multiple snapshots with hints using 'with options'
|
|
201
|
-
*
|
|
202
|
-
* ```typescript
|
|
203
|
-
* test('workflow stages', (t) => {
|
|
204
|
-
* const stage1 = { phase: 'init' };
|
|
205
|
-
* expect(stage1, 'to match snapshot', t, 'with options', {
|
|
206
|
-
* hint: 'stage-1',
|
|
207
|
-
* });
|
|
208
|
-
*
|
|
209
|
-
* const stage2 = { phase: 'processing' };
|
|
210
|
-
* expect(stage2, 'to match snapshot', t, 'with options', {
|
|
211
|
-
* hint: 'stage-2',
|
|
212
|
-
* });
|
|
213
|
-
* });
|
|
214
|
-
* ```
|
|
215
|
-
*
|
|
216
|
-
* @param subject - The value to snapshot (any type)
|
|
217
|
-
* @param context - Test context object or explicit snapshot name
|
|
218
|
-
* @param options - Serialization and naming options
|
|
219
|
-
* @group Snapshot Assertions
|
|
220
|
-
* @bupkisAnchor unknown-to-match-snapshot-with-options
|
|
221
|
-
* @bupkisAssertionCategory snapshot
|
|
222
|
-
*/
|
|
223
|
-
export declare const snapshotAssertionWithOptions: import("../assertion-types.js").AssertionFunctionSync<readonly [z.ZodUnknown, readonly ["to match snapshot", "to match the snapshot", "to equal snapshot", "to equal the snapshot"], z.ZodNonOptional<z.ZodUnknown>, "with options", z.ZodObject<{
|
|
224
|
-
hint: z.ZodOptional<z.ZodString>;
|
|
225
|
-
serializer: z.ZodOptional<z.ZodAny>;
|
|
226
|
-
}, z.core.$strip>], (actual: unknown, context: unknown, options: {
|
|
227
|
-
hint?: string | undefined;
|
|
228
|
-
serializer?: any;
|
|
229
|
-
}) => void | import("../assertion-types.js").AssertionFailure, readonly [z.ZodUnknown, import("../assertion-types.js").PhraseLiteralChoiceSlot<readonly ["to match snapshot", "to match the snapshot", "to equal snapshot", "to equal the snapshot"]>, z.ZodNonOptional<z.ZodUnknown>, import("../assertion-types.js").PhraseLiteralSlot<"with options">, z.ZodObject<{
|
|
230
|
-
hint: z.ZodOptional<z.ZodString>;
|
|
231
|
-
serializer: z.ZodOptional<z.ZodAny>;
|
|
232
|
-
}, z.core.$strip>]>;
|
|
233
|
-
/**
|
|
234
|
-
* Collection of all snapshot assertions.
|
|
235
|
-
*
|
|
236
|
-
* Currently contains only the main snapshot assertion, but structured as a
|
|
237
|
-
* collection for consistency with other assertion modules and to allow for
|
|
238
|
-
* future expansion (e.g., inline snapshots, property matchers).
|
|
239
|
-
*
|
|
240
|
-
* @example
|
|
241
|
-
*
|
|
242
|
-
* ```typescript
|
|
243
|
-
* import { SnapshotAssertions } from 'bupkis/assertions';
|
|
244
|
-
*
|
|
245
|
-
* // All snapshot assertions are available
|
|
246
|
-
* const { snapshotAssertion } = SnapshotAssertions;
|
|
247
|
-
* ```
|
|
248
|
-
*/
|
|
249
|
-
export declare const SnapshotAssertions: {
|
|
250
|
-
readonly snapshotAssertion: import("../assertion-types.js").AssertionFunctionSync<readonly [z.ZodUnknown, readonly ["to match snapshot", "to match the snapshot", "to equal snapshot", "to equal the snapshot"], z.ZodNonOptional<z.ZodUnknown>], (actual: unknown, context: unknown) => void | import("../assertion-types.js").AssertionFailure, readonly [z.ZodUnknown, import("../assertion-types.js").PhraseLiteralChoiceSlot<readonly ["to match snapshot", "to match the snapshot", "to equal snapshot", "to equal the snapshot"]>, z.ZodNonOptional<z.ZodUnknown>]>;
|
|
251
|
-
readonly snapshotAssertionWithOptions: import("../assertion-types.js").AssertionFunctionSync<readonly [z.ZodUnknown, readonly ["to match snapshot", "to match the snapshot", "to equal snapshot", "to equal the snapshot"], z.ZodNonOptional<z.ZodUnknown>, "with options", z.ZodObject<{
|
|
252
|
-
hint: z.ZodOptional<z.ZodString>;
|
|
253
|
-
serializer: z.ZodOptional<z.ZodAny>;
|
|
254
|
-
}, z.core.$strip>], (actual: unknown, context: unknown, options: {
|
|
255
|
-
hint?: string | undefined;
|
|
256
|
-
serializer?: any;
|
|
257
|
-
}) => void | import("../assertion-types.js").AssertionFailure, readonly [z.ZodUnknown, import("../assertion-types.js").PhraseLiteralChoiceSlot<readonly ["to match snapshot", "to match the snapshot", "to equal snapshot", "to equal the snapshot"]>, z.ZodNonOptional<z.ZodUnknown>, import("../assertion-types.js").PhraseLiteralSlot<"with options">, z.ZodObject<{
|
|
258
|
-
hint: z.ZodOptional<z.ZodString>;
|
|
259
|
-
serializer: z.ZodOptional<z.ZodAny>;
|
|
260
|
-
}, z.core.$strip>]>;
|
|
261
|
-
};
|
|
262
|
-
/**
|
|
263
|
-
* Type for the snapshot assertions collection.
|
|
264
|
-
*
|
|
265
|
-
* This type can be used for type checking or documentation purposes.
|
|
266
|
-
*
|
|
267
|
-
* @example
|
|
268
|
-
*
|
|
269
|
-
* ```typescript
|
|
270
|
-
* import type { SnapshotAssertions } from 'bupkis/assertions';
|
|
271
|
-
*
|
|
272
|
-
* function useSnapshotAssertions(assertions: SnapshotAssertions) {
|
|
273
|
-
* // assertions has the correct type
|
|
274
|
-
* }
|
|
275
|
-
* ```
|
|
276
|
-
*/
|
|
277
|
-
export type SnapshotAssertions = typeof SnapshotAssertions;
|
|
278
|
-
//# sourceMappingURL=snapshot.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"snapshot.d.ts","sourceRoot":"","sources":["../../../src/assertion/impl/snapshot.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqKG;AACH,eAAO,MAAM,iBAAiB,ghBAe7B,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,eAAO,MAAM,4BAA4B;;;;;;;;;mBAiBxC,CAAC;AACF;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;CAGrB,CAAC;AAEX;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,kBAAkB,GAAG,OAAO,kBAAkB,CAAC"}
|