@sprucelabs/test-utils 5.1.430 → 5.1.432
Sign up to get free protection for your applications and to get access to all the features.
package/build/AssertionError.js
CHANGED
@@ -6,13 +6,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const StackCleaner_1 = __importDefault(require("./StackCleaner"));
|
7
7
|
class AssertionError extends Error {
|
8
8
|
constructor(message, stack) {
|
9
|
-
var _a;
|
10
9
|
super(message);
|
11
10
|
this.message = message;
|
12
11
|
this.stack =
|
13
12
|
this.message +
|
14
13
|
'\n' +
|
15
|
-
StackCleaner_1.default.clean(`${(
|
14
|
+
StackCleaner_1.default.clean(`${(stack ?? this.stack ?? '').replace(message, '')}`);
|
16
15
|
}
|
17
16
|
}
|
18
17
|
exports.default = AssertionError;
|
@@ -17,10 +17,9 @@ exports.CIRCULAR_PLACEHOLDER = '_____________circular_____________';
|
|
17
17
|
exports.NULL_PLACEHOLDER = '_____________null_____________';
|
18
18
|
const assertUtil = {
|
19
19
|
fail(message, stack) {
|
20
|
-
throw new AssertionError_1.default(message
|
20
|
+
throw new AssertionError_1.default(message ?? 'Fail!', stack);
|
21
21
|
},
|
22
22
|
stringify(object) {
|
23
|
-
var _a;
|
24
23
|
let stringified;
|
25
24
|
if (Array.isArray(object)) {
|
26
25
|
stringified = `[\n${object.map((o) => this.stringify(o).split('\n').join('\n\t'))}\n]`;
|
@@ -30,7 +29,7 @@ const assertUtil = {
|
|
30
29
|
stringified = chalk_1.default.bgBlack.white(` ${object} `);
|
31
30
|
}
|
32
31
|
else if (object instanceof Error) {
|
33
|
-
stringified = `${
|
32
|
+
stringified = `${object.stack ?? object.message}`;
|
34
33
|
}
|
35
34
|
else if (object instanceof RegExp) {
|
36
35
|
stringified = `${object.toString()}`;
|
@@ -113,23 +112,24 @@ const assertUtil = {
|
|
113
112
|
},
|
114
113
|
assertTypeof(actual, type, message) {
|
115
114
|
if (typeof actual !== type) {
|
116
|
-
this.fail(message
|
115
|
+
this.fail(message ?? `${JSON.stringify(actual)} is not a ${type}`);
|
117
116
|
}
|
118
117
|
},
|
119
118
|
assertErrorIncludes(matcher, err, msg) {
|
120
|
-
|
121
|
-
const originalErrorMessage = (_a = err.message) !== null && _a !== void 0 ? _a : '';
|
119
|
+
const originalErrorMessage = err.message ?? '';
|
122
120
|
const errorMessage = originalErrorMessage.toLowerCase();
|
123
121
|
const needle = typeof matcher === 'string' ? matcher.toLowerCase() : matcher;
|
124
122
|
if (typeof needle === 'string' &&
|
125
123
|
errorMessage.search(needle) === -1 &&
|
126
124
|
!errorMessage.includes(needle)) {
|
127
|
-
this.fail(msg
|
125
|
+
this.fail(msg ??
|
126
|
+
`Expected thrown error whose message contains: \n\n${chalk_1.default.bold(matcher)}\n\nbut got back:\n\n\`${chalk_1.default.bold(originalErrorMessage)}\`.`, '\n\nStack: ' + err.stack);
|
128
127
|
}
|
129
128
|
else if (needle instanceof RegExp &&
|
130
129
|
errorMessage.search(needle) === -1 &&
|
131
130
|
originalErrorMessage.search(needle) === -1) {
|
132
|
-
this.fail(msg
|
131
|
+
this.fail(msg ??
|
132
|
+
`Expected thrown error whose message matches the regex: \n\n${chalk_1.default.bold(matcher)}\n\nbut got back:\n\n\`${chalk_1.default.bold(originalErrorMessage)}\`.`, '\n\nStack: ' + err.stack);
|
133
133
|
}
|
134
134
|
},
|
135
135
|
partialContains(object, subObject) {
|
@@ -168,9 +168,8 @@ const assertUtil = {
|
|
168
168
|
return { needleHasArrayNotation, path, expected };
|
169
169
|
},
|
170
170
|
splitPathBasedOnArrayNotation(path, haystack) {
|
171
|
-
var _a;
|
172
171
|
const pathParts = path.split('[].');
|
173
|
-
const pathToFirstArray =
|
172
|
+
const pathToFirstArray = pathParts.shift() ?? '';
|
174
173
|
const pathAfterFirstArray = pathParts.join('[].');
|
175
174
|
const actualBeforeArray = this.valueAtPath(haystack, pathToFirstArray);
|
176
175
|
return { actualBeforeArray, pathAfterFirstArray };
|
package/build/decorators.js
CHANGED
@@ -33,7 +33,7 @@ function test(description, ...args) {
|
|
33
33
|
hookupTestClass(target);
|
34
34
|
const bound = descriptor.value.bind(target);
|
35
35
|
// Make sure each test gets the spruce
|
36
|
-
it(description
|
36
|
+
it(description ?? propertyKey, async () => {
|
37
37
|
//@ts-ignore
|
38
38
|
global.activeTest = {
|
39
39
|
file: target.name,
|
@@ -50,7 +50,7 @@ test.only = (description, ...args) => {
|
|
50
50
|
hookupTestClass(target);
|
51
51
|
const bound = descriptor.value.bind(target);
|
52
52
|
// Make sure each test gets the spruce
|
53
|
-
it.only(description
|
53
|
+
it.only(description ?? propertyKey, async () => {
|
54
54
|
return bound(...args);
|
55
55
|
});
|
56
56
|
};
|
@@ -61,7 +61,7 @@ test.todo = (description, ..._args) => {
|
|
61
61
|
// Lets attach before/after
|
62
62
|
hookupTestClass(target);
|
63
63
|
// Make sure each test gets the spruce
|
64
|
-
it.todo(description
|
64
|
+
it.todo(description ?? propertyKey);
|
65
65
|
};
|
66
66
|
};
|
67
67
|
/** Skip decorator */
|
@@ -71,7 +71,7 @@ test.skip = (description, ...args) => {
|
|
71
71
|
hookupTestClass(target);
|
72
72
|
const bound = descriptor.value.bind(target);
|
73
73
|
// Make sure each test gets the spruce
|
74
|
-
it.skip(description
|
74
|
+
it.skip(description ?? propertyKey, async () => {
|
75
75
|
return bound(...args);
|
76
76
|
});
|
77
77
|
};
|
@@ -33,11 +33,10 @@ function removeProps(obj, keys) {
|
|
33
33
|
}
|
34
34
|
const errorAssert = {
|
35
35
|
assertError(error, expectedCode, expectedPartialOptions) {
|
36
|
-
var _a, _b;
|
37
36
|
const spruceErr = error;
|
38
37
|
if (!(spruceErr instanceof error_1.default)) {
|
39
38
|
if (spruceErr instanceof Error || spruceErr.message) {
|
40
|
-
assert_utility_1.default.fail(`Did not receive a SpruceError, got:\n\nMessage: ${
|
39
|
+
assert_utility_1.default.fail(`Did not receive a SpruceError, got:\n\nMessage: ${spruceErr.message ?? '***missing***'}`, spruceErr.stack ?? '');
|
41
40
|
}
|
42
41
|
else {
|
43
42
|
assert_utility_1.default.fail(`Did not receive a SpruceError, got: \n\n${assert_utility_1.default.stringify(error)}`);
|
@@ -50,7 +49,7 @@ const errorAssert = {
|
|
50
49
|
}
|
51
50
|
else {
|
52
51
|
const { code, friendlyMessage, ...options } = spruceErr.options;
|
53
|
-
assert_utility_1.default.fail(`Invalid error code. Expected:\n\n'${expectedCode}'\n\nbut got:\n\nCode: '${code}'\nMessage: '${friendlyMessage
|
52
|
+
assert_utility_1.default.fail(`Invalid error code. Expected:\n\n'${expectedCode}'\n\nbut got:\n\nCode: '${code}'\nMessage: '${friendlyMessage ?? spruceErr.message}'\nOptions:${assert_utility_1.default.stringify(options)}`, spruceErr.stack);
|
54
53
|
}
|
55
54
|
},
|
56
55
|
stripFriendlyMessageFromOptions(options) {
|
package/package.json
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
"publishConfig": {
|
4
4
|
"access": "public"
|
5
5
|
},
|
6
|
-
"version": "5.1.
|
6
|
+
"version": "5.1.432",
|
7
7
|
"files": [
|
8
8
|
"build"
|
9
9
|
],
|
@@ -60,7 +60,7 @@
|
|
60
60
|
"watch.tsc": "tsc -w"
|
61
61
|
},
|
62
62
|
"dependencies": {
|
63
|
-
"@sprucelabs/error": "^6.0.
|
63
|
+
"@sprucelabs/error": "^6.0.479",
|
64
64
|
"deep-equal": "^2.2.3",
|
65
65
|
"just-clone": "^6.2.0",
|
66
66
|
"lodash": "^4.17.21",
|
@@ -68,15 +68,15 @@
|
|
68
68
|
"variable-diff": "^2.0.2"
|
69
69
|
},
|
70
70
|
"devDependencies": {
|
71
|
-
"@sprucelabs/esm-postbuild": "^6.0.
|
72
|
-
"@sprucelabs/jest-json-reporter": "^8.0.
|
71
|
+
"@sprucelabs/esm-postbuild": "^6.0.461",
|
72
|
+
"@sprucelabs/jest-json-reporter": "^8.0.478",
|
73
73
|
"@sprucelabs/jest-sheets-reporter": "^2.0.20",
|
74
74
|
"@sprucelabs/semantic-release": "^5.0.2",
|
75
|
-
"@sprucelabs/test": "^9.0.
|
75
|
+
"@sprucelabs/test": "^9.0.51",
|
76
76
|
"@types/deep-equal": "^1.0.4",
|
77
77
|
"@types/jest": "^29.5.13",
|
78
78
|
"@types/lodash": "^4.17.10",
|
79
|
-
"@types/node": "^22.7.
|
79
|
+
"@types/node": "^22.7.6",
|
80
80
|
"chokidar-cli": "^3.0.0",
|
81
81
|
"eslint": "^9.12.0",
|
82
82
|
"eslint-config-spruce": "^11.2.26",
|