joist-test-utils 2.3.0-next.2 → 2.3.0-next.4
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/README.md +1 -1
- package/build/toMatchEntity.d.ts.map +1 -1
- package/build/toMatchEntity.js +23 -2
- package/build/toMatchEntity.js.map +1 -1
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toMatchEntity.d.ts","sourceRoot":"","sources":["../src/toMatchEntity.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,MAAM,EAQN,QAAQ,EACR,kBAAkB,EAClB,SAAS,EACV,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"toMatchEntity.d.ts","sourceRoot":"","sources":["../src/toMatchEntity.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,MAAM,EAQN,QAAQ,EACR,kBAAkB,EAClB,SAAS,EACV,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAW9C;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,mBAAmB,CA6C5G;AAWD;;;;;;;;GAQG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,IACzB,CAAC,SAAS,aAAa,CAAC,MAAM,CAAC,CAAC,GAC5B,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,GAE3B,SAAS,GACT,CAAC,GACD;KACG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,GAAG,CAAC,GACtD,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,GACpB,CAAC,CAAC,CAAC,CAAC,SAAS,kBAAkB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,GAC3C,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAC3B,CAAC,CAAC,CAAC,CAAC,SAAS,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,GACjC,CAAC,GACD,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,GAAG,IAAI,GAAG,SAAS,GACpC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,SAAS,GAC7C,CAAC,CAAC,CAAC,CAAC,SAAS,aAAa,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC,GAC7C,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,EAAE,GAC7C,CAAC,CAAC,CAAC,CAAC,SAAS,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,GACxC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE,GAExC,AADA,sCAAsC;IACtC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI;CACzC,CAAC"}
|
package/build/toMatchEntity.js
CHANGED
|
@@ -5,7 +5,12 @@ const joist_core_1 = require("joist-core");
|
|
|
5
5
|
const joist_utils_1 = require("joist-utils");
|
|
6
6
|
// This might be undefined if running outside of jest
|
|
7
7
|
const jestMatchers = globalThis[Symbol.for("$$jest-matchers-object")];
|
|
8
|
-
|
|
8
|
+
// Vitest also populates the `$$jest-matchers-object` symbol, but the matchers it stores there are
|
|
9
|
+
// chai-based and assume `this` is a chai Assertion (with a `this.assert` method), which our custom
|
|
10
|
+
// matcher's `this` context is not--so calling them throws `this.assert is not a function`. Only take
|
|
11
|
+
// the Jest fast-path under actual Jest, and route Vitest through the `this.equals` path below (like Bun).
|
|
12
|
+
const isVitest = typeof process !== "undefined" && process.env?.VITEST === "true";
|
|
13
|
+
const matchers = isVitest ? undefined : jestMatchers?.matchers;
|
|
9
14
|
/**
|
|
10
15
|
* Provides convenient `toMatchObject`-style matching for Joist entities.
|
|
11
16
|
*
|
|
@@ -40,8 +45,24 @@ function toMatchEntity(actual, expected) {
|
|
|
40
45
|
return matchers.toMatchObject.call(this, cleanActual, cleanExpected);
|
|
41
46
|
}
|
|
42
47
|
}
|
|
48
|
+
else if (isVitest) {
|
|
49
|
+
// `deepMirror` already pruned `cleanActual` down to the subset of keys that `cleanExpected`
|
|
50
|
+
// declares, so a full `this.equals` deep-equality behaves like Jest's `toMatchObject`. We pass
|
|
51
|
+
// `this.customTesters` so `areEntitiesEqual` still applies. Building the diff into `message`
|
|
52
|
+
// (like Jest's `toMatchObject`) keeps the failure output readable both in the terminal and in
|
|
53
|
+
// `toThrowErrorMatchingInlineSnapshot`, instead of the default `expect([object Object])...`.
|
|
54
|
+
const pass = this.equals(cleanActual, cleanExpected, this.customTesters);
|
|
55
|
+
return {
|
|
56
|
+
pass,
|
|
57
|
+
message: () => {
|
|
58
|
+
const hint = this.utils.matcherHint("toMatchEntity", undefined, undefined, { isNot: this.isNot });
|
|
59
|
+
const diff = this.utils.diff(cleanExpected, cleanActual);
|
|
60
|
+
return diff ? `${hint}\n\n${diff}` : hint;
|
|
61
|
+
},
|
|
62
|
+
};
|
|
63
|
+
}
|
|
43
64
|
else {
|
|
44
|
-
//
|
|
65
|
+
// This is Bun, whose matcher `this.utils` only exposes `matcherHint`.
|
|
45
66
|
return {
|
|
46
67
|
pass: this.equals(cleanActual, cleanExpected),
|
|
47
68
|
message: () => this.utils.matcherHint("toMatchEntity", cleanActual, cleanExpected),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toMatchEntity.js","sourceRoot":"","sources":["../src/toMatchEntity.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"toMatchEntity.js","sourceRoot":"","sources":["../src/toMatchEntity.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "joist-test-utils",
|
|
3
|
-
"version": "2.3.0-next.
|
|
3
|
+
"version": "2.3.0-next.4",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"main": "build/index.js",
|
|
6
6
|
"types": "build/index.d.ts",
|
|
@@ -11,8 +11,8 @@
|
|
|
11
11
|
"build"
|
|
12
12
|
],
|
|
13
13
|
"peerDependencies": {
|
|
14
|
-
"joist-core": "2.3.0-next.
|
|
15
|
-
"joist-utils": "2.3.0-next.
|
|
14
|
+
"joist-core": "2.3.0-next.4",
|
|
15
|
+
"joist-utils": "2.3.0-next.4",
|
|
16
16
|
"pg": "^8.22.0"
|
|
17
17
|
},
|
|
18
18
|
"devDependencies": {
|