@analogjs/vitest-angular 2.7.0-beta.9 → 2.7.0
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 +4 -0
- package/package.json +1 -1
- package/setup-testbed.d.ts +3 -1
- package/setup-testbed.js +4 -2
- package/setup-vitest.js +98 -96
- package/setup-zone.js +98 -96
- package/src/lib/tools/src/schematics/utils/versions.d.ts +1 -1
- package/src/lib/tools/src/schematics/utils/versions.js +1 -1
- package/src/lib/tools/src/schematics/utils/versions.js.map +1 -1
package/README.md
CHANGED
|
@@ -128,6 +128,8 @@ The `setupTestBed()` function accepts an optional configuration object with the
|
|
|
128
128
|
- `zoneless` (boolean): Whether to use zoneless change detection (default: `true`)
|
|
129
129
|
- `providers` (`Type<any>[]`): Additional providers to include in the test environment (default: `[]`)
|
|
130
130
|
- `teardown.destroyAfterEach` (boolean): Whether to destroy the test environment after each test. Set to `false` to keep the component rendered, allowing you to inspect its final state. (default: `true`)
|
|
131
|
+
- `errorOnUnknownElements` (boolean): Whether to throw when unknown elements are present in a component's template. Set to `false` (default) to log the error instead of throwing.
|
|
132
|
+
- `errorOnUnknownProperties` (boolean): Whether to throw when unknown properties are present in a component's template. Set to `false` (default) to log the error instead of throwing.
|
|
131
133
|
|
|
132
134
|
**Example with options:**
|
|
133
135
|
|
|
@@ -136,6 +138,8 @@ setupTestBed({
|
|
|
136
138
|
zoneless: true,
|
|
137
139
|
providers: [],
|
|
138
140
|
teardown: { destroyAfterEach: false },
|
|
141
|
+
errorOnUnknownElements: true,
|
|
142
|
+
errorOnUnknownProperties: true,
|
|
139
143
|
});
|
|
140
144
|
```
|
|
141
145
|
|
package/package.json
CHANGED
package/setup-testbed.d.ts
CHANGED
|
@@ -10,6 +10,8 @@ type TestBedSetupOptions = {
|
|
|
10
10
|
teardown?: {
|
|
11
11
|
destroyAfterEach: boolean;
|
|
12
12
|
};
|
|
13
|
+
errorOnUnknownElements?: boolean;
|
|
14
|
+
errorOnUnknownProperties?: boolean;
|
|
13
15
|
};
|
|
14
|
-
export declare function setupTestBed({ zoneless, providers, browserMode, teardown, }?: TestBedSetupOptions): void;
|
|
16
|
+
export declare function setupTestBed({ zoneless, providers, browserMode, teardown, errorOnUnknownElements, errorOnUnknownProperties, }?: TestBedSetupOptions): void;
|
|
15
17
|
export {};
|
package/setup-testbed.js
CHANGED
|
@@ -4,7 +4,7 @@ import { ɵgetCleanupHook as getCleanupHook, getTestBed, } from '@angular/core/t
|
|
|
4
4
|
import { BrowserTestingModule, platformBrowserTesting, } from '@angular/platform-browser/testing';
|
|
5
5
|
import { afterEach, beforeEach } from 'vitest';
|
|
6
6
|
const ANGULAR_TESTBED_SETUP = Symbol.for('testbed-setup');
|
|
7
|
-
export function setupTestBed({ zoneless = true, providers = [], browserMode = false, teardown, } = {}) {
|
|
7
|
+
export function setupTestBed({ zoneless = true, providers = [], browserMode = false, teardown, errorOnUnknownElements, errorOnUnknownProperties, } = {}) {
|
|
8
8
|
beforeEach(getCleanupHook(false));
|
|
9
9
|
afterEach(getCleanupHook(true));
|
|
10
10
|
if (!globalThis[ANGULAR_TESTBED_SETUP]) {
|
|
@@ -24,7 +24,9 @@ export function setupTestBed({ zoneless = true, providers = [], browserMode = fa
|
|
|
24
24
|
...{ destroyAfterEach: !browserMode },
|
|
25
25
|
...teardown,
|
|
26
26
|
},
|
|
27
|
+
errorOnUnknownElements,
|
|
28
|
+
errorOnUnknownProperties,
|
|
27
29
|
});
|
|
28
30
|
}
|
|
29
31
|
}
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dXAtdGVzdGJlZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BhY2thZ2VzL3ZpdGVzdC1hbmd1bGFyL3NldHVwLXRlc3RiZWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFFTCxRQUFRLEVBRVIsOEJBQThCLEdBQy9CLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTCxlQUFlLElBQUksY0FBYyxFQUNqQyxVQUFVLEdBQ1gsTUFBTSx1QkFBdUIsQ0FBQztBQUMvQixPQUFPLEVBQ0wsb0JBQW9CLEVBQ3BCLHNCQUFzQixHQUN2QixNQUFNLG1DQUFtQyxDQUFDO0FBQzNDLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBRS9DLE1BQU0scUJBQXFCLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQztBQWlCMUQsTUFBTSxVQUFVLFlBQVksQ0FBQyxFQUMzQixRQUFRLEdBQUcsSUFBSSxFQUNmLFNBQVMsR0FBRyxFQUFFLEVBQ2QsV0FBVyxHQUFHLEtBQUssRUFDbkIsUUFBUSxFQUNSLHNCQUFzQixFQUN0Qix3QkFBd0IsTUFDRCxFQUFFO0lBQ3pCLFVBQVUsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQyxTQUFTLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFFaEMsSUFBSSxDQUFFLFVBQWtCLENBQUMscUJBQXFCLENBQUMsRUFBRSxDQUFDO1FBQy9DLFVBQWtCLENBQUMscUJBQXFCLENBQUMsR0FBRyxJQUFJLENBQUM7UUFRbEQsSUFBTSxVQUFVLEdBQWhCLE1BQU0sVUFBVTtTQUFHLENBQUE7UUFBYixVQUFVO1lBTmYsUUFBUSxDQUFDO2dCQUNSLFNBQVMsRUFBRTtvQkFDVCxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLDhCQUE4QixFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO29CQUN2RCxHQUFHLFNBQVM7aUJBQ2I7YUFDRixDQUFDO1dBQ0ksVUFBVSxDQUFHO1FBRW5CLFVBQVUsRUFBRSxDQUFDLG1CQUFtQixDQUM5QixDQUFDLG9CQUFvQixFQUFFLFVBQVUsQ0FBQyxFQUNsQyxzQkFBc0IsRUFBRSxFQUN4QjtZQUNFLFFBQVEsRUFBRTtnQkFDUixHQUFHLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQyxXQUFXLEVBQUU7Z0JBQ3JDLEdBQUcsUUFBUTthQUNaO1lBQ0Qsc0JBQXNCO1lBQ3RCLHdCQUF3QjtTQUN6QixDQUNGLENBQUM7SUFDSixDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEVudmlyb25tZW50UHJvdmlkZXJzLFxuICBOZ01vZHVsZSxcbiAgUHJvdmlkZXIsXG4gIHByb3ZpZGVab25lbGVzc0NoYW5nZURldGVjdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICDJtWdldENsZWFudXBIb29rIGFzIGdldENsZWFudXBIb29rLFxuICBnZXRUZXN0QmVkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlL3Rlc3RpbmcnO1xuaW1wb3J0IHtcbiAgQnJvd3NlclRlc3RpbmdNb2R1bGUsXG4gIHBsYXRmb3JtQnJvd3NlclRlc3RpbmcsXG59IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXIvdGVzdGluZyc7XG5pbXBvcnQgeyBhZnRlckVhY2gsIGJlZm9yZUVhY2ggfSBmcm9tICd2aXRlc3QnO1xuXG5jb25zdCBBTkdVTEFSX1RFU1RCRURfU0VUVVAgPSBTeW1ib2wuZm9yKCd0ZXN0YmVkLXNldHVwJyk7XG5cbnR5cGUgVGVzdEJlZFNldHVwT3B0aW9ucyA9IHtcbiAgem9uZWxlc3M/OiBib29sZWFuO1xuICBwcm92aWRlcnM/OiAoUHJvdmlkZXIgfCBFbnZpcm9ubWVudFByb3ZpZGVycylbXTtcbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIFVzZSBgdGVhcmRvd24uZGVzdHJveUFmdGVyRWFjaGAgaW5zdGVhZC5cbiAgICogQHN1bnNldCAzLjAuMFxuICAgKi9cbiAgYnJvd3Nlck1vZGU/OiBib29sZWFuO1xuICB0ZWFyZG93bj86IHtcbiAgICBkZXN0cm95QWZ0ZXJFYWNoOiBib29sZWFuO1xuICB9O1xuICBlcnJvck9uVW5rbm93bkVsZW1lbnRzPzogYm9vbGVhbjtcbiAgZXJyb3JPblVua25vd25Qcm9wZXJ0aWVzPzogYm9vbGVhbjtcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXR1cFRlc3RCZWQoe1xuICB6b25lbGVzcyA9IHRydWUsXG4gIHByb3ZpZGVycyA9IFtdLFxuICBicm93c2VyTW9kZSA9IGZhbHNlLFxuICB0ZWFyZG93bixcbiAgZXJyb3JPblVua25vd25FbGVtZW50cyxcbiAgZXJyb3JPblVua25vd25Qcm9wZXJ0aWVzLFxufTogVGVzdEJlZFNldHVwT3B0aW9ucyA9IHt9KSB7XG4gIGJlZm9yZUVhY2goZ2V0Q2xlYW51cEhvb2soZmFsc2UpKTtcbiAgYWZ0ZXJFYWNoKGdldENsZWFudXBIb29rKHRydWUpKTtcblxuICBpZiAoIShnbG9iYWxUaGlzIGFzIGFueSlbQU5HVUxBUl9URVNUQkVEX1NFVFVQXSkge1xuICAgIChnbG9iYWxUaGlzIGFzIGFueSlbQU5HVUxBUl9URVNUQkVEX1NFVFVQXSA9IHRydWU7XG5cbiAgICBATmdNb2R1bGUoe1xuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIC4uLih6b25lbGVzcyA/IFtwcm92aWRlWm9uZWxlc3NDaGFuZ2VEZXRlY3Rpb24oKV0gOiBbXSksXG4gICAgICAgIC4uLnByb3ZpZGVycyxcbiAgICAgIF0sXG4gICAgfSlcbiAgICBjbGFzcyBUZXN0TW9kdWxlIHt9XG5cbiAgICBnZXRUZXN0QmVkKCkuaW5pdFRlc3RFbnZpcm9ubWVudChcbiAgICAgIFtCcm93c2VyVGVzdGluZ01vZHVsZSwgVGVzdE1vZHVsZV0sXG4gICAgICBwbGF0Zm9ybUJyb3dzZXJUZXN0aW5nKCksXG4gICAgICB7XG4gICAgICAgIHRlYXJkb3duOiB7XG4gICAgICAgICAgLi4ueyBkZXN0cm95QWZ0ZXJFYWNoOiAhYnJvd3Nlck1vZGUgfSxcbiAgICAgICAgICAuLi50ZWFyZG93bixcbiAgICAgICAgfSxcbiAgICAgICAgZXJyb3JPblVua25vd25FbGVtZW50cyxcbiAgICAgICAgZXJyb3JPblVua25vd25Qcm9wZXJ0aWVzLFxuICAgICAgfSxcbiAgICApO1xuICB9XG59XG4iXX0=
|
package/setup-vitest.js
CHANGED
|
@@ -11,106 +11,108 @@ const Zone = globalThis['Zone'];
|
|
|
11
11
|
if (Zone === undefined) {
|
|
12
12
|
throw new Error('Missing: Zone (zone.js)');
|
|
13
13
|
}
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
globalThis['__vitest_zone_patch__']
|
|
18
|
-
|
|
19
|
-
const
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
if (ProxyZoneSpec === undefined) {
|
|
24
|
-
throw new Error('Missing: ProxyZoneSpec (zone.js/plugins/proxy.js)');
|
|
25
|
-
}
|
|
26
|
-
const env = globalThis;
|
|
27
|
-
const ambientZone = Zone.current;
|
|
28
|
-
// Create a synchronous-only zone in which to run `describe` blocks in order to
|
|
29
|
-
// raise an error if any asynchronous operations are attempted
|
|
30
|
-
// inside of a `describe` but outside of a `beforeEach` or `it`.
|
|
31
|
-
const syncZone = ambientZone.fork(new SyncTestZoneSpec('vitest.describe'));
|
|
32
|
-
function wrapDescribeInZone(describeBody) {
|
|
33
|
-
return function (...args) {
|
|
34
|
-
return syncZone.run(describeBody, null, args);
|
|
35
|
-
};
|
|
36
|
-
}
|
|
37
|
-
// Create a proxy zone in which to run `test` blocks so that the tests function
|
|
38
|
-
// can retroactively install different zones.
|
|
39
|
-
const testProxyZone = ambientZone.fork(new ProxyZoneSpec());
|
|
40
|
-
function wrapTestInZone(testBody) {
|
|
41
|
-
if (testBody === undefined) {
|
|
42
|
-
return;
|
|
14
|
+
// Setup files are re-executed for every test file in a reused worker
|
|
15
|
+
// (e.g. isolate: false, or bundled setup entries). The patched functions
|
|
16
|
+
// live on the same globalThis as this flag, so skip instead of re-patching.
|
|
17
|
+
if (globalThis['__vitest_zone_patch__'] !== true) {
|
|
18
|
+
globalThis['__vitest_zone_patch__'] = true;
|
|
19
|
+
const SyncTestZoneSpec = Zone['SyncTestZoneSpec'];
|
|
20
|
+
const ProxyZoneSpec = Zone['ProxyZoneSpec'];
|
|
21
|
+
if (SyncTestZoneSpec === undefined) {
|
|
22
|
+
throw new Error('Missing: SyncTestZoneSpec (zone.js/plugins/sync-test)');
|
|
43
23
|
}
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
};
|
|
47
|
-
try {
|
|
48
|
-
Object.defineProperty(wrappedFunc, 'length', {
|
|
49
|
-
configurable: true,
|
|
50
|
-
writable: true,
|
|
51
|
-
enumerable: false,
|
|
52
|
-
});
|
|
53
|
-
wrappedFunc.length = testBody.length;
|
|
24
|
+
if (ProxyZoneSpec === undefined) {
|
|
25
|
+
throw new Error('Missing: ProxyZoneSpec (zone.js/plugins/proxy.js)');
|
|
54
26
|
}
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
const bindDescribe = (self, originalVitestFn) => function (...eachArgs) {
|
|
66
|
-
return function (...args) {
|
|
67
|
-
args[1] = wrapDescribeInZone(args[1]);
|
|
68
|
-
// @ts-ignore
|
|
69
|
-
return originalVitestFn.apply(self, eachArgs).apply(self, args);
|
|
70
|
-
};
|
|
71
|
-
};
|
|
72
|
-
/**
|
|
73
|
-
* bind test method to wrap test.each function
|
|
74
|
-
*/
|
|
75
|
-
const bindTest = (self, originalVitestFn) => function (...eachArgs) {
|
|
76
|
-
return function (...args) {
|
|
77
|
-
args[1] = wrapTestInZone(args[1]);
|
|
78
|
-
// @ts-ignore
|
|
79
|
-
return originalVitestFn.apply(self, eachArgs).apply(self, args);
|
|
27
|
+
const env = globalThis;
|
|
28
|
+
const ambientZone = Zone.current;
|
|
29
|
+
// Create a synchronous-only zone in which to run `describe` blocks in order to
|
|
30
|
+
// raise an error if any asynchronous operations are attempted
|
|
31
|
+
// inside of a `describe` but outside of a `beforeEach` or `it`.
|
|
32
|
+
const syncZone = ambientZone.fork(new SyncTestZoneSpec('vitest.describe'));
|
|
33
|
+
const wrapDescribeInZone = function (describeBody) {
|
|
34
|
+
return function (...args) {
|
|
35
|
+
return syncZone.run(describeBody, null, args);
|
|
36
|
+
};
|
|
80
37
|
};
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
const
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
38
|
+
// Create a proxy zone in which to run `test` blocks so that the tests function
|
|
39
|
+
// can retroactively install different zones.
|
|
40
|
+
const testProxyZone = ambientZone.fork(new ProxyZoneSpec());
|
|
41
|
+
const wrapTestInZone = function (testBody) {
|
|
42
|
+
if (testBody === undefined) {
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
const wrappedFunc = function () {
|
|
46
|
+
return testProxyZone.run(testBody, null, arguments);
|
|
47
|
+
};
|
|
48
|
+
try {
|
|
49
|
+
Object.defineProperty(wrappedFunc, 'length', {
|
|
50
|
+
configurable: true,
|
|
51
|
+
writable: true,
|
|
52
|
+
enumerable: false,
|
|
53
|
+
});
|
|
54
|
+
wrappedFunc.length = testBody.length;
|
|
55
|
+
}
|
|
56
|
+
catch (e) {
|
|
57
|
+
return testBody.length === 0
|
|
58
|
+
? () => testProxyZone.run(testBody, null)
|
|
59
|
+
: (done) => testProxyZone.run(testBody, null, [done]);
|
|
60
|
+
}
|
|
61
|
+
return wrappedFunc;
|
|
87
62
|
};
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
args[1] = wrapTestInZone(args[1]);
|
|
98
|
-
return originalvitestFn.apply(this, args);
|
|
63
|
+
/**
|
|
64
|
+
* bind describe method to wrap describe.each function
|
|
65
|
+
*/
|
|
66
|
+
const bindDescribe = (self, originalVitestFn) => function (...eachArgs) {
|
|
67
|
+
return function (...args) {
|
|
68
|
+
args[1] = wrapDescribeInZone(args[1]);
|
|
69
|
+
// @ts-ignore
|
|
70
|
+
return originalVitestFn.apply(self, eachArgs).apply(self, args);
|
|
71
|
+
};
|
|
99
72
|
};
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
73
|
+
/**
|
|
74
|
+
* bind test method to wrap test.each function
|
|
75
|
+
*/
|
|
76
|
+
const bindTest = (self, originalVitestFn) => function (...eachArgs) {
|
|
77
|
+
return function (...args) {
|
|
78
|
+
args[1] = wrapTestInZone(args[1]);
|
|
79
|
+
// @ts-ignore
|
|
80
|
+
return originalVitestFn.apply(self, eachArgs).apply(self, args);
|
|
106
81
|
};
|
|
107
|
-
}
|
|
108
|
-
});
|
|
109
|
-
['beforeEach', 'afterEach', 'beforeAll', 'afterAll'].forEach((methodName) => {
|
|
110
|
-
const originalvitestFn = env[methodName];
|
|
111
|
-
env[methodName] = function (...args) {
|
|
112
|
-
args[0] = wrapTestInZone(args[0]);
|
|
113
|
-
return originalvitestFn.apply(this, args);
|
|
114
82
|
};
|
|
115
|
-
|
|
116
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dXAtdml0ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGFja2FnZXMvdml0ZXN0LWFuZ3VsYXIvc2V0dXAtdml0ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sU0FBUyxDQUFDO0FBQ2pCLE9BQU8sMkJBQTJCLENBQUM7QUFDbkMsT0FBTyx1QkFBdUIsQ0FBQztBQUMvQixPQUFPLGlCQUFpQixDQUFDO0FBRXpCOzs7R0FHRztBQUNILGlCQUFpQjtBQUNqQixNQUFNLElBQUksR0FBSSxVQUFrQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBRXpDLElBQUksSUFBSSxLQUFLLFNBQVMsRUFBRSxDQUFDO0lBQ3ZCLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQztBQUM3QyxDQUFDO0FBRUQsSUFBSyxVQUFrQixDQUFDLHVCQUF1QixDQUFDLEtBQUssSUFBSSxFQUFFLENBQUM7SUFDMUQsTUFBTSxJQUFJLEtBQUssQ0FBQyxnREFBZ0QsQ0FBQyxDQUFDO0FBQ3BFLENBQUM7QUFFQSxVQUFrQixDQUFDLHVCQUF1QixDQUFDLEdBQUcsSUFBSSxDQUFDO0FBQ3BELE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUM7QUFDbEQsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0FBRTVDLElBQUksZ0JBQWdCLEtBQUssU0FBUyxFQUFFLENBQUM7SUFDbkMsTUFBTSxJQUFJLEtBQUssQ0FBQyx1REFBdUQsQ0FBQyxDQUFDO0FBQzNFLENBQUM7QUFDRCxJQUFJLGFBQWEsS0FBSyxTQUFTLEVBQUUsQ0FBQztJQUNoQyxNQUFNLElBQUksS0FBSyxDQUFDLG1EQUFtRCxDQUFDLENBQUM7QUFDdkUsQ0FBQztBQUVELE1BQU0sR0FBRyxHQUFHLFVBQWlCLENBQUM7QUFDOUIsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztBQUVqQywrRUFB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R0FBRyxRQUFRLENBQUMsZ0JBQWdCLEVBQUUsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDekUsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUksR0FBRyxRQUFRLENBQUMsZ0JBQWdCLEVBQUUsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFekUsSUFBSSxVQUFVLEtBQUssTUFBTSxJQUFJLFVBQVUsS0FBSyxJQUFJLEVBQUUsQ0FBQztRQUNqRCxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBSSxHQUFHLFVBQVUsR0FBRyxJQUFTO1lBQzNDLE9BQU8sZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDakQsQ0FBQyxDQUFDO0lBQ0osQ0FBQztBQUNILENBQUMsQ0FBQyxDQUFDO0FBRUgsQ0FBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxVQUFVLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRTtJQUMxRSxNQUFNLGdCQUFnQixHQUFHLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUV6QyxHQUFHLENBQUMsVUFBVSxDQUFDLEdBQUcsVUFBVSxHQUFHLElBQVc7UUFDeEMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUVsQyxPQUFPLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDNUMsQ0FBQyxDQUFDO0FBQ0osQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgJ3pvbmUuanMnO1xuaW1wb3J0ICd6b25lLmpzL3BsdWdpbnMvc3luYy10ZXN0JztcbmltcG9ydCAnem9uZS5qcy9wbHVnaW5zL3Byb3h5JztcbmltcG9ydCAnem9uZS5qcy90ZXN0aW5nJztcblxuLyoqXG4gKiBQYXRjaCBWaXRlc3QncyBkZXNjcmliZS90ZXN0L2JlZm9yZUVhY2gvYWZ0ZXJFYWNoIGZ1bmN0aW9ucyBzbyB0ZXN0IGNvZGVcbiAqIGFsd2F5cyBydW5zIGluIGEgdGVzdFpvbmUgKFByb3h5Wm9uZSkuXG4gKi9cbi8qIGdsb2JhbCBab25lICovXG5jb25zdCBab25lID0gKGdsb2JhbFRoaXMgYXMgYW55KVsnWm9uZSddO1xuXG5pZiAoWm9uZSA9PT0gdW5kZWZpbmVkKSB7XG4gIHRocm93IG5ldyBFcnJvcignTWlzc2luZzogWm9uZSAoem9uZS5qcyknKTtcbn1cblxuaWYgKChnbG9iYWxUaGlzIGFzIGFueSlbJ19fdml0ZXN0X3pvbmVfcGF0Y2hfXyddID09PSB0cnVlKSB7XG4gIHRocm93IG5ldyBFcnJvcihcIid2aXRlc3QnIGhhcyBhbHJlYWR5IGJlZW4gcGF0Y2hlZCB3aXRoICdab25lJy5cIik7XG59XG5cbihnbG9iYWxUaGlzIGFzIGFueSlbJ19fdml0ZXN0X3pvbmVfcGF0Y2hfXyddID0gdHJ1ZTtcbmNvbnN0IFN5bmNUZXN0Wm9uZVNwZWMgPSBab25lWydTeW5jVGVzdFpvbmVTcGVjJ107XG5jb25zdCBQcm94eVpvbmVTcGVjID0gWm9uZVsnUHJveHlab25lU3BlYyddO1xuXG5pZiAoU3luY1Rlc3Rab25lU3BlYyA9PT0gdW5kZWZpbmVkKSB7XG4gIHRocm93IG5ldyBFcnJvcignTWlzc2luZzogU3luY1Rlc3Rab25lU3BlYyAoem9uZS5qcy9wbHVnaW5zL3N5bmMtdGVzdCknKTtcbn1cbmlmIChQcm94eVpvbmVTcGVjID09PSB1bmRlZmluZWQpIHtcbiAgdGhyb3cgbmV3IEVycm9yKCdNaXNzaW5nOiBQcm94eVpvbmVTcGVjICh6b25lLmpzL3BsdWdpbnMvcHJveHkuanMpJyk7XG59XG5cbmNvbnN0IGVudiA9IGdsb2JhbFRoaXMgYXMgYW55O1xuY29uc3QgYW1iaWVudFpvbmUgPSBab25lLmN1cnJlbnQ7XG5cbi8vIENyZWF0ZSBhIHN5bmNocm9ub3VzLW9ubHkgem9uZSBpbiB3aGljaCB0byBydW4gYGRlc2NyaWJlYCBibG9ja3MgaW4gb3JkZXIgdG9cbi8vIHJhaXNlIGFuIGVycm9yIGlmIGFueSBhc3luY2hyb25vdXMgb3BlcmF0aW9ucyBhcmUgYXR0ZW1wdGVkXG4vLyBpbnNpZGUgb2YgYSBgZGVzY3JpYmVgIGJ1dCBvdXRzaWRlIG9mIGEgYGJlZm9yZUVhY2hgIG9yIGBpdGAuXG5jb25zdCBzeW5jWm9uZSA9IGFtYmllbnRab25lLmZvcmsobmV3IFN5bmNUZXN0Wm9uZVNwZWMoJ3ZpdGVzdC5kZXNjcmliZScpKTtcbmZ1bmN0aW9uIHdyYXBEZXNjcmliZUluWm9uZShkZXNjcmliZUJvZHk6IGFueSkge1xuICByZXR1cm4gZnVuY3Rpb24gKC4uLmFyZ3M6IGFueSkge1xuICAgIHJldHVybiBzeW5jWm9uZS5ydW4oZGVzY3JpYmVCb2R5LCBudWxsLCBhcmdzKTtcbiAgfTtcbn1cblxuLy8gQ3JlYXRlIGEgcHJveHkgem9uZSBpbiB3aGljaCB0byBydW4gYHRlc3RgIGJsb2NrcyBzbyB0aGF0IHRoZSB0ZXN0cyBmdW5jdGlvblxuLy8gY2FuIHJldHJvYWN0aXZlbHkgaW5zdGFsbCBkaWZmZXJlbnQgem9uZXMuXG5jb25zdCB0ZXN0UHJveHlab25lID0gYW1iaWVudFpvbmUuZm9yayhuZXcgUHJveHlab25lU3BlYygpKTtcbmZ1bmN0aW9uIHdyYXBUZXN0SW5ab25lKHRlc3RCb2R5OiBzdHJpbmcgfCBhbnlbXSB8IHVuZGVmaW5lZCkge1xuICBpZiAodGVzdEJvZHkgPT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGNvbnN0IHdyYXBwZWRGdW5jID0gZnVuY3Rpb24gKCkge1xuICAgIHJldHVybiB0ZXN0UHJveHlab25lLnJ1bih0ZXN0Qm9keSwgbnVsbCwgYXJndW1lbnRzKTtcbiAgfTtcbiAgdHJ5IHtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkod3JhcHBlZEZ1bmMsICdsZW5ndGgnLCB7XG4gICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgIGVudW1lcmFibGU6IGZhbHNlLFxuICAgIH0pO1xuICAgIHdyYXBwZWRGdW5jLmxlbmd0aCA9IHRlc3RCb2R5Lmxlbmd0aDtcbiAgfSBjYXRjaCAoZSkge1xuICAgIHJldHVybiB0ZXN0Qm9keS5sZW5ndGggPT09IDBcbiAgICAgID8gKCkgPT4gdGVzdFByb3h5Wm9uZS5ydW4odGVzdEJvZHksIG51bGwpXG4gICAgICA6IChkb25lOiBhbnkpID0+IHRlc3RQcm94eVpvbmUucnVuKHRlc3RCb2R5LCBudWxsLCBbZG9uZV0pO1xuICB9XG5cbiAgcmV0dXJuIHdyYXBwZWRGdW5jO1xufVxuXG4vKipcbiAqIGJpbmQgZGVzY3JpYmUgbWV0aG9kIHRvIHdyYXAgZGVzY3JpYmUuZWFjaCBmdW5jdGlvblxuICovXG5jb25zdCBiaW5kRGVzY3JpYmUgPSAoXG4gIHNlbGY6IGFueSxcbiAgb3JpZ2luYWxWaXRlc3RGbjoge1xuICAgIGFwcGx5OiAoXG4gICAgICBhcmcwOiBhbnksXG4gICAgICBhcmcxOiBhbnlbXSxcbiAgICApID0+IHtcbiAgICAgICgpOiBhbnk7XG4gICAgICBuZXcgKCk6IGFueTtcbiAgICAgIGFwcGx5OiB7IChhcmcwOiBhbnksIGFyZzE6IGFueVtdKTogYW55OyBuZXcgKCk6IGFueSB9O1xuICAgIH07XG4gIH0sXG4pID0+XG4gIGZ1bmN0aW9uICguLi5lYWNoQXJnczogYW55KSB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uICguLi5hcmdzOiBhbnlbXSkge1xuICAgICAgYXJnc1sxXSA9IHdyYXBEZXNjcmliZUluWm9uZShhcmdzWzFdKTtcblxuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgcmV0dXJuIG9yaWdpbmFsVml0ZXN0Rm4uYXBwbHkoc2VsZiwgZWFjaEFyZ3MpLmFwcGx5KHNlbGYsIGFyZ3MpO1xuICAgIH07XG4gIH07XG5cbi8qKlxuICogYmluZCB0ZXN0IG1ldGhvZCB0byB3cmFwIHRlc3QuZWFjaCBmdW5jdGlvblxuICovXG5jb25zdCBiaW5kVGVzdCA9IChcbiAgc2VsZjogYW55LFxuICBvcmlnaW5hbFZpdGVzdEZuOiB7XG4gICAgYXBwbHk6IChcbiAgICAgIGFyZzA6IGFueSxcbiAgICAgIGFyZzE6IGFueVtdLFxuICAgICkgPT4ge1xuICAgICAgKCk6IGFueTtcbiAgICAgIG5ldyAoKTogYW55O1xuICAgICAgYXBwbHk6IHsgKGFyZzA6IGFueSwgYXJnMTogYW55W10pOiBhbnk7IG5ldyAoKTogYW55IH07XG4gICAgfTtcbiAgfSxcbikgPT5cbiAgZnVuY3Rpb24gKC4uLmVhY2hBcmdzOiBhbnkpIHtcbiAgICByZXR1cm4gZnVuY3Rpb24gKC4uLmFyZ3M6IGFueVtdKSB7XG4gICAgICBhcmdzWzFdID0gd3JhcFRlc3RJblpvbmUoYXJnc1sxXSk7XG5cbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIHJldHVybiBvcmlnaW5hbFZpdGVzdEZuLmFwcGx5KHNlbGYsIGVhY2hBcmdzKS5hcHBseShzZWxmLCBhcmdzKTtcbiAgICB9O1xuICB9O1xuXG5bJ2Rlc2NyaWJlJ10uZm9yRWFjaCgobWV0aG9kTmFtZSkgPT4ge1xuICBjb25zdCBvcmlnaW5hbHZpdGVzdEZuID0gZW52W21ldGhvZE5hbWVdO1xuICBlbnZbbWV0aG9kTmFtZV0gPSBmdW5jdGlvbiAoLi4uYXJnczogYW55W10pIHtcbiAgICBhcmdzWzFdID0gd3JhcERlc2NyaWJlSW5ab25lKGFyZ3NbMV0pO1xuXG4gICAgcmV0dXJuIG9yaWdpbmFsdml0ZXN0Rm4uYXBwbHkodGhpcywgYXJncyk7XG4gIH07XG4gIGVudlttZXRob2ROYW1lXS5lYWNoID0gYmluZERlc2NyaWJlKG9yaWdpbmFsdml0ZXN0Rm4sIG9yaWdpbmFsdml0ZXN0Rm4uZWFjaCk7XG4gIGlmIChtZXRob2ROYW1lID09PSAnZGVzY3JpYmUnKSB7XG4gICAgZW52W21ldGhvZE5hbWVdLm9ubHkgPSBiaW5kRGVzY3JpYmUoXG4gICAgICBvcmlnaW5hbHZpdGVzdEZuLFxuICAgICAgb3JpZ2luYWx2aXRlc3RGbi5vbmx5LFxuICAgICk7XG4gICAgZW52W21ldGhvZE5hbWVdLnNraXAgPSBiaW5kRGVzY3JpYmUoXG4gICAgICBvcmlnaW5hbHZpdGVzdEZuLFxuICAgICAgb3JpZ2luYWx2aXRlc3RGbi5za2lwLFxuICAgICk7XG4gIH1cbn0pO1xuXG5bJ3Rlc3QnLCAnaXQnXS5mb3JFYWNoKChtZXRob2ROYW1lKSA9PiB7XG4gIGNvbnN0IG9yaWdpbmFsdml0ZXN0Rm4gPSBlbnZbbWV0aG9kTmFtZV07XG4gIGVudlttZXRob2ROYW1lXSA9IGZ1bmN0aW9uICguLi5hcmdzOiBhbnlbXSkge1xuICAgIGFyZ3NbMV0gPSB3cmFwVGVzdEluWm9uZShhcmdzWzFdKTtcblxuICAgIHJldHVybiBvcmlnaW5hbHZpdGVzdEZuLmFwcGx5KHRoaXMsIGFyZ3MpO1xuICB9O1xuICBlbnZbbWV0aG9kTmFtZV0uZWFjaCA9IGJpbmRUZXN0KG9yaWdpbmFsdml0ZXN0Rm4sIG9yaWdpbmFsdml0ZXN0Rm4uZWFjaCk7XG4gIGVudlttZXRob2ROYW1lXS5vbmx5ID0gYmluZFRlc3Qob3JpZ2luYWx2aXRlc3RGbiwgb3JpZ2luYWx2aXRlc3RGbi5vbmx5KTtcbiAgZW52W21ldGhvZE5hbWVdLnNraXAgPSBiaW5kVGVzdChvcmlnaW5hbHZpdGVzdEZuLCBvcmlnaW5hbHZpdGVzdEZuLnNraXApO1xuXG4gIGlmIChtZXRob2ROYW1lID09PSAndGVzdCcgfHwgbWV0aG9kTmFtZSA9PT0gJ2l0Jykge1xuICAgIGVudlttZXRob2ROYW1lXS50b2RvID0gZnVuY3Rpb24gKC4uLmFyZ3M6IGFueSkge1xuICAgICAgcmV0dXJuIG9yaWdpbmFsdml0ZXN0Rm4udG9kby5hcHBseSh0aGlzLCBhcmdzKTtcbiAgICB9O1xuICB9XG59KTtcblxuWydiZWZvcmVFYWNoJywgJ2FmdGVyRWFjaCcsICdiZWZvcmVBbGwnLCAnYWZ0ZXJBbGwnXS5mb3JFYWNoKChtZXRob2ROYW1lKSA9PiB7XG4gIGNvbnN0IG9yaWdpbmFsdml0ZXN0Rm4gPSBlbnZbbWV0aG9kTmFtZV07XG5cbiAgZW52W21ldGhvZE5hbWVdID0gZnVuY3Rpb24gKC4uLmFyZ3M6IGFueVtdKSB7XG4gICAgYXJnc1swXSA9IHdyYXBUZXN0SW5ab25lKGFyZ3NbMF0pO1xuXG4gICAgcmV0dXJuIG9yaWdpbmFsdml0ZXN0Rm4uYXBwbHkodGhpcywgYXJncyk7XG4gIH07XG59KTtcbiJdfQ==
|
|
83
|
+
['describe'].forEach((methodName) => {
|
|
84
|
+
const originalvitestFn = env[methodName];
|
|
85
|
+
env[methodName] = function (...args) {
|
|
86
|
+
args[1] = wrapDescribeInZone(args[1]);
|
|
87
|
+
return originalvitestFn.apply(this, args);
|
|
88
|
+
};
|
|
89
|
+
env[methodName].each = bindDescribe(originalvitestFn, originalvitestFn.each);
|
|
90
|
+
if (methodName === 'describe') {
|
|
91
|
+
env[methodName].only = bindDescribe(originalvitestFn, originalvitestFn.only);
|
|
92
|
+
env[methodName].skip = bindDescribe(originalvitestFn, originalvitestFn.skip);
|
|
93
|
+
}
|
|
94
|
+
});
|
|
95
|
+
['test', 'it'].forEach((methodName) => {
|
|
96
|
+
const originalvitestFn = env[methodName];
|
|
97
|
+
env[methodName] = function (...args) {
|
|
98
|
+
args[1] = wrapTestInZone(args[1]);
|
|
99
|
+
return originalvitestFn.apply(this, args);
|
|
100
|
+
};
|
|
101
|
+
env[methodName].each = bindTest(originalvitestFn, originalvitestFn.each);
|
|
102
|
+
env[methodName].only = bindTest(originalvitestFn, originalvitestFn.only);
|
|
103
|
+
env[methodName].skip = bindTest(originalvitestFn, originalvitestFn.skip);
|
|
104
|
+
if (methodName === 'test' || methodName === 'it') {
|
|
105
|
+
env[methodName].todo = function (...args) {
|
|
106
|
+
return originalvitestFn.todo.apply(this, args);
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
});
|
|
110
|
+
['beforeEach', 'afterEach', 'beforeAll', 'afterAll'].forEach((methodName) => {
|
|
111
|
+
const originalvitestFn = env[methodName];
|
|
112
|
+
env[methodName] = function (...args) {
|
|
113
|
+
args[0] = wrapTestInZone(args[0]);
|
|
114
|
+
return originalvitestFn.apply(this, args);
|
|
115
|
+
};
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dXAtdml0ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGFja2FnZXMvdml0ZXN0LWFuZ3VsYXIvc2V0dXAtdml0ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sU0FBUyxDQUFDO0FBQ2pCLE9BQU8sMkJBQTJCLENBQUM7QUFDbkMsT0FBTyx1QkFBdUIsQ0FBQztBQUMvQixPQUFPLGlCQUFpQixDQUFDO0FBRXpCOzs7R0FHRztBQUNILGlCQUFpQjtBQUNqQixNQUFNLElBQUksR0FBSSxVQUFrQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBRXpDLElBQUksSUFBSSxLQUFLLFNBQVMsRUFBRSxDQUFDO0lBQ3ZCLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQztBQUM3QyxDQUFDO0FBRUQscUVBQXFFO0FBQ3JFLHlFQUF5RTtBQUN6RSw0RUFBNEU7QUFDNUUsSUFBSyxVQUFrQixDQUFDLHVCQUF1QixDQUFDLEtBQUssSUFBSSxFQUFFLENBQUM7SUFDekQsVUFBa0IsQ0FBQyx1QkFBdUIsQ0FBQyxHQUFHLElBQUksQ0FBQztJQUNwRCxNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQ2xELE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUU1QyxJQUFJLGdCQUFnQixLQUFLLFNBQVMsRUFBRSxDQUFDO1FBQ25DLE1BQU0sSUFBSSxLQUFLLENBQUMsdURBQXVELENBQUMsQ0FBQztJQUMzRSxDQUFDO0lBQ0QsSUFBSSxhQUFhLEtBQUssU0FBUyxFQUFFLENBQUM7UUFDaEMsTUFBTSxJQUFJLEtBQUssQ0FBQyxtREFBbUQsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFFRCxNQUFNLEdBQUcsR0FBRyxVQUFpQixDQUFDO0lBQzlCLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7SUFFakMsK0VBQStFO0lBQy9FLDhEQUE4RDtJQUM5RCxnRUFBZ0U7SUFDaEUsTUFBTSxRQUFRLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLGdCQUFnQixDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQztJQUMzRSxNQUFNLGtCQUFrQixHQUFHLFVBQVUsWUFBaUI7UUFDcEQsT0FBTyxVQUFVLEdBQUcsSUFBUztZQUMzQixPQUFPLFFBQVEsQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNoRCxDQUFDLENBQUM7SUFDSixDQUFDLENBQUM7SUFFRiwrRUFBK0U7SUFDL0UsNkNBQTZDO0lBQzdDLE1BQU0sYUFBYSxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxhQUFhLEVBQUUsQ0FBQyxDQUFDO0lBQzVELE1BQU0sY0FBYyxHQUFHLFVBQVUsUUFBb0M7UUFDbkUsSUFBSSxRQUFRLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDM0IsT0FBTztRQUNULENBQUM7UUFFRCxNQUFNLFdBQVcsR0FBRztZQUNsQixPQUFPLGFBQWEsQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQztRQUN0RCxDQUFDLENBQUM7UUFDRixJQUFJLENBQUM7WUFDSCxNQUFNLENBQUMsY0FBYyxDQUFDLFdBQVcsRUFBRSxRQUFRLEVBQUU7Z0JBQzNDLFlBQVksRUFBRSxJQUFJO2dCQUNsQixRQUFRLEVBQUUsSUFBSTtnQkFDZCxVQUFVLEVBQUUsS0FBSzthQUNsQixDQUFDLENBQUM7WUFDSCxXQUFXLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUM7UUFDdkMsQ0FBQztRQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDWCxPQUFPLFFBQVEsQ0FBQyxNQUFNLEtBQUssQ0FBQztnQkFDMUIsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQztnQkFDekMsQ0FBQyxDQUFDLENBQUMsSUFBUyxFQUFFLEVBQUUsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQy9ELENBQUM7UUFFRCxPQUFPLFdBQVcsQ0FBQztJQUNyQixDQUFDLENBQUM7SUFFRjs7T0FFRztJQUNILE1BQU0sWUFBWSxHQUFHLENBQ25CLElBQVMsRUFDVCxnQkFTQyxFQUNELEVBQUUsQ0FDRixVQUFVLEdBQUcsUUFBYTtRQUN4QixPQUFPLFVBQVUsR0FBRyxJQUFXO1lBQzdCLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUV0QyxhQUFhO1lBQ2IsT0FBTyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDbEUsQ0FBQyxDQUFDO0lBQ0osQ0FBQyxDQUFDO0lBRUo7O09BRUc7SUFDSCxNQUFNLFFBQVEsR0FBRyxDQUNmLElBQVMsRUFDVCxnQkFTQyxFQUNELEVBQUUsQ0FDRixVQUFVLEdBQUcsUUFBYTtRQUN4QixPQUFPLFVBQVUsR0FBRyxJQUFXO1lBQzdCLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFFbEMsYUFBYTtZQUNiLE9BQU8sZ0JBQWdCLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ2xFLENBQUMsQ0FBQztJQUNKLENBQUMsQ0FBQztJQUVKLENBQUMsVUFBVSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUU7UUFDbEMsTUFBTSxnQkFBZ0IsR0FBRyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDekMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxHQUFHLFVBQVUsR0FBRyxJQUFXO1lBQ3hDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUV0QyxPQUFPLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDNUMsQ0FBQyxDQUFDO1FBQ0YsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUksR0FBRyxZQUFZLENBQ2pDLGdCQUFnQixFQUNoQixnQkFBZ0IsQ0FBQyxJQUFJLENBQ3RCLENBQUM7UUFDRixJQUFJLFVBQVUsS0FBSyxVQUFVLEVBQUUsQ0FBQztZQUM5QixHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBSSxHQUFHLFlBQVksQ0FDakMsZ0JBQWdCLEVBQ2hCLGdCQUFnQixDQUFDLElBQUksQ0FDdEIsQ0FBQztZQUNGLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxJQUFJLEdBQUcsWUFBWSxDQUNqQyxnQkFBZ0IsRUFDaEIsZ0JBQWdCLENBQUMsSUFBSSxDQUN0QixDQUFDO1FBQ0osQ0FBQztJQUNILENBQUMsQ0FBQyxDQUFDO0lBRUgsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUU7UUFDcEMsTUFBTSxnQkFBZ0IsR0FBRyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDekMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxHQUFHLFVBQVUsR0FBRyxJQUFXO1lBQ3hDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFFbEMsT0FBTyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzVDLENBQUMsQ0FBQztRQUNGLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxJQUFJLEdBQUcsUUFBUSxDQUFDLGdCQUFnQixFQUFFLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pFLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxJQUFJLEdBQUcsUUFBUSxDQUFDLGdCQUFnQixFQUFFLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pFLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxJQUFJLEdBQUcsUUFBUSxDQUFDLGdCQUFnQixFQUFFLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXpFLElBQUksVUFBVSxLQUFLLE1BQU0sSUFBSSxVQUFVLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDakQsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUksR0FBRyxVQUFVLEdBQUcsSUFBUztnQkFDM0MsT0FBTyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztZQUNqRCxDQUFDLENBQUM7UUFDSixDQUFDO0lBQ0gsQ0FBQyxDQUFDLENBQUM7SUFFSCxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLFVBQVUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFO1FBQzFFLE1BQU0sZ0JBQWdCLEdBQUcsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRXpDLEdBQUcsQ0FBQyxVQUFVLENBQUMsR0FBRyxVQUFVLEdBQUcsSUFBVztZQUN4QyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBRWxDLE9BQU8sZ0JBQWdCLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUM1QyxDQUFDLENBQUM7SUFDSixDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgJ3pvbmUuanMnO1xuaW1wb3J0ICd6b25lLmpzL3BsdWdpbnMvc3luYy10ZXN0JztcbmltcG9ydCAnem9uZS5qcy9wbHVnaW5zL3Byb3h5JztcbmltcG9ydCAnem9uZS5qcy90ZXN0aW5nJztcblxuLyoqXG4gKiBQYXRjaCBWaXRlc3QncyBkZXNjcmliZS90ZXN0L2JlZm9yZUVhY2gvYWZ0ZXJFYWNoIGZ1bmN0aW9ucyBzbyB0ZXN0IGNvZGVcbiAqIGFsd2F5cyBydW5zIGluIGEgdGVzdFpvbmUgKFByb3h5Wm9uZSkuXG4gKi9cbi8qIGdsb2JhbCBab25lICovXG5jb25zdCBab25lID0gKGdsb2JhbFRoaXMgYXMgYW55KVsnWm9uZSddO1xuXG5pZiAoWm9uZSA9PT0gdW5kZWZpbmVkKSB7XG4gIHRocm93IG5ldyBFcnJvcignTWlzc2luZzogWm9uZSAoem9uZS5qcyknKTtcbn1cblxuLy8gU2V0dXAgZmlsZXMgYXJlIHJlLWV4ZWN1dGVkIGZvciBldmVyeSB0ZXN0IGZpbGUgaW4gYSByZXVzZWQgd29ya2VyXG4vLyAoZS5nLiBpc29sYXRlOiBmYWxzZSwgb3IgYnVuZGxlZCBzZXR1cCBlbnRyaWVzKS4gVGhlIHBhdGNoZWQgZnVuY3Rpb25zXG4vLyBsaXZlIG9uIHRoZSBzYW1lIGdsb2JhbFRoaXMgYXMgdGhpcyBmbGFnLCBzbyBza2lwIGluc3RlYWQgb2YgcmUtcGF0Y2hpbmcuXG5pZiAoKGdsb2JhbFRoaXMgYXMgYW55KVsnX192aXRlc3Rfem9uZV9wYXRjaF9fJ10gIT09IHRydWUpIHtcbiAgKGdsb2JhbFRoaXMgYXMgYW55KVsnX192aXRlc3Rfem9uZV9wYXRjaF9fJ10gPSB0cnVlO1xuICBjb25zdCBTeW5jVGVzdFpvbmVTcGVjID0gWm9uZVsnU3luY1Rlc3Rab25lU3BlYyddO1xuICBjb25zdCBQcm94eVpvbmVTcGVjID0gWm9uZVsnUHJveHlab25lU3BlYyddO1xuXG4gIGlmIChTeW5jVGVzdFpvbmVTcGVjID09PSB1bmRlZmluZWQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ01pc3Npbmc6IFN5bmNUZXN0Wm9uZVNwZWMgKHpvbmUuanMvcGx1Z2lucy9zeW5jLXRlc3QpJyk7XG4gIH1cbiAgaWYgKFByb3h5Wm9uZVNwZWMgPT09IHVuZGVmaW5lZCkge1xuICAgIHRocm93IG5ldyBFcnJvcignTWlzc2luZzogUHJveHlab25lU3BlYyAoem9uZS5qcy9wbHVnaW5zL3Byb3h5LmpzKScpO1xuICB9XG5cbiAgY29uc3QgZW52ID0gZ2xvYmFsVGhpcyBhcyBhbnk7XG4gIGNvbnN0IGFtYmllbnRab25lID0gWm9uZS5jdXJyZW50O1xuXG4gIC8vIENyZWF0ZSBhIHN5bmNocm9ub3VzLW9ubHkgem9uZSBpbiB3aGljaCB0byBydW4gYGRlc2NyaWJlYCBibG9ja3MgaW4gb3JkZXIgdG9cbiAgLy8gcmFpc2UgYW4gZXJyb3IgaWYgYW55IGFzeW5jaHJvbm91cyBvcGVyYXRpb25zIGFyZSBhdHRlbXB0ZWRcbiAgLy8gaW5zaWRlIG9mIGEgYGRlc2NyaWJlYCBidXQgb3V0c2lkZSBvZiBhIGBiZWZvcmVFYWNoYCBvciBgaXRgLlxuICBjb25zdCBzeW5jWm9uZSA9IGFtYmllbnRab25lLmZvcmsobmV3IFN5bmNUZXN0Wm9uZVNwZWMoJ3ZpdGVzdC5kZXNjcmliZScpKTtcbiAgY29uc3Qgd3JhcERlc2NyaWJlSW5ab25lID0gZnVuY3Rpb24gKGRlc2NyaWJlQm9keTogYW55KSB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uICguLi5hcmdzOiBhbnkpIHtcbiAgICAgIHJldHVybiBzeW5jWm9uZS5ydW4oZGVzY3JpYmVCb2R5LCBudWxsLCBhcmdzKTtcbiAgICB9O1xuICB9O1xuXG4gIC8vIENyZWF0ZSBhIHByb3h5IHpvbmUgaW4gd2hpY2ggdG8gcnVuIGB0ZXN0YCBibG9ja3Mgc28gdGhhdCB0aGUgdGVzdHMgZnVuY3Rpb25cbiAgLy8gY2FuIHJldHJvYWN0aXZlbHkgaW5zdGFsbCBkaWZmZXJlbnQgem9uZXMuXG4gIGNvbnN0IHRlc3RQcm94eVpvbmUgPSBhbWJpZW50Wm9uZS5mb3JrKG5ldyBQcm94eVpvbmVTcGVjKCkpO1xuICBjb25zdCB3cmFwVGVzdEluWm9uZSA9IGZ1bmN0aW9uICh0ZXN0Qm9keTogc3RyaW5nIHwgYW55W10gfCB1bmRlZmluZWQpIHtcbiAgICBpZiAodGVzdEJvZHkgPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHdyYXBwZWRGdW5jID0gZnVuY3Rpb24gKCkge1xuICAgICAgcmV0dXJuIHRlc3RQcm94eVpvbmUucnVuKHRlc3RCb2R5LCBudWxsLCBhcmd1bWVudHMpO1xuICAgIH07XG4gICAgdHJ5IHtcbiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh3cmFwcGVkRnVuYywgJ2xlbmd0aCcsIHtcbiAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsXG4gICAgICB9KTtcbiAgICAgIHdyYXBwZWRGdW5jLmxlbmd0aCA9IHRlc3RCb2R5Lmxlbmd0aDtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICByZXR1cm4gdGVzdEJvZHkubGVuZ3RoID09PSAwXG4gICAgICAgID8gKCkgPT4gdGVzdFByb3h5Wm9uZS5ydW4odGVzdEJvZHksIG51bGwpXG4gICAgICAgIDogKGRvbmU6IGFueSkgPT4gdGVzdFByb3h5Wm9uZS5ydW4odGVzdEJvZHksIG51bGwsIFtkb25lXSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHdyYXBwZWRGdW5jO1xuICB9O1xuXG4gIC8qKlxuICAgKiBiaW5kIGRlc2NyaWJlIG1ldGhvZCB0byB3cmFwIGRlc2NyaWJlLmVhY2ggZnVuY3Rpb25cbiAgICovXG4gIGNvbnN0IGJpbmREZXNjcmliZSA9IChcbiAgICBzZWxmOiBhbnksXG4gICAgb3JpZ2luYWxWaXRlc3RGbjoge1xuICAgICAgYXBwbHk6IChcbiAgICAgICAgYXJnMDogYW55LFxuICAgICAgICBhcmcxOiBhbnlbXSxcbiAgICAgICkgPT4ge1xuICAgICAgICAoKTogYW55O1xuICAgICAgICBuZXcgKCk6IGFueTtcbiAgICAgICAgYXBwbHk6IHsgKGFyZzA6IGFueSwgYXJnMTogYW55W10pOiBhbnk7IG5ldyAoKTogYW55IH07XG4gICAgICB9O1xuICAgIH0sXG4gICkgPT5cbiAgICBmdW5jdGlvbiAoLi4uZWFjaEFyZ3M6IGFueSkge1xuICAgICAgcmV0dXJuIGZ1bmN0aW9uICguLi5hcmdzOiBhbnlbXSkge1xuICAgICAgICBhcmdzWzFdID0gd3JhcERlc2NyaWJlSW5ab25lKGFyZ3NbMV0pO1xuXG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgcmV0dXJuIG9yaWdpbmFsVml0ZXN0Rm4uYXBwbHkoc2VsZiwgZWFjaEFyZ3MpLmFwcGx5KHNlbGYsIGFyZ3MpO1xuICAgICAgfTtcbiAgICB9O1xuXG4gIC8qKlxuICAgKiBiaW5kIHRlc3QgbWV0aG9kIHRvIHdyYXAgdGVzdC5lYWNoIGZ1bmN0aW9uXG4gICAqL1xuICBjb25zdCBiaW5kVGVzdCA9IChcbiAgICBzZWxmOiBhbnksXG4gICAgb3JpZ2luYWxWaXRlc3RGbjoge1xuICAgICAgYXBwbHk6IChcbiAgICAgICAgYXJnMDogYW55LFxuICAgICAgICBhcmcxOiBhbnlbXSxcbiAgICAgICkgPT4ge1xuICAgICAgICAoKTogYW55O1xuICAgICAgICBuZXcgKCk6IGFueTtcbiAgICAgICAgYXBwbHk6IHsgKGFyZzA6IGFueSwgYXJnMTogYW55W10pOiBhbnk7IG5ldyAoKTogYW55IH07XG4gICAgICB9O1xuICAgIH0sXG4gICkgPT5cbiAgICBmdW5jdGlvbiAoLi4uZWFjaEFyZ3M6IGFueSkge1xuICAgICAgcmV0dXJuIGZ1bmN0aW9uICguLi5hcmdzOiBhbnlbXSkge1xuICAgICAgICBhcmdzWzFdID0gd3JhcFRlc3RJblpvbmUoYXJnc1sxXSk7XG5cbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICByZXR1cm4gb3JpZ2luYWxWaXRlc3RGbi5hcHBseShzZWxmLCBlYWNoQXJncykuYXBwbHkoc2VsZiwgYXJncyk7XG4gICAgICB9O1xuICAgIH07XG5cbiAgWydkZXNjcmliZSddLmZvckVhY2goKG1ldGhvZE5hbWUpID0+IHtcbiAgICBjb25zdCBvcmlnaW5hbHZpdGVzdEZuID0gZW52W21ldGhvZE5hbWVdO1xuICAgIGVudlttZXRob2ROYW1lXSA9IGZ1bmN0aW9uICguLi5hcmdzOiBhbnlbXSkge1xuICAgICAgYXJnc1sxXSA9IHdyYXBEZXNjcmliZUluWm9uZShhcmdzWzFdKTtcblxuICAgICAgcmV0dXJuIG9yaWdpbmFsdml0ZXN0Rm4uYXBwbHkodGhpcywgYXJncyk7XG4gICAgfTtcbiAgICBlbnZbbWV0aG9kTmFtZV0uZWFjaCA9IGJpbmREZXNjcmliZShcbiAgICAgIG9yaWdpbmFsdml0ZXN0Rm4sXG4gICAgICBvcmlnaW5hbHZpdGVzdEZuLmVhY2gsXG4gICAgKTtcbiAgICBpZiAobWV0aG9kTmFtZSA9PT0gJ2Rlc2NyaWJlJykge1xuICAgICAgZW52W21ldGhvZE5hbWVdLm9ubHkgPSBiaW5kRGVzY3JpYmUoXG4gICAgICAgIG9yaWdpbmFsdml0ZXN0Rm4sXG4gICAgICAgIG9yaWdpbmFsdml0ZXN0Rm4ub25seSxcbiAgICAgICk7XG4gICAgICBlbnZbbWV0aG9kTmFtZV0uc2tpcCA9IGJpbmREZXNjcmliZShcbiAgICAgICAgb3JpZ2luYWx2aXRlc3RGbixcbiAgICAgICAgb3JpZ2luYWx2aXRlc3RGbi5za2lwLFxuICAgICAgKTtcbiAgICB9XG4gIH0pO1xuXG4gIFsndGVzdCcsICdpdCddLmZvckVhY2goKG1ldGhvZE5hbWUpID0+IHtcbiAgICBjb25zdCBvcmlnaW5hbHZpdGVzdEZuID0gZW52W21ldGhvZE5hbWVdO1xuICAgIGVudlttZXRob2ROYW1lXSA9IGZ1bmN0aW9uICguLi5hcmdzOiBhbnlbXSkge1xuICAgICAgYXJnc1sxXSA9IHdyYXBUZXN0SW5ab25lKGFyZ3NbMV0pO1xuXG4gICAgICByZXR1cm4gb3JpZ2luYWx2aXRlc3RGbi5hcHBseSh0aGlzLCBhcmdzKTtcbiAgICB9O1xuICAgIGVudlttZXRob2ROYW1lXS5lYWNoID0gYmluZFRlc3Qob3JpZ2luYWx2aXRlc3RGbiwgb3JpZ2luYWx2aXRlc3RGbi5lYWNoKTtcbiAgICBlbnZbbWV0aG9kTmFtZV0ub25seSA9IGJpbmRUZXN0KG9yaWdpbmFsdml0ZXN0Rm4sIG9yaWdpbmFsdml0ZXN0Rm4ub25seSk7XG4gICAgZW52W21ldGhvZE5hbWVdLnNraXAgPSBiaW5kVGVzdChvcmlnaW5hbHZpdGVzdEZuLCBvcmlnaW5hbHZpdGVzdEZuLnNraXApO1xuXG4gICAgaWYgKG1ldGhvZE5hbWUgPT09ICd0ZXN0JyB8fCBtZXRob2ROYW1lID09PSAnaXQnKSB7XG4gICAgICBlbnZbbWV0aG9kTmFtZV0udG9kbyA9IGZ1bmN0aW9uICguLi5hcmdzOiBhbnkpIHtcbiAgICAgICAgcmV0dXJuIG9yaWdpbmFsdml0ZXN0Rm4udG9kby5hcHBseSh0aGlzLCBhcmdzKTtcbiAgICAgIH07XG4gICAgfVxuICB9KTtcblxuICBbJ2JlZm9yZUVhY2gnLCAnYWZ0ZXJFYWNoJywgJ2JlZm9yZUFsbCcsICdhZnRlckFsbCddLmZvckVhY2goKG1ldGhvZE5hbWUpID0+IHtcbiAgICBjb25zdCBvcmlnaW5hbHZpdGVzdEZuID0gZW52W21ldGhvZE5hbWVdO1xuXG4gICAgZW52W21ldGhvZE5hbWVdID0gZnVuY3Rpb24gKC4uLmFyZ3M6IGFueVtdKSB7XG4gICAgICBhcmdzWzBdID0gd3JhcFRlc3RJblpvbmUoYXJnc1swXSk7XG5cbiAgICAgIHJldHVybiBvcmlnaW5hbHZpdGVzdEZuLmFwcGx5KHRoaXMsIGFyZ3MpO1xuICAgIH07XG4gIH0pO1xufVxuIl19
|
package/setup-zone.js
CHANGED
|
@@ -12,106 +12,108 @@ const Zone = globalThis['Zone'];
|
|
|
12
12
|
if (Zone === undefined) {
|
|
13
13
|
throw new Error('Missing: Zone (zone.js)');
|
|
14
14
|
}
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
globalThis['__vitest_zone_patch__']
|
|
19
|
-
|
|
20
|
-
const
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
if (ProxyZoneSpec === undefined) {
|
|
25
|
-
throw new Error('Missing: ProxyZoneSpec (zone.js/plugins/proxy.js)');
|
|
26
|
-
}
|
|
27
|
-
const env = globalThis;
|
|
28
|
-
const ambientZone = Zone.current;
|
|
29
|
-
// Create a synchronous-only zone in which to run `describe` blocks in order to
|
|
30
|
-
// raise an error if any asynchronous operations are attempted
|
|
31
|
-
// inside of a `describe` but outside of a `beforeEach` or `it`.
|
|
32
|
-
const syncZone = ambientZone.fork(new SyncTestZoneSpec('vitest.describe'));
|
|
33
|
-
function wrapDescribeInZone(describeBody) {
|
|
34
|
-
return function (...args) {
|
|
35
|
-
return syncZone.run(describeBody, null, args);
|
|
36
|
-
};
|
|
37
|
-
}
|
|
38
|
-
// Create a proxy zone in which to run `test` blocks so that the tests function
|
|
39
|
-
// can retroactively install different zones.
|
|
40
|
-
const testProxyZone = ambientZone.fork(new ProxyZoneSpec());
|
|
41
|
-
function wrapTestInZone(testBody) {
|
|
42
|
-
if (testBody === undefined) {
|
|
43
|
-
return;
|
|
15
|
+
// Setup files are re-executed for every test file in a reused worker
|
|
16
|
+
// (e.g. isolate: false, or bundled setup entries). The patched functions
|
|
17
|
+
// live on the same globalThis as this flag, so skip instead of re-patching.
|
|
18
|
+
if (globalThis['__vitest_zone_patch__'] !== true) {
|
|
19
|
+
globalThis['__vitest_zone_patch__'] = true;
|
|
20
|
+
const SyncTestZoneSpec = Zone['SyncTestZoneSpec'];
|
|
21
|
+
const ProxyZoneSpec = Zone['ProxyZoneSpec'];
|
|
22
|
+
if (SyncTestZoneSpec === undefined) {
|
|
23
|
+
throw new Error('Missing: SyncTestZoneSpec (zone.js/plugins/sync-test)');
|
|
44
24
|
}
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
};
|
|
48
|
-
try {
|
|
49
|
-
Object.defineProperty(wrappedFunc, 'length', {
|
|
50
|
-
configurable: true,
|
|
51
|
-
writable: true,
|
|
52
|
-
enumerable: false,
|
|
53
|
-
});
|
|
54
|
-
wrappedFunc.length = testBody.length;
|
|
25
|
+
if (ProxyZoneSpec === undefined) {
|
|
26
|
+
throw new Error('Missing: ProxyZoneSpec (zone.js/plugins/proxy.js)');
|
|
55
27
|
}
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
const bindDescribe = (self, originalVitestFn) => function (...eachArgs) {
|
|
67
|
-
return function (...args) {
|
|
68
|
-
args[1] = wrapDescribeInZone(args[1]);
|
|
69
|
-
// @ts-ignore
|
|
70
|
-
return originalVitestFn.apply(self, eachArgs).apply(self, args);
|
|
71
|
-
};
|
|
72
|
-
};
|
|
73
|
-
/**
|
|
74
|
-
* bind test method to wrap test.each function
|
|
75
|
-
*/
|
|
76
|
-
const bindTest = (self, originalVitestFn) => function (...eachArgs) {
|
|
77
|
-
return function (...args) {
|
|
78
|
-
args[1] = wrapTestInZone(args[1]);
|
|
79
|
-
// @ts-ignore
|
|
80
|
-
return originalVitestFn.apply(self, eachArgs).apply(self, args);
|
|
28
|
+
const env = globalThis;
|
|
29
|
+
const ambientZone = Zone.current;
|
|
30
|
+
// Create a synchronous-only zone in which to run `describe` blocks in order to
|
|
31
|
+
// raise an error if any asynchronous operations are attempted
|
|
32
|
+
// inside of a `describe` but outside of a `beforeEach` or `it`.
|
|
33
|
+
const syncZone = ambientZone.fork(new SyncTestZoneSpec('vitest.describe'));
|
|
34
|
+
const wrapDescribeInZone = function (describeBody) {
|
|
35
|
+
return function (...args) {
|
|
36
|
+
return syncZone.run(describeBody, null, args);
|
|
37
|
+
};
|
|
81
38
|
};
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
const
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
39
|
+
// Create a proxy zone in which to run `test` blocks so that the tests function
|
|
40
|
+
// can retroactively install different zones.
|
|
41
|
+
const testProxyZone = ambientZone.fork(new ProxyZoneSpec());
|
|
42
|
+
const wrapTestInZone = function (testBody) {
|
|
43
|
+
if (testBody === undefined) {
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
const wrappedFunc = function () {
|
|
47
|
+
return testProxyZone.run(testBody, null, arguments);
|
|
48
|
+
};
|
|
49
|
+
try {
|
|
50
|
+
Object.defineProperty(wrappedFunc, 'length', {
|
|
51
|
+
configurable: true,
|
|
52
|
+
writable: true,
|
|
53
|
+
enumerable: false,
|
|
54
|
+
});
|
|
55
|
+
wrappedFunc.length = testBody.length;
|
|
56
|
+
}
|
|
57
|
+
catch (e) {
|
|
58
|
+
return testBody.length === 0
|
|
59
|
+
? () => testProxyZone.run(testBody, null)
|
|
60
|
+
: (done) => testProxyZone.run(testBody, null, [done]);
|
|
61
|
+
}
|
|
62
|
+
return wrappedFunc;
|
|
88
63
|
};
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
args[1] = wrapTestInZone(args[1]);
|
|
99
|
-
return originalvitestFn.apply(this, args);
|
|
64
|
+
/**
|
|
65
|
+
* bind describe method to wrap describe.each function
|
|
66
|
+
*/
|
|
67
|
+
const bindDescribe = (self, originalVitestFn) => function (...eachArgs) {
|
|
68
|
+
return function (...args) {
|
|
69
|
+
args[1] = wrapDescribeInZone(args[1]);
|
|
70
|
+
// @ts-ignore
|
|
71
|
+
return originalVitestFn.apply(self, eachArgs).apply(self, args);
|
|
72
|
+
};
|
|
100
73
|
};
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
74
|
+
/**
|
|
75
|
+
* bind test method to wrap test.each function
|
|
76
|
+
*/
|
|
77
|
+
const bindTest = (self, originalVitestFn) => function (...eachArgs) {
|
|
78
|
+
return function (...args) {
|
|
79
|
+
args[1] = wrapTestInZone(args[1]);
|
|
80
|
+
// @ts-ignore
|
|
81
|
+
return originalVitestFn.apply(self, eachArgs).apply(self, args);
|
|
107
82
|
};
|
|
108
|
-
}
|
|
109
|
-
});
|
|
110
|
-
['beforeEach', 'afterEach', 'beforeAll', 'afterAll'].forEach((methodName) => {
|
|
111
|
-
const originalvitestFn = env[methodName];
|
|
112
|
-
env[methodName] = function (...args) {
|
|
113
|
-
args[0] = wrapTestInZone(args[0]);
|
|
114
|
-
return originalvitestFn.apply(this, args);
|
|
115
83
|
};
|
|
116
|
-
|
|
117
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dXAtem9uZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BhY2thZ2VzL3ZpdGVzdC1hbmd1bGFyL3NldHVwLXpvbmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxTQUFTLENBQUM7QUFDakIsT0FBTywyQkFBMkIsQ0FBQztBQUNuQyxPQUFPLHVCQUF1QixDQUFDO0FBQy9CLE9BQU8saUJBQWlCLENBQUM7QUFFekIsT0FBTyxzQkFBc0IsQ0FBQztBQUM5Qjs7O0dBR0c7QUFDSCxpQkFBaUI7QUFDakIsTUFBTSxJQUFJLEdBQUksVUFBa0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUV6QyxJQUFJLElBQUksS0FBSyxTQUFTLEVBQUUsQ0FBQztJQUN2QixNQUFNLElBQUksS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUM7QUFDN0MsQ0FBQztBQUVELElBQUssVUFBa0IsQ0FBQyx1QkFBdUIsQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO0lBQzFELE1BQU0sSUFBSSxLQUFLLENBQUMsZ0RBQWdELENBQUMsQ0FBQztBQUNwRSxDQUFDO0FBRUEsVUFBa0IsQ0FBQyx1QkFBdUIsQ0FBQyxHQUFHLElBQUksQ0FBQztBQUNwRCxNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0FBQ2xELE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztBQUU1QyxJQUFJLGdCQUFnQixLQUFLLFNBQVMsRUFBRSxDQUFDO0lBQ25DLE1BQU0sSUFBSSxLQUFLLENBQUMsdURBQXVELENBQUMsQ0FBQztBQUMzRSxDQUFDO0FBQ0QsSUFBSSxhQUFhLEtBQUssU0FBUyxFQUFFLENBQUM7SUFDaEMsTUFBTSxJQUFJLEtBQUssQ0FBQyxtREFBbUQsQ0FBQyxDQUFDO0FBQ3ZFLENBQUM7QUFFRCxNQUFNLEdBQUcsR0FBRyxVQUFpQixDQUFDO0FBQzlCLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxP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QUFVLENBQUMsQ0FBQyxJQUFJLEdBQUcsUUFBUSxDQUFDLGdCQUFnQixFQUFFLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3pFLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxJQUFJLEdBQUcsUUFBUSxDQUFDLGdCQUFnQixFQUFFLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBRXpFLElBQUksVUFBVSxLQUFLLE1BQU0sSUFBSSxVQUFVLEtBQUssSUFBSSxFQUFFLENBQUM7UUFDakQsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUksR0FBRyxVQUFVLEdBQUcsSUFBUztZQUMzQyxPQUFPLGdCQUFnQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ2pELENBQUMsQ0FBQztJQUNKLENBQUM7QUFDSCxDQUFDLENBQUMsQ0FBQztBQUVILENBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsVUFBVSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUU7SUFDMUUsTUFBTSxnQkFBZ0IsR0FBRyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7SUFFekMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxHQUFHLFVBQVUsR0FBRyxJQUFXO1FBQ3hDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFbEMsT0FBTyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzVDLENBQUMsQ0FBQztBQUNKLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICd6b25lLmpzJztcbmltcG9ydCAnem9uZS5qcy9wbHVnaW5zL3N5bmMtdGVzdCc7XG5pbXBvcnQgJ3pvbmUuanMvcGx1Z2lucy9wcm94eSc7XG5pbXBvcnQgJ3pvbmUuanMvdGVzdGluZyc7XG5cbmltcG9ydCAnLi9zZXR1cC1zbmFwc2hvdHMuanMnO1xuLyoqXG4gKiBQYXRjaCBWaXRlc3QncyBkZXNjcmliZS90ZXN0L2JlZm9yZUVhY2gvYWZ0ZXJFYWNoIGZ1bmN0aW9ucyBzbyB0ZXN0IGNvZGVcbiAqIGFsd2F5cyBydW5zIGluIGEgdGVzdFpvbmUgKFByb3h5Wm9uZSkuXG4gKi9cbi8qIGdsb2JhbCBab25lICovXG5jb25zdCBab25lID0gKGdsb2JhbFRoaXMgYXMgYW55KVsnWm9uZSddO1xuXG5pZiAoWm9uZSA9PT0gdW5kZWZpbmVkKSB7XG4gIHRocm93IG5ldyBFcnJvcignTWlzc2luZzogWm9uZSAoem9uZS5qcyknKTtcbn1cblxuaWYgKChnbG9iYWxUaGlzIGFzIGFueSlbJ19fdml0ZXN0X3pvbmVfcGF0Y2hfXyddID09PSB0cnVlKSB7XG4gIHRocm93IG5ldyBFcnJvcihcIid2aXRlc3QnIGhhcyBhbHJlYWR5IGJlZW4gcGF0Y2hlZCB3aXRoICdab25lJy5cIik7XG59XG5cbihnbG9iYWxUaGlzIGFzIGFueSlbJ19fdml0ZXN0X3pvbmVfcGF0Y2hfXyddID0gdHJ1ZTtcbmNvbnN0IFN5bmNUZXN0Wm9uZVNwZWMgPSBab25lWydTeW5jVGVzdFpvbmVTcGVjJ107XG5jb25zdCBQcm94eVpvbmVTcGVjID0gWm9uZVsnUHJveHlab25lU3BlYyddO1xuXG5pZiAoU3luY1Rlc3Rab25lU3BlYyA9PT0gdW5kZWZpbmVkKSB7XG4gIHRocm93IG5ldyBFcnJvcignTWlzc2luZzogU3luY1Rlc3Rab25lU3BlYyAoem9uZS5qcy9wbHVnaW5zL3N5bmMtdGVzdCknKTtcbn1cbmlmIChQcm94eVpvbmVTcGVjID09PSB1bmRlZmluZWQpIHtcbiAgdGhyb3cgbmV3IEVycm9yKCdNaXNzaW5nOiBQcm94eVpvbmVTcGVjICh6b25lLmpzL3BsdWdpbnMvcHJveHkuanMpJyk7XG59XG5cbmNvbnN0IGVudiA9IGdsb2JhbFRoaXMgYXMgYW55O1xuY29uc3QgYW1iaWVudFpvbmUgPSBab25lLmN1cnJlbnQ7XG5cbi8vIENyZWF0ZSBhIHN5bmNocm9ub3VzLW9ubHkgem9uZSBpbiB3aGljaCB0byBydW4gYGRlc2NyaWJlYCBibG9ja3MgaW4gb3JkZXIgdG9cbi8vIHJhaXNlIGFuIGVycm9yIGlmIGFueSBhc3luY2hyb25vdXMgb3BlcmF0aW9ucyBhcmUgYXR0ZW1wdGVkXG4vLyBpbnNpZGUgb2YgYSBgZGVzY3JpYmVgIGJ1dCBvdXRzaWRlIG9mIGEgYGJlZm9yZUVhY2hgIG9yIGBpdGAuXG5jb25zdCBzeW5jWm9uZSA9IGFtYmllbnRab25lLmZvcmsobmV3IFN5bmNUZXN0Wm9uZVNwZWMoJ3ZpdGVzdC5kZXNjcmliZScpKTtcbmZ1bmN0aW9uIHdyYXBEZXNjcmliZUluWm9uZShkZXNjcmliZUJvZHk6IGFueSkge1xuICByZXR1cm4gZnVuY3Rpb24gKC4uLmFyZ3M6IGFueSkge1xuICAgIHJldHVybiBzeW5jWm9uZS5ydW4oZGVzY3JpYmVCb2R5LCBudWxsLCBhcmdzKTtcbiAgfTtcbn1cblxuLy8gQ3JlYXRlIGEgcHJveHkgem9uZSBpbiB3aGljaCB0byBydW4gYHRlc3RgIGJsb2NrcyBzbyB0aGF0IHRoZSB0ZXN0cyBmdW5jdGlvblxuLy8gY2FuIHJldHJvYWN0aXZlbHkgaW5zdGFsbCBkaWZmZXJlbnQgem9uZXMuXG5jb25zdCB0ZXN0UHJveHlab25lID0gYW1iaWVudFpvbmUuZm9yayhuZXcgUHJveHlab25lU3BlYygpKTtcbmZ1bmN0aW9uIHdyYXBUZXN0SW5ab25lKHRlc3RCb2R5OiBzdHJpbmcgfCBhbnlbXSB8IHVuZGVmaW5lZCkge1xuICBpZiAodGVzdEJvZHkgPT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGNvbnN0IHdyYXBwZWRGdW5jID0gZnVuY3Rpb24gKCkge1xuICAgIHJldHVybiB0ZXN0UHJveHlab25lLnJ1bih0ZXN0Qm9keSwgbnVsbCwgYXJndW1lbnRzKTtcbiAgfTtcbiAgdHJ5IHtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkod3JhcHBlZEZ1bmMsICdsZW5ndGgnLCB7XG4gICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgIGVudW1lcmFibGU6IGZhbHNlLFxuICAgIH0pO1xuICAgIHdyYXBwZWRGdW5jLmxlbmd0aCA9IHRlc3RCb2R5Lmxlbmd0aDtcbiAgfSBjYXRjaCAoZSkge1xuICAgIHJldHVybiB0ZXN0Qm9keS5sZW5ndGggPT09IDBcbiAgICAgID8gKCkgPT4gdGVzdFByb3h5Wm9uZS5ydW4odGVzdEJvZHksIG51bGwpXG4gICAgICA6IChkb25lOiBhbnkpID0+IHRlc3RQcm94eVpvbmUucnVuKHRlc3RCb2R5LCBudWxsLCBbZG9uZV0pO1xuICB9XG5cbiAgcmV0dXJuIHdyYXBwZWRGdW5jO1xufVxuXG4vKipcbiAqIGJpbmQgZGVzY3JpYmUgbWV0aG9kIHRvIHdyYXAgZGVzY3JpYmUuZWFjaCBmdW5jdGlvblxuICovXG5jb25zdCBiaW5kRGVzY3JpYmUgPSAoXG4gIHNlbGY6IGFueSxcbiAgb3JpZ2luYWxWaXRlc3RGbjoge1xuICAgIGFwcGx5OiAoXG4gICAgICBhcmcwOiBhbnksXG4gICAgICBhcmcxOiBhbnlbXSxcbiAgICApID0+IHtcbiAgICAgICgpOiBhbnk7XG4gICAgICBuZXcgKCk6IGFueTtcbiAgICAgIGFwcGx5OiB7IChhcmcwOiBhbnksIGFyZzE6IGFueVtdKTogYW55OyBuZXcgKCk6IGFueSB9O1xuICAgIH07XG4gIH0sXG4pID0+XG4gIGZ1bmN0aW9uICguLi5lYWNoQXJnczogYW55KSB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uICguLi5hcmdzOiBhbnlbXSkge1xuICAgICAgYXJnc1sxXSA9IHdyYXBEZXNjcmliZUluWm9uZShhcmdzWzFdKTtcblxuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgcmV0dXJuIG9yaWdpbmFsVml0ZXN0Rm4uYXBwbHkoc2VsZiwgZWFjaEFyZ3MpLmFwcGx5KHNlbGYsIGFyZ3MpO1xuICAgIH07XG4gIH07XG5cbi8qKlxuICogYmluZCB0ZXN0IG1ldGhvZCB0byB3cmFwIHRlc3QuZWFjaCBmdW5jdGlvblxuICovXG5jb25zdCBiaW5kVGVzdCA9IChcbiAgc2VsZjogYW55LFxuICBvcmlnaW5hbFZpdGVzdEZuOiB7XG4gICAgYXBwbHk6IChcbiAgICAgIGFyZzA6IGFueSxcbiAgICAgIGFyZzE6IGFueVtdLFxuICAgICkgPT4ge1xuICAgICAgKCk6IGFueTtcbiAgICAgIG5ldyAoKTogYW55O1xuICAgICAgYXBwbHk6IHsgKGFyZzA6IGFueSwgYXJnMTogYW55W10pOiBhbnk7IG5ldyAoKTogYW55IH07XG4gICAgfTtcbiAgfSxcbikgPT5cbiAgZnVuY3Rpb24gKC4uLmVhY2hBcmdzOiBhbnkpIHtcbiAgICByZXR1cm4gZnVuY3Rpb24gKC4uLmFyZ3M6IGFueVtdKSB7XG4gICAgICBhcmdzWzFdID0gd3JhcFRlc3RJblpvbmUoYXJnc1sxXSk7XG5cbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIHJldHVybiBvcmlnaW5hbFZpdGVzdEZuLmFwcGx5KHNlbGYsIGVhY2hBcmdzKS5hcHBseShzZWxmLCBhcmdzKTtcbiAgICB9O1xuICB9O1xuXG5bJ2Rlc2NyaWJlJ10uZm9yRWFjaCgobWV0aG9kTmFtZSkgPT4ge1xuICBjb25zdCBvcmlnaW5hbHZpdGVzdEZuID0gZW52W21ldGhvZE5hbWVdO1xuICBlbnZbbWV0aG9kTmFtZV0gPSBmdW5jdGlvbiAoLi4uYXJnczogYW55W10pIHtcbiAgICBhcmdzWzFdID0gd3JhcERlc2NyaWJlSW5ab25lKGFyZ3NbMV0pO1xuXG4gICAgcmV0dXJuIG9yaWdpbmFsdml0ZXN0Rm4uYXBwbHkodGhpcywgYXJncyk7XG4gIH07XG4gIGVudlttZXRob2ROYW1lXS5lYWNoID0gYmluZERlc2NyaWJlKG9yaWdpbmFsdml0ZXN0Rm4sIG9yaWdpbmFsdml0ZXN0Rm4uZWFjaCk7XG4gIGlmIChtZXRob2ROYW1lID09PSAnZGVzY3JpYmUnKSB7XG4gICAgZW52W21ldGhvZE5hbWVdLm9ubHkgPSBiaW5kRGVzY3JpYmUoXG4gICAgICBvcmlnaW5hbHZpdGVzdEZuLFxuICAgICAgb3JpZ2luYWx2aXRlc3RGbi5vbmx5LFxuICAgICk7XG4gICAgZW52W21ldGhvZE5hbWVdLnNraXAgPSBiaW5kRGVzY3JpYmUoXG4gICAgICBvcmlnaW5hbHZpdGVzdEZuLFxuICAgICAgb3JpZ2luYWx2aXRlc3RGbi5za2lwLFxuICAgICk7XG4gIH1cbn0pO1xuXG5bJ3Rlc3QnLCAnaXQnXS5mb3JFYWNoKChtZXRob2ROYW1lKSA9PiB7XG4gIGNvbnN0IG9yaWdpbmFsdml0ZXN0Rm4gPSBlbnZbbWV0aG9kTmFtZV07XG4gIGVudlttZXRob2ROYW1lXSA9IGZ1bmN0aW9uICguLi5hcmdzOiBhbnlbXSkge1xuICAgIGFyZ3NbMV0gPSB3cmFwVGVzdEluWm9uZShhcmdzWzFdKTtcblxuICAgIHJldHVybiBvcmlnaW5hbHZpdGVzdEZuLmFwcGx5KHRoaXMsIGFyZ3MpO1xuICB9O1xuICBlbnZbbWV0aG9kTmFtZV0uZWFjaCA9IGJpbmRUZXN0KG9yaWdpbmFsdml0ZXN0Rm4sIG9yaWdpbmFsdml0ZXN0Rm4uZWFjaCk7XG4gIGVudlttZXRob2ROYW1lXS5vbmx5ID0gYmluZFRlc3Qob3JpZ2luYWx2aXRlc3RGbiwgb3JpZ2luYWx2aXRlc3RGbi5vbmx5KTtcbiAgZW52W21ldGhvZE5hbWVdLnNraXAgPSBiaW5kVGVzdChvcmlnaW5hbHZpdGVzdEZuLCBvcmlnaW5hbHZpdGVzdEZuLnNraXApO1xuXG4gIGlmIChtZXRob2ROYW1lID09PSAndGVzdCcgfHwgbWV0aG9kTmFtZSA9PT0gJ2l0Jykge1xuICAgIGVudlttZXRob2ROYW1lXS50b2RvID0gZnVuY3Rpb24gKC4uLmFyZ3M6IGFueSkge1xuICAgICAgcmV0dXJuIG9yaWdpbmFsdml0ZXN0Rm4udG9kby5hcHBseSh0aGlzLCBhcmdzKTtcbiAgICB9O1xuICB9XG59KTtcblxuWydiZWZvcmVFYWNoJywgJ2FmdGVyRWFjaCcsICdiZWZvcmVBbGwnLCAnYWZ0ZXJBbGwnXS5mb3JFYWNoKChtZXRob2ROYW1lKSA9PiB7XG4gIGNvbnN0IG9yaWdpbmFsdml0ZXN0Rm4gPSBlbnZbbWV0aG9kTmFtZV07XG5cbiAgZW52W21ldGhvZE5hbWVdID0gZnVuY3Rpb24gKC4uLmFyZ3M6IGFueVtdKSB7XG4gICAgYXJnc1swXSA9IHdyYXBUZXN0SW5ab25lKGFyZ3NbMF0pO1xuXG4gICAgcmV0dXJuIG9yaWdpbmFsdml0ZXN0Rm4uYXBwbHkodGhpcywgYXJncyk7XG4gIH07XG59KTtcbiJdfQ==
|
|
84
|
+
['describe'].forEach((methodName) => {
|
|
85
|
+
const originalvitestFn = env[methodName];
|
|
86
|
+
env[methodName] = function (...args) {
|
|
87
|
+
args[1] = wrapDescribeInZone(args[1]);
|
|
88
|
+
return originalvitestFn.apply(this, args);
|
|
89
|
+
};
|
|
90
|
+
env[methodName].each = bindDescribe(originalvitestFn, originalvitestFn.each);
|
|
91
|
+
if (methodName === 'describe') {
|
|
92
|
+
env[methodName].only = bindDescribe(originalvitestFn, originalvitestFn.only);
|
|
93
|
+
env[methodName].skip = bindDescribe(originalvitestFn, originalvitestFn.skip);
|
|
94
|
+
}
|
|
95
|
+
});
|
|
96
|
+
['test', 'it'].forEach((methodName) => {
|
|
97
|
+
const originalvitestFn = env[methodName];
|
|
98
|
+
env[methodName] = function (...args) {
|
|
99
|
+
args[1] = wrapTestInZone(args[1]);
|
|
100
|
+
return originalvitestFn.apply(this, args);
|
|
101
|
+
};
|
|
102
|
+
env[methodName].each = bindTest(originalvitestFn, originalvitestFn.each);
|
|
103
|
+
env[methodName].only = bindTest(originalvitestFn, originalvitestFn.only);
|
|
104
|
+
env[methodName].skip = bindTest(originalvitestFn, originalvitestFn.skip);
|
|
105
|
+
if (methodName === 'test' || methodName === 'it') {
|
|
106
|
+
env[methodName].todo = function (...args) {
|
|
107
|
+
return originalvitestFn.todo.apply(this, args);
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
});
|
|
111
|
+
['beforeEach', 'afterEach', 'beforeAll', 'afterAll'].forEach((methodName) => {
|
|
112
|
+
const originalvitestFn = env[methodName];
|
|
113
|
+
env[methodName] = function (...args) {
|
|
114
|
+
args[0] = wrapTestInZone(args[0]);
|
|
115
|
+
return originalvitestFn.apply(this, args);
|
|
116
|
+
};
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dXAtem9uZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BhY2thZ2VzL3ZpdGVzdC1hbmd1bGFyL3NldHVwLXpvbmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxTQUFTLENBQUM7QUFDakIsT0FBTywyQkFBMkIsQ0FBQztBQUNuQyxPQUFPLHVCQUF1QixDQUFDO0FBQy9CLE9BQU8saUJBQWlCLENBQUM7QUFFekIsT0FBTyxzQkFBc0IsQ0FBQztBQUM5Qjs7O0dBR0c7QUFDSCxpQkFBaUI7QUFDakIsTUFBTSxJQUFJLEdBQUksVUFBa0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUV6QyxJQUFJLElBQUksS0FBSyxTQUFTLEVBQUUsQ0FBQztJQUN2QixNQUFNLElBQUksS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUM7QUFDN0MsQ0FBQztBQUVELHFFQUFxRTtBQUNyRSx5RUFBeUU7QUFDekUsNEVBQTRFO0FBQzVFLElBQUssVUFBa0IsQ0FBQyx1QkFBdUIsQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO0lBQ3pELFVBQWtCLENBQUMsdUJBQXVCLENBQUMsR0FBRyxJQUFJLENBQUM7SUFDcEQsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUNsRCxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7SUFFNUMsSUFBSSxnQkFBZ0IsS0FBSyxTQUFTLEVBQUUsQ0FBQztRQUNuQyxNQUFNLElBQUksS0FBSyxDQUFDLHVEQUF1RCxDQUFDLENBQUM7SUFDM0UsQ0FBQztJQUNELElBQUksYUFBYSxLQUFLLFNBQVMsRUFBRSxDQUFDO1FBQ2hDLE1BQU0sSUFBSSxLQUFLLENBQUMsbURBQW1ELENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRUQsTUFBTSxHQUFHLEdBQUcsVUFBaUIsQ0FBQztJQUM5QixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBRWpD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RSxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBSSxHQUFHLFFBQVEsQ0FBQyxnQkFBZ0IsRUFBRSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6RSxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBSSxHQUFHLFFBQVEsQ0FBQyxnQkFBZ0IsRUFBRSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUV6RSxJQUFJLFVBQVUsS0FBSyxNQUFNLElBQUksVUFBVSxLQUFLLElBQUksRUFBRSxDQUFDO1lBQ2pELEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxJQUFJLEdBQUcsVUFBVSxHQUFHLElBQVM7Z0JBQzNDLE9BQU8sZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDakQsQ0FBQyxDQUFDO1FBQ0osQ0FBQztJQUNILENBQUMsQ0FBQyxDQUFDO0lBRUgsQ0FBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxVQUFVLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRTtRQUMxRSxNQUFNLGdCQUFnQixHQUFHLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUV6QyxHQUFHLENBQUMsVUFBVSxDQUFDLEdBQUcsVUFBVSxHQUFHLElBQVc7WUFDeEMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUVsQyxPQUFPLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDNUMsQ0FBQyxDQUFDO0lBQ0osQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICd6b25lLmpzJztcbmltcG9ydCAnem9uZS5qcy9wbHVnaW5zL3N5bmMtdGVzdCc7XG5pbXBvcnQgJ3pvbmUuanMvcGx1Z2lucy9wcm94eSc7XG5pbXBvcnQgJ3pvbmUuanMvdGVzdGluZyc7XG5cbmltcG9ydCAnLi9zZXR1cC1zbmFwc2hvdHMuanMnO1xuLyoqXG4gKiBQYXRjaCBWaXRlc3QncyBkZXNjcmliZS90ZXN0L2JlZm9yZUVhY2gvYWZ0ZXJFYWNoIGZ1bmN0aW9ucyBzbyB0ZXN0IGNvZGVcbiAqIGFsd2F5cyBydW5zIGluIGEgdGVzdFpvbmUgKFByb3h5Wm9uZSkuXG4gKi9cbi8qIGdsb2JhbCBab25lICovXG5jb25zdCBab25lID0gKGdsb2JhbFRoaXMgYXMgYW55KVsnWm9uZSddO1xuXG5pZiAoWm9uZSA9PT0gdW5kZWZpbmVkKSB7XG4gIHRocm93IG5ldyBFcnJvcignTWlzc2luZzogWm9uZSAoem9uZS5qcyknKTtcbn1cblxuLy8gU2V0dXAgZmlsZXMgYXJlIHJlLWV4ZWN1dGVkIGZvciBldmVyeSB0ZXN0IGZpbGUgaW4gYSByZXVzZWQgd29ya2VyXG4vLyAoZS5nLiBpc29sYXRlOiBmYWxzZSwgb3IgYnVuZGxlZCBzZXR1cCBlbnRyaWVzKS4gVGhlIHBhdGNoZWQgZnVuY3Rpb25zXG4vLyBsaXZlIG9uIHRoZSBzYW1lIGdsb2JhbFRoaXMgYXMgdGhpcyBmbGFnLCBzbyBza2lwIGluc3RlYWQgb2YgcmUtcGF0Y2hpbmcuXG5pZiAoKGdsb2JhbFRoaXMgYXMgYW55KVsnX192aXRlc3Rfem9uZV9wYXRjaF9fJ10gIT09IHRydWUpIHtcbiAgKGdsb2JhbFRoaXMgYXMgYW55KVsnX192aXRlc3Rfem9uZV9wYXRjaF9fJ10gPSB0cnVlO1xuICBjb25zdCBTeW5jVGVzdFpvbmVTcGVjID0gWm9uZVsnU3luY1Rlc3Rab25lU3BlYyddO1xuICBjb25zdCBQcm94eVpvbmVTcGVjID0gWm9uZVsnUHJveHlab25lU3BlYyddO1xuXG4gIGlmIChTeW5jVGVzdFpvbmVTcGVjID09PSB1bmRlZmluZWQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ01pc3Npbmc6IFN5bmNUZXN0Wm9uZVNwZWMgKHpvbmUuanMvcGx1Z2lucy9zeW5jLXRlc3QpJyk7XG4gIH1cbiAgaWYgKFByb3h5Wm9uZVNwZWMgPT09IHVuZGVmaW5lZCkge1xuICAgIHRocm93IG5ldyBFcnJvcignTWlzc2luZzogUHJveHlab25lU3BlYyAoem9uZS5qcy9wbHVnaW5zL3Byb3h5LmpzKScpO1xuICB9XG5cbiAgY29uc3QgZW52ID0gZ2xvYmFsVGhpcyBhcyBhbnk7XG4gIGNvbnN0IGFtYmllbnRab25lID0gWm9uZS5jdXJyZW50O1xuXG4gIC8vIENyZWF0ZSBhIHN5bmNocm9ub3VzLW9ubHkgem9uZSBpbiB3aGljaCB0byBydW4gYGRlc2NyaWJlYCBibG9ja3MgaW4gb3JkZXIgdG9cbiAgLy8gcmFpc2UgYW4gZXJyb3IgaWYgYW55IGFzeW5jaHJvbm91cyBvcGVyYXRpb25zIGFyZSBhdHRlbXB0ZWRcbiAgLy8gaW5zaWRlIG9mIGEgYGRlc2NyaWJlYCBidXQgb3V0c2lkZSBvZiBhIGBiZWZvcmVFYWNoYCBvciBgaXRgLlxuICBjb25zdCBzeW5jWm9uZSA9IGFtYmllbnRab25lLmZvcmsobmV3IFN5bmNUZXN0Wm9uZVNwZWMoJ3ZpdGVzdC5kZXNjcmliZScpKTtcbiAgY29uc3Qgd3JhcERlc2NyaWJlSW5ab25lID0gZnVuY3Rpb24gKGRlc2NyaWJlQm9keTogYW55KSB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uICguLi5hcmdzOiBhbnkpIHtcbiAgICAgIHJldHVybiBzeW5jWm9uZS5ydW4oZGVzY3JpYmVCb2R5LCBudWxsLCBhcmdzKTtcbiAgICB9O1xuICB9O1xuXG4gIC8vIENyZWF0ZSBhIHByb3h5IHpvbmUgaW4gd2hpY2ggdG8gcnVuIGB0ZXN0YCBibG9ja3Mgc28gdGhhdCB0aGUgdGVzdHMgZnVuY3Rpb25cbiAgLy8gY2FuIHJldHJvYWN0aXZlbHkgaW5zdGFsbCBkaWZmZXJlbnQgem9uZXMuXG4gIGNvbnN0IHRlc3RQcm94eVpvbmUgPSBhbWJpZW50Wm9uZS5mb3JrKG5ldyBQcm94eVpvbmVTcGVjKCkpO1xuICBjb25zdCB3cmFwVGVzdEluWm9uZSA9IGZ1bmN0aW9uICh0ZXN0Qm9keTogc3RyaW5nIHwgYW55W10gfCB1bmRlZmluZWQpIHtcbiAgICBpZiAodGVzdEJvZHkgPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHdyYXBwZWRGdW5jID0gZnVuY3Rpb24gKCkge1xuICAgICAgcmV0dXJuIHRlc3RQcm94eVpvbmUucnVuKHRlc3RCb2R5LCBudWxsLCBhcmd1bWVudHMpO1xuICAgIH07XG4gICAgdHJ5IHtcbiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh3cmFwcGVkRnVuYywgJ2xlbmd0aCcsIHtcbiAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsXG4gICAgICB9KTtcbiAgICAgIHdyYXBwZWRGdW5jLmxlbmd0aCA9IHRlc3RCb2R5Lmxlbmd0aDtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICByZXR1cm4gdGVzdEJvZHkubGVuZ3RoID09PSAwXG4gICAgICAgID8gKCkgPT4gdGVzdFByb3h5Wm9uZS5ydW4odGVzdEJvZHksIG51bGwpXG4gICAgICAgIDogKGRvbmU6IGFueSkgPT4gdGVzdFByb3h5Wm9uZS5ydW4odGVzdEJvZHksIG51bGwsIFtkb25lXSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHdyYXBwZWRGdW5jO1xuICB9O1xuXG4gIC8qKlxuICAgKiBiaW5kIGRlc2NyaWJlIG1ldGhvZCB0byB3cmFwIGRlc2NyaWJlLmVhY2ggZnVuY3Rpb25cbiAgICovXG4gIGNvbnN0IGJpbmREZXNjcmliZSA9IChcbiAgICBzZWxmOiBhbnksXG4gICAgb3JpZ2luYWxWaXRlc3RGbjoge1xuICAgICAgYXBwbHk6IChcbiAgICAgICAgYXJnMDogYW55LFxuICAgICAgICBhcmcxOiBhbnlbXSxcbiAgICAgICkgPT4ge1xuICAgICAgICAoKTogYW55O1xuICAgICAgICBuZXcgKCk6IGFueTtcbiAgICAgICAgYXBwbHk6IHsgKGFyZzA6IGFueSwgYXJnMTogYW55W10pOiBhbnk7IG5ldyAoKTogYW55IH07XG4gICAgICB9O1xuICAgIH0sXG4gICkgPT5cbiAgICBmdW5jdGlvbiAoLi4uZWFjaEFyZ3M6IGFueSkge1xuICAgICAgcmV0dXJuIGZ1bmN0aW9uICguLi5hcmdzOiBhbnlbXSkge1xuICAgICAgICBhcmdzWzFdID0gd3JhcERlc2NyaWJlSW5ab25lKGFyZ3NbMV0pO1xuXG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgcmV0dXJuIG9yaWdpbmFsVml0ZXN0Rm4uYXBwbHkoc2VsZiwgZWFjaEFyZ3MpLmFwcGx5KHNlbGYsIGFyZ3MpO1xuICAgICAgfTtcbiAgICB9O1xuXG4gIC8qKlxuICAgKiBiaW5kIHRlc3QgbWV0aG9kIHRvIHdyYXAgdGVzdC5lYWNoIGZ1bmN0aW9uXG4gICAqL1xuICBjb25zdCBiaW5kVGVzdCA9IChcbiAgICBzZWxmOiBhbnksXG4gICAgb3JpZ2luYWxWaXRlc3RGbjoge1xuICAgICAgYXBwbHk6IChcbiAgICAgICAgYXJnMDogYW55LFxuICAgICAgICBhcmcxOiBhbnlbXSxcbiAgICAgICkgPT4ge1xuICAgICAgICAoKTogYW55O1xuICAgICAgICBuZXcgKCk6IGFueTtcbiAgICAgICAgYXBwbHk6IHsgKGFyZzA6IGFueSwgYXJnMTogYW55W10pOiBhbnk7IG5ldyAoKTogYW55IH07XG4gICAgICB9O1xuICAgIH0sXG4gICkgPT5cbiAgICBmdW5jdGlvbiAoLi4uZWFjaEFyZ3M6IGFueSkge1xuICAgICAgcmV0dXJuIGZ1bmN0aW9uICguLi5hcmdzOiBhbnlbXSkge1xuICAgICAgICBhcmdzWzFdID0gd3JhcFRlc3RJblpvbmUoYXJnc1sxXSk7XG5cbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICByZXR1cm4gb3JpZ2luYWxWaXRlc3RGbi5hcHBseShzZWxmLCBlYWNoQXJncykuYXBwbHkoc2VsZiwgYXJncyk7XG4gICAgICB9O1xuICAgIH07XG5cbiAgWydkZXNjcmliZSddLmZvckVhY2goKG1ldGhvZE5hbWUpID0+IHtcbiAgICBjb25zdCBvcmlnaW5hbHZpdGVzdEZuID0gZW52W21ldGhvZE5hbWVdO1xuICAgIGVudlttZXRob2ROYW1lXSA9IGZ1bmN0aW9uICguLi5hcmdzOiBhbnlbXSkge1xuICAgICAgYXJnc1sxXSA9IHdyYXBEZXNjcmliZUluWm9uZShhcmdzWzFdKTtcblxuICAgICAgcmV0dXJuIG9yaWdpbmFsdml0ZXN0Rm4uYXBwbHkodGhpcywgYXJncyk7XG4gICAgfTtcbiAgICBlbnZbbWV0aG9kTmFtZV0uZWFjaCA9IGJpbmREZXNjcmliZShcbiAgICAgIG9yaWdpbmFsdml0ZXN0Rm4sXG4gICAgICBvcmlnaW5hbHZpdGVzdEZuLmVhY2gsXG4gICAgKTtcbiAgICBpZiAobWV0aG9kTmFtZSA9PT0gJ2Rlc2NyaWJlJykge1xuICAgICAgZW52W21ldGhvZE5hbWVdLm9ubHkgPSBiaW5kRGVzY3JpYmUoXG4gICAgICAgIG9yaWdpbmFsdml0ZXN0Rm4sXG4gICAgICAgIG9yaWdpbmFsdml0ZXN0Rm4ub25seSxcbiAgICAgICk7XG4gICAgICBlbnZbbWV0aG9kTmFtZV0uc2tpcCA9IGJpbmREZXNjcmliZShcbiAgICAgICAgb3JpZ2luYWx2aXRlc3RGbixcbiAgICAgICAgb3JpZ2luYWx2aXRlc3RGbi5za2lwLFxuICAgICAgKTtcbiAgICB9XG4gIH0pO1xuXG4gIFsndGVzdCcsICdpdCddLmZvckVhY2goKG1ldGhvZE5hbWUpID0+IHtcbiAgICBjb25zdCBvcmlnaW5hbHZpdGVzdEZuID0gZW52W21ldGhvZE5hbWVdO1xuICAgIGVudlttZXRob2ROYW1lXSA9IGZ1bmN0aW9uICguLi5hcmdzOiBhbnlbXSkge1xuICAgICAgYXJnc1sxXSA9IHdyYXBUZXN0SW5ab25lKGFyZ3NbMV0pO1xuXG4gICAgICByZXR1cm4gb3JpZ2luYWx2aXRlc3RGbi5hcHBseSh0aGlzLCBhcmdzKTtcbiAgICB9O1xuICAgIGVudlttZXRob2ROYW1lXS5lYWNoID0gYmluZFRlc3Qob3JpZ2luYWx2aXRlc3RGbiwgb3JpZ2luYWx2aXRlc3RGbi5lYWNoKTtcbiAgICBlbnZbbWV0aG9kTmFtZV0ub25seSA9IGJpbmRUZXN0KG9yaWdpbmFsdml0ZXN0Rm4sIG9yaWdpbmFsdml0ZXN0Rm4ub25seSk7XG4gICAgZW52W21ldGhvZE5hbWVdLnNraXAgPSBiaW5kVGVzdChvcmlnaW5hbHZpdGVzdEZuLCBvcmlnaW5hbHZpdGVzdEZuLnNraXApO1xuXG4gICAgaWYgKG1ldGhvZE5hbWUgPT09ICd0ZXN0JyB8fCBtZXRob2ROYW1lID09PSAnaXQnKSB7XG4gICAgICBlbnZbbWV0aG9kTmFtZV0udG9kbyA9IGZ1bmN0aW9uICguLi5hcmdzOiBhbnkpIHtcbiAgICAgICAgcmV0dXJuIG9yaWdpbmFsdml0ZXN0Rm4udG9kby5hcHBseSh0aGlzLCBhcmdzKTtcbiAgICAgIH07XG4gICAgfVxuICB9KTtcblxuICBbJ2JlZm9yZUVhY2gnLCAnYWZ0ZXJFYWNoJywgJ2JlZm9yZUFsbCcsICdhZnRlckFsbCddLmZvckVhY2goKG1ldGhvZE5hbWUpID0+IHtcbiAgICBjb25zdCBvcmlnaW5hbHZpdGVzdEZuID0gZW52W21ldGhvZE5hbWVdO1xuXG4gICAgZW52W21ldGhvZE5hbWVdID0gZnVuY3Rpb24gKC4uLmFyZ3M6IGFueVtdKSB7XG4gICAgICBhcmdzWzBdID0gd3JhcFRlc3RJblpvbmUoYXJnc1swXSk7XG5cbiAgICAgIHJldHVybiBvcmlnaW5hbHZpdGVzdEZuLmFwcGx5KHRoaXMsIGFyZ3MpO1xuICAgIH07XG4gIH0pO1xufVxuIl19
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.PLAYWRIGHT = exports.VITEST_BROWSER_PLAYWRIGHT = exports.VITEST_V4 = exports.VITE = exports.VITE_TSCONFIG_PATHS = exports.JSDOM = exports.ANALOG_JS_VITE_PLUGIN_ANGULAR = void 0;
|
|
4
4
|
// Version constants (Angular 20+)
|
|
5
|
-
exports.ANALOG_JS_VITE_PLUGIN_ANGULAR = '^2.7.0
|
|
5
|
+
exports.ANALOG_JS_VITE_PLUGIN_ANGULAR = '^2.7.0';
|
|
6
6
|
exports.JSDOM = '^22.0.0';
|
|
7
7
|
exports.VITE_TSCONFIG_PATHS = '^4.2.0';
|
|
8
8
|
exports.VITE = '^7.0.0';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"versions.js","sourceRoot":"","sources":["../../../../../../../../../packages/vitest-angular-tools/src/schematics/utils/versions.ts"],"names":[],"mappings":";;;AAAA,kCAAkC;AACrB,QAAA,6BAA6B,GAAG,
|
|
1
|
+
{"version":3,"file":"versions.js","sourceRoot":"","sources":["../../../../../../../../../packages/vitest-angular-tools/src/schematics/utils/versions.ts"],"names":[],"mappings":";;;AAAA,kCAAkC;AACrB,QAAA,6BAA6B,GAAG,QAAQ,CAAC;AACzC,QAAA,KAAK,GAAG,SAAS,CAAC;AAClB,QAAA,mBAAmB,GAAG,QAAQ,CAAC;AAC/B,QAAA,IAAI,GAAG,QAAQ,CAAC;AAChB,QAAA,SAAS,GAAG,QAAQ,CAAC;AAElC,4BAA4B;AACf,QAAA,yBAAyB,GAAG,QAAQ,CAAC;AACrC,QAAA,UAAU,GAAG,SAAS,CAAC"}
|