@analogjs/vitest-angular 3.0.0-alpha.2 → 3.0.0-alpha.20
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 +9 -2
- package/_virtual/_@oxc-project_runtime@0.122.0/helpers/decorate.js +9 -0
- package/package.json +9 -8
- package/setup-serializers.d.ts +1 -0
- package/setup-serializers.js +13 -0
- package/setup-serializers.js.map +1 -0
- package/setup-snapshots.d.ts +1 -26
- package/setup-snapshots.js +10 -103
- package/setup-snapshots.js.map +1 -0
- package/setup-testbed.d.ts +12 -5
- package/setup-testbed.js +23 -24
- package/setup-testbed.js.map +1 -0
- package/setup-zone.d.ts +6 -5
- package/setup-zone.js +90 -105
- package/setup-zone.js.map +1 -0
- package/src/index.d.ts +2 -2
- package/src/index.js +3 -4
- package/src/lib/builders/build/devkit.d.ts +2 -2
- package/src/lib/builders/build/devkit.js +23 -17
- package/src/lib/builders/build/devkit.js.map +1 -0
- package/src/lib/builders/build/plugins/angular-memory-plugin.d.ts +13 -20
- package/src/lib/builders/build/plugins/angular-memory-plugin.js +51 -77
- package/src/lib/builders/build/plugins/angular-memory-plugin.js.map +1 -0
- package/src/lib/builders/build/plugins/downlevel-plugin.d.ts +10 -0
- package/src/lib/builders/build/plugins/downlevel-plugin.js +24 -0
- package/src/lib/builders/build/plugins/downlevel-plugin.js.map +1 -0
- package/src/lib/builders/build/schema.js +53 -0
- package/src/lib/builders/build/schema.js.map +1 -0
- package/src/lib/builders/build/schema.json +44 -44
- package/src/lib/builders/build/utils.d.ts +3 -3
- package/src/lib/builders/build/vitest.impl.d.ts +5 -5
- package/src/lib/builders/build/vitest.impl.js +154 -190
- package/src/lib/builders/build/vitest.impl.js.map +1 -0
- package/src/lib/builders/test/schema.js +51 -0
- package/src/lib/builders/test/schema.js.map +1 -0
- package/src/lib/builders/test/schema.json +44 -44
- package/src/lib/builders/test/vitest.impl.d.ts +1 -1
- package/src/lib/builders/test/vitest.impl.js +48 -58
- package/src/lib/builders/test/vitest.impl.js.map +1 -0
- package/src/lib/snapshot-serializers/angular-fixture.d.ts +2 -0
- package/src/lib/snapshot-serializers/angular-fixture.js +68 -0
- package/src/lib/snapshot-serializers/angular-fixture.js.map +1 -0
- package/src/lib/snapshot-serializers/html-comment.d.ts +2 -0
- package/src/lib/snapshot-serializers/html-comment.js +11 -0
- package/src/lib/snapshot-serializers/html-comment.js.map +1 -0
- package/src/lib/snapshot-serializers/index.d.ts +3 -0
- package/src/lib/snapshot-serializers/no-ng-attributes.d.ts +4 -0
- package/src/lib/snapshot-serializers/no-ng-attributes.js +62 -0
- package/src/lib/snapshot-serializers/no-ng-attributes.js.map +1 -0
- package/src/lib/tools/collection.json +2 -2
- package/src/lib/tools/index.d.ts +1 -0
- package/src/lib/tools/index.js +3 -0
- package/src/lib/tools/package.json +1 -5
- package/src/lib/tools/{src/schematics → schematics}/setup/files/src/test-setup.ts.template +1 -0
- package/src/lib/tools/schematics/setup/index.d.ts +3 -0
- package/src/lib/tools/schematics/setup/index.js +55 -0
- package/src/lib/tools/schematics/setup/index.js.map +1 -0
- package/src/lib/tools/schematics/utils/angular.d.ts +3 -0
- package/src/lib/tools/schematics/utils/angular.js +21 -0
- package/src/lib/tools/schematics/utils/angular.js.map +1 -0
- package/src/lib/tools/schematics/utils/dependencies.d.ts +6 -0
- package/src/lib/tools/schematics/utils/dependencies.js +39 -0
- package/src/lib/tools/schematics/utils/dependencies.js.map +1 -0
- package/src/lib/tools/schematics/utils/index.d.ts +4 -0
- package/src/lib/tools/schematics/utils/index.js +4 -0
- package/src/lib/tools/schematics/utils/versions.d.ts +7 -0
- package/src/lib/tools/schematics/utils/versions.js +18 -0
- package/src/lib/tools/schematics/utils/versions.js.map +1 -0
- package/src/lib/tools/schematics/utils/workspace.d.ts +15 -0
- package/src/lib/tools/schematics/utils/workspace.js +21 -0
- package/src/lib/tools/schematics/utils/workspace.js.map +1 -0
- package/src/lib/tools/src/index.d.ts +1 -1
- package/src/lib/tools/src/schematics/setup/index.d.ts +2 -2
- package/src/lib/tools/src/schematics/utils/angular.d.ts +1 -1
- package/src/lib/tools/src/schematics/utils/dependencies.d.ts +2 -2
- package/src/lib/tools/src/schematics/utils/index.d.ts +4 -4
- package/src/lib/tools/src/schematics/utils/versions.d.ts +1 -1
- package/src/lib/tools/src/schematics/utils/workspace.d.ts +8 -8
- package/src/lib/tools/src/test-global-setup.d.ts +1 -0
- package/src/test-setup.d.ts +3 -0
- package/src/lib/builders/build/plugins/esbuild-downlevel-plugin.d.ts +0 -7
- package/src/lib/builders/build/plugins/esbuild-downlevel-plugin.js +0 -23
- package/src/lib/builders/build/utils.js +0 -1
- package/src/lib/tools/src/index.js +0 -6
- package/src/lib/tools/src/index.js.map +0 -1
- package/src/lib/tools/src/schematics/setup/index.js +0 -80
- package/src/lib/tools/src/schematics/setup/index.js.map +0 -1
- package/src/lib/tools/src/schematics/utils/angular.js +0 -27
- package/src/lib/tools/src/schematics/utils/angular.js.map +0 -1
- package/src/lib/tools/src/schematics/utils/dependencies.js +0 -49
- package/src/lib/tools/src/schematics/utils/dependencies.js.map +0 -1
- package/src/lib/tools/src/schematics/utils/index.js +0 -8
- package/src/lib/tools/src/schematics/utils/index.js.map +0 -1
- package/src/lib/tools/src/schematics/utils/versions.js +0 -13
- package/src/lib/tools/src/schematics/utils/versions.js.map +0 -1
- package/src/lib/tools/src/schematics/utils/workspace.js +0 -24
- package/src/lib/tools/src/schematics/utils/workspace.js.map +0 -1
- /package/src/lib/tools/{src/schematics → schematics}/jsonc-parser.d.ts +0 -0
- /package/src/lib/tools/{src/schematics → schematics}/semver.d.ts +0 -0
- /package/src/lib/tools/{src/schematics → schematics}/setup/files/vite.config.mts.template +0 -0
- /package/src/lib/tools/{src/schematics → schematics}/setup/schema.d.ts +0 -0
- /package/src/lib/tools/{src/schematics → schematics}/setup/schema.json +0 -0
package/README.md
CHANGED
|
@@ -101,6 +101,7 @@ Use the following setup:
|
|
|
101
101
|
```ts
|
|
102
102
|
import '@angular/compiler';
|
|
103
103
|
import '@analogjs/vitest-angular/setup-snapshots';
|
|
104
|
+
import '@analogjs/vitest-angular/setup-serializers';
|
|
104
105
|
import { setupTestBed } from '@analogjs/vitest-angular/setup-testbed';
|
|
105
106
|
|
|
106
107
|
setupTestBed();
|
|
@@ -126,7 +127,7 @@ The `setupTestBed()` function accepts an optional configuration object with the
|
|
|
126
127
|
|
|
127
128
|
- `zoneless` (boolean): Whether to use zoneless change detection (default: `true`)
|
|
128
129
|
- `providers` (`Type<any>[]`): Additional providers to include in the test environment (default: `[]`)
|
|
129
|
-
- `
|
|
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`)
|
|
130
131
|
|
|
131
132
|
**Example with options:**
|
|
132
133
|
|
|
@@ -134,7 +135,7 @@ The `setupTestBed()` function accepts an optional configuration object with the
|
|
|
134
135
|
setupTestBed({
|
|
135
136
|
zoneless: true,
|
|
136
137
|
providers: [],
|
|
137
|
-
|
|
138
|
+
teardown: { destroyAfterEach: false },
|
|
138
139
|
});
|
|
139
140
|
```
|
|
140
141
|
|
|
@@ -194,6 +195,12 @@ pnpm test
|
|
|
194
195
|
## Snapshot Testing
|
|
195
196
|
|
|
196
197
|
For snapshot testing you can use `toMatchSnapshot` from `expect` API.
|
|
198
|
+
The provided snapshot setup also removes Angular-specific `_ng*` attributes and `<!--container-->` comments from DOM snapshots, which keeps diffs focused on the actual template output.
|
|
199
|
+
|
|
200
|
+
The import of `setup-snapshots` and `setup-serializers` are complementary:
|
|
201
|
+
|
|
202
|
+
- Use `setup-snapshots` to serialize Angular fixtures and component refs so Vitest snapshots print component markup instead of Angular testing internals.
|
|
203
|
+
- Use `setup-serializers` to clean DOM snapshots by removing Angular runtime noise such as `_ngcontent-*`, `_nghost-*`, `ng-reflect-*`, generated ids and classes, and removes comments from DOM snapshots (e.g. `<!--container-->`).
|
|
197
204
|
|
|
198
205
|
Below is a small example of how to write a snapshot test:
|
|
199
206
|
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
//#region \0@oxc-project+runtime@0.122.0/helpers/decorate.js
|
|
2
|
+
function __decorate(decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
}
|
|
8
|
+
//#endregion
|
|
9
|
+
export { __decorate };
|
package/package.json
CHANGED
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@analogjs/vitest-angular",
|
|
3
|
-
"version": "3.0.0-alpha.
|
|
3
|
+
"version": "3.0.0-alpha.20",
|
|
4
4
|
"description": "Vitest Builder for Angular",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"author": "Brandon Roberts <robertsbt@gmail.com>",
|
|
7
7
|
"exports": {
|
|
8
8
|
".": "./src/index.js",
|
|
9
|
-
"./package.json": "./package.json",
|
|
10
9
|
"./setup-zone": "./setup-zone.js",
|
|
11
10
|
"./setup-snapshots": "./setup-snapshots.js",
|
|
12
|
-
"./setup-
|
|
11
|
+
"./setup-serializers": "./setup-serializers.js",
|
|
12
|
+
"./setup-testbed": "./setup-testbed.js",
|
|
13
|
+
"./package.json": "./package.json"
|
|
13
14
|
},
|
|
14
15
|
"keywords": [
|
|
15
16
|
"angular",
|
|
@@ -35,6 +36,9 @@
|
|
|
35
36
|
"ng-add": {
|
|
36
37
|
"save": "devDependencies"
|
|
37
38
|
},
|
|
39
|
+
"dependencies": {
|
|
40
|
+
"oxc-transform": "^0.121.0"
|
|
41
|
+
},
|
|
38
42
|
"peerDependencies": {
|
|
39
43
|
"@analogjs/vite-plugin-angular": "*",
|
|
40
44
|
"@angular-devkit/architect": ">=0.1500.0 < 0.2200.0",
|
|
@@ -61,8 +65,5 @@
|
|
|
61
65
|
"publishConfig": {
|
|
62
66
|
"access": "public",
|
|
63
67
|
"provenance": true
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
"module": "./src/index.js",
|
|
67
|
-
"main": "./src/index.js"
|
|
68
|
-
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { createHtmlCommentSnapshotSerializer } from "./src/lib/snapshot-serializers/html-comment.js";
|
|
2
|
+
import { createNoNgAttributesSnapshotSerializer } from "./src/lib/snapshot-serializers/no-ng-attributes.js";
|
|
3
|
+
//#region packages/vitest-angular/setup-serializers.ts
|
|
4
|
+
var env = globalThis;
|
|
5
|
+
["expect"].forEach((methodName) => {
|
|
6
|
+
const originalVitestFn = env[methodName];
|
|
7
|
+
if (!originalVitestFn) return;
|
|
8
|
+
originalVitestFn.addSnapshotSerializer(createHtmlCommentSnapshotSerializer());
|
|
9
|
+
originalVitestFn.addSnapshotSerializer(createNoNgAttributesSnapshotSerializer());
|
|
10
|
+
});
|
|
11
|
+
//#endregion
|
|
12
|
+
|
|
13
|
+
//# sourceMappingURL=setup-serializers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup-serializers.js","names":[],"sources":["../setup-serializers.ts"],"sourcesContent":["import {\n createHtmlCommentSnapshotSerializer,\n createNoNgAttributesSnapshotSerializer,\n} from './snapshot-serializers.js';\n\nconst env = globalThis as any;\n\n['expect'].forEach((methodName) => {\n const originalVitestFn = env[methodName];\n if (!originalVitestFn) {\n return;\n }\n originalVitestFn.addSnapshotSerializer(createHtmlCommentSnapshotSerializer());\n originalVitestFn.addSnapshotSerializer(\n createNoNgAttributesSnapshotSerializer(),\n );\n});\n"],"mappings":";;;AAKA,IAAM,MAAM;AAEZ,CAAC,SAAS,CAAC,SAAS,eAAe;CACjC,MAAM,mBAAmB,IAAI;AAC7B,KAAI,CAAC,iBACH;AAEF,kBAAiB,sBAAsB,qCAAqC,CAAC;AAC7E,kBAAiB,sBACf,wCAAwC,CACzC;EACD"}
|
package/setup-snapshots.d.ts
CHANGED
|
@@ -1,26 +1 @@
|
|
|
1
|
-
|
|
2
|
-
/**
|
|
3
|
-
* Allows Vitest to handle Angular test fixtures
|
|
4
|
-
*
|
|
5
|
-
* Vitest Snapshot guide ==> https://vitest.dev/guide/snapshot.html
|
|
6
|
-
*
|
|
7
|
-
* @returns customSnapshotSerializer for Angular Fixture Component
|
|
8
|
-
*/
|
|
9
|
-
declare const customSnapshotSerializer: () => {
|
|
10
|
-
serialize: (val: any, config: any, indentation: any, depth: any, refs: any, printer: any) => string;
|
|
11
|
-
test: (val: any) => boolean;
|
|
12
|
-
};
|
|
13
|
-
/**
|
|
14
|
-
* Check if is an Angular fixture
|
|
15
|
-
*
|
|
16
|
-
* @param val Angular fixture
|
|
17
|
-
* @returns boolean who check if is an angular fixture
|
|
18
|
-
*/
|
|
19
|
-
declare function isAngularFixture(val: any): boolean;
|
|
20
|
-
/**
|
|
21
|
-
* Serialize Angular fixture for Vitest
|
|
22
|
-
*
|
|
23
|
-
* @param fixture Angular Fixture Component
|
|
24
|
-
* @returns HTML Child Node
|
|
25
|
-
*/
|
|
26
|
-
declare function fixtureVitestSerializer(fixture: any): ChildNode;
|
|
1
|
+
export {};
|
package/setup-snapshots.js
CHANGED
|
@@ -1,104 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
* @returns customSnapshotSerializer for Angular Fixture Component
|
|
9
|
-
*/
|
|
10
|
-
const customSnapshotSerializer = () => {
|
|
11
|
-
function serialize(val, config, indentation, depth, refs, printer) {
|
|
12
|
-
// `printer` is a function that serializes a value using existing plugins.
|
|
13
|
-
return `${printer(fixtureVitestSerializer(val), config, indentation, depth, refs)}`;
|
|
14
|
-
}
|
|
15
|
-
function test(val) {
|
|
16
|
-
// * If it's a ComponentFixture we apply the transformation rules
|
|
17
|
-
return val && isAngularFixture(val);
|
|
18
|
-
}
|
|
19
|
-
return {
|
|
20
|
-
serialize,
|
|
21
|
-
test,
|
|
22
|
-
};
|
|
23
|
-
};
|
|
24
|
-
/**
|
|
25
|
-
* Check if is an Angular fixture
|
|
26
|
-
*
|
|
27
|
-
* @param val Angular fixture
|
|
28
|
-
* @returns boolean who check if is an angular fixture
|
|
29
|
-
*/
|
|
30
|
-
function isAngularFixture(val) {
|
|
31
|
-
if (typeof val !== 'object') {
|
|
32
|
-
return false;
|
|
33
|
-
}
|
|
34
|
-
if (val['componentRef'] || val['componentInstance']) {
|
|
35
|
-
return true;
|
|
36
|
-
}
|
|
37
|
-
if (val['componentType']) {
|
|
38
|
-
return true;
|
|
39
|
-
}
|
|
40
|
-
// * Angular fixture keys in Fixture component Object
|
|
41
|
-
const fixtureKeys = [
|
|
42
|
-
'componentRef',
|
|
43
|
-
'ngZone',
|
|
44
|
-
'effectRunner',
|
|
45
|
-
'_autoDetect',
|
|
46
|
-
'_isStable',
|
|
47
|
-
'_isDestroyed',
|
|
48
|
-
'_resolve',
|
|
49
|
-
'_promise',
|
|
50
|
-
'_onUnstableSubscription',
|
|
51
|
-
'_onStableSubscription',
|
|
52
|
-
'_onMicrotaskEmptySubscription',
|
|
53
|
-
'_onErrorSubscription',
|
|
54
|
-
'changeDetectorRef',
|
|
55
|
-
'elementRef',
|
|
56
|
-
'debugElement',
|
|
57
|
-
'componentInstance',
|
|
58
|
-
'nativeElement',
|
|
59
|
-
];
|
|
60
|
-
// * Angular fixture keys in Fixture componentRef Object
|
|
61
|
-
const fixtureComponentRefKeys = [
|
|
62
|
-
'location',
|
|
63
|
-
'_rootLView',
|
|
64
|
-
'_tNode',
|
|
65
|
-
'previousInputValues',
|
|
66
|
-
'instance',
|
|
67
|
-
'changeDetectorRef',
|
|
68
|
-
'hostView',
|
|
69
|
-
'componentType',
|
|
70
|
-
];
|
|
71
|
-
return (JSON.stringify(Object.keys(val)) === JSON.stringify(fixtureKeys) ||
|
|
72
|
-
JSON.stringify(Object.keys(val)) === JSON.stringify(fixtureComponentRefKeys));
|
|
73
|
-
}
|
|
74
|
-
/**
|
|
75
|
-
* Serialize Angular fixture for Vitest
|
|
76
|
-
*
|
|
77
|
-
* @param fixture Angular Fixture Component
|
|
78
|
-
* @returns HTML Child Node
|
|
79
|
-
*/
|
|
80
|
-
function fixtureVitestSerializer(fixture) {
|
|
81
|
-
// * Get Component meta data
|
|
82
|
-
const componentType = (fixture && fixture.componentType
|
|
83
|
-
? fixture.componentType
|
|
84
|
-
: fixture.componentRef.componentType);
|
|
85
|
-
let inputsData = '';
|
|
86
|
-
const selector = Reflect.getOwnPropertyDescriptor(componentType, '__annotations__')?.value[0].selector;
|
|
87
|
-
if (componentType && componentType.propDecorators) {
|
|
88
|
-
inputsData = Object.entries(componentType.propDecorators)
|
|
89
|
-
.map(([key, value]) => `${key}="${value}"`)
|
|
90
|
-
.join('');
|
|
91
|
-
}
|
|
92
|
-
// * Get DOM Elements
|
|
93
|
-
const divElement = fixture && fixture.nativeElement
|
|
94
|
-
? fixture.nativeElement
|
|
95
|
-
: fixture.location.nativeElement;
|
|
96
|
-
// * Convert string data to HTML data
|
|
97
|
-
const doc = new DOMParser().parseFromString(`<${selector} ${inputsData}>${divElement.innerHTML}</${selector}>`, 'text/html');
|
|
98
|
-
return doc.body.childNodes[0];
|
|
99
|
-
}
|
|
100
|
-
['expect'].forEach((methodName) => {
|
|
101
|
-
const originalvitestFn = env[methodName];
|
|
102
|
-
return originalvitestFn.addSnapshotSerializer(customSnapshotSerializer());
|
|
1
|
+
import { createAngularFixtureSnapshotSerializer } from "./src/lib/snapshot-serializers/angular-fixture.js";
|
|
2
|
+
//#region packages/vitest-angular/setup-snapshots.ts
|
|
3
|
+
var env = globalThis;
|
|
4
|
+
["expect"].forEach((methodName) => {
|
|
5
|
+
const originalVitestFn = env[methodName];
|
|
6
|
+
if (!originalVitestFn) return;
|
|
7
|
+
originalVitestFn.addSnapshotSerializer(createAngularFixtureSnapshotSerializer());
|
|
103
8
|
});
|
|
104
|
-
//#
|
|
9
|
+
//#endregion
|
|
10
|
+
|
|
11
|
+
//# sourceMappingURL=setup-snapshots.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup-snapshots.js","names":[],"sources":["../setup-snapshots.ts"],"sourcesContent":["import { createAngularFixtureSnapshotSerializer } from './snapshot-serializers.js';\n\nconst env = globalThis as any;\n\n['expect'].forEach((methodName) => {\n const originalVitestFn = env[methodName];\n if (!originalVitestFn) {\n return;\n }\n originalVitestFn.addSnapshotSerializer(\n createAngularFixtureSnapshotSerializer(),\n );\n});\n"],"mappings":";;AAEA,IAAM,MAAM;AAEZ,CAAC,SAAS,CAAC,SAAS,eAAe;CACjC,MAAM,mBAAmB,IAAI;AAC7B,KAAI,CAAC,iBACH;AAEF,kBAAiB,sBACf,wCAAwC,CACzC;EACD"}
|
package/setup-testbed.d.ts
CHANGED
|
@@ -1,8 +1,15 @@
|
|
|
1
|
-
import { Provider } from
|
|
1
|
+
import { EnvironmentProviders, Provider } from "@angular/core";
|
|
2
2
|
type TestBedSetupOptions = {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
zoneless?: boolean;
|
|
4
|
+
providers?: (Provider | EnvironmentProviders)[];
|
|
5
|
+
/**
|
|
6
|
+
* @deprecated Use `teardown.destroyAfterEach` instead.
|
|
7
|
+
* @sunset 3.0.0
|
|
8
|
+
*/
|
|
9
|
+
browserMode?: boolean;
|
|
10
|
+
teardown?: {
|
|
11
|
+
destroyAfterEach: boolean;
|
|
12
|
+
};
|
|
6
13
|
};
|
|
7
|
-
export declare function setupTestBed({ zoneless, providers, browserMode, }?: TestBedSetupOptions): void;
|
|
14
|
+
export declare function setupTestBed({ zoneless, providers, browserMode, teardown }?: TestBedSetupOptions): void;
|
|
8
15
|
export {};
|
package/setup-testbed.js
CHANGED
|
@@ -1,25 +1,24 @@
|
|
|
1
|
-
import { __decorate } from "
|
|
2
|
-
import { NgModule, provideZonelessChangeDetection
|
|
3
|
-
import {
|
|
4
|
-
import { BrowserTestingModule, platformBrowserTesting
|
|
5
|
-
import { afterEach, beforeEach } from
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
})
|
|
21
|
-
], TestModule);
|
|
22
|
-
getTestBed().initTestEnvironment([BrowserTestingModule, TestModule], platformBrowserTesting(), browserMode ? { teardown: { destroyAfterEach: false } } : undefined);
|
|
23
|
-
}
|
|
1
|
+
import { __decorate } from "./_virtual/_@oxc-project_runtime@0.122.0/helpers/decorate.js";
|
|
2
|
+
import { NgModule, provideZonelessChangeDetection } from "@angular/core";
|
|
3
|
+
import { getTestBed, ɵgetCleanupHook } from "@angular/core/testing";
|
|
4
|
+
import { BrowserTestingModule, platformBrowserTesting } from "@angular/platform-browser/testing";
|
|
5
|
+
import { afterEach, beforeEach } from "vitest";
|
|
6
|
+
//#region packages/vitest-angular/setup-testbed.ts
|
|
7
|
+
var ANGULAR_TESTBED_SETUP = Symbol.for("testbed-setup");
|
|
8
|
+
function setupTestBed({ zoneless = true, providers = [], browserMode = false, teardown } = {}) {
|
|
9
|
+
beforeEach(ɵgetCleanupHook(false));
|
|
10
|
+
afterEach(ɵgetCleanupHook(true));
|
|
11
|
+
if (!globalThis[ANGULAR_TESTBED_SETUP]) {
|
|
12
|
+
globalThis[ANGULAR_TESTBED_SETUP] = true;
|
|
13
|
+
let TestModule = class TestModule {};
|
|
14
|
+
TestModule = __decorate([NgModule({ providers: [...zoneless ? [provideZonelessChangeDetection()] : [], ...providers] })], TestModule);
|
|
15
|
+
getTestBed().initTestEnvironment([BrowserTestingModule, TestModule], platformBrowserTesting(), { teardown: {
|
|
16
|
+
destroyAfterEach: !browserMode,
|
|
17
|
+
...teardown
|
|
18
|
+
} });
|
|
19
|
+
}
|
|
24
20
|
}
|
|
25
|
-
//#
|
|
21
|
+
//#endregion
|
|
22
|
+
export { setupTestBed };
|
|
23
|
+
|
|
24
|
+
//# sourceMappingURL=setup-testbed.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup-testbed.js","names":[],"sources":["../setup-testbed.ts"],"sourcesContent":["import {\n EnvironmentProviders,\n NgModule,\n Provider,\n provideZonelessChangeDetection,\n} from '@angular/core';\nimport {\n ɵgetCleanupHook as getCleanupHook,\n getTestBed,\n} from '@angular/core/testing';\nimport {\n BrowserTestingModule,\n platformBrowserTesting,\n} from '@angular/platform-browser/testing';\nimport { afterEach, beforeEach } from 'vitest';\n\nconst ANGULAR_TESTBED_SETUP = Symbol.for('testbed-setup');\n\ntype TestBedSetupOptions = {\n zoneless?: boolean;\n providers?: (Provider | EnvironmentProviders)[];\n /**\n * @deprecated Use `teardown.destroyAfterEach` instead.\n * @sunset 3.0.0\n */\n browserMode?: boolean;\n teardown?: {\n destroyAfterEach: boolean;\n };\n};\n\nexport function setupTestBed({\n zoneless = true,\n providers = [],\n browserMode = false,\n teardown,\n}: TestBedSetupOptions = {}): void {\n beforeEach(getCleanupHook(false));\n afterEach(getCleanupHook(true));\n\n if (!(globalThis as any)[ANGULAR_TESTBED_SETUP]) {\n (globalThis as any)[ANGULAR_TESTBED_SETUP] = true;\n\n @NgModule({\n providers: [\n ...(zoneless ? [provideZonelessChangeDetection()] : []),\n ...providers,\n ],\n })\n class TestModule {}\n\n getTestBed().initTestEnvironment(\n [BrowserTestingModule, TestModule],\n platformBrowserTesting(),\n {\n teardown: {\n ...{ destroyAfterEach: !browserMode },\n ...teardown,\n },\n },\n );\n }\n}\n"],"mappings":";;;;;;AAgBA,IAAM,wBAAwB,OAAO,IAAI,gBAAgB;AAezD,SAAgB,aAAa,EAC3B,WAAW,MACX,YAAY,EAAE,EACd,cAAc,OACd,aACuB,EAAE,EAAQ;AACjC,YAAW,gBAAe,MAAM,CAAC;AACjC,WAAU,gBAAe,KAAK,CAAC;AAE/B,KAAI,CAAE,WAAmB,wBAAwB;AAC9C,aAAmB,yBAAyB;EAE7C,IAAA,aAAA,MAMM,WAAW;2BANhB,SAAS,EACR,WAAW,CACT,GAAI,WAAW,CAAC,gCAAgC,CAAC,GAAG,EAAE,EACtD,GAAG,UACJ,EACF,CAAC,CAAA,EAAA,WAAA;AAGF,cAAY,CAAC,oBACX,CAAC,sBAAsB,WAAW,EAClC,wBAAwB,EACxB,EACE,UAAU;GACH,kBAAkB,CAAC;GACxB,GAAG;GACJ,EACF,CACF"}
|
package/setup-zone.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
1
|
+
import "zone.js";
|
|
2
|
+
import "zone.js/plugins/sync-test";
|
|
3
|
+
import "zone.js/plugins/proxy";
|
|
4
|
+
import "zone.js/testing";
|
|
5
|
+
import "./setup-snapshots.js";
|
|
6
|
+
export {};
|
package/setup-zone.js
CHANGED
|
@@ -1,117 +1,102 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
1
|
+
import "./setup-snapshots.js";
|
|
2
|
+
import "zone.js";
|
|
3
|
+
import "zone.js/plugins/sync-test";
|
|
4
|
+
import "zone.js/plugins/proxy";
|
|
5
|
+
import "zone.js/testing";
|
|
6
|
+
//#region packages/vitest-angular/setup-zone.ts
|
|
6
7
|
/**
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
if (
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
if (SyncTestZoneSpec === undefined) {
|
|
22
|
-
throw new Error('Missing: SyncTestZoneSpec (zone.js/plugins/sync-test)');
|
|
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'));
|
|
8
|
+
* Patch Vitest's describe/test/beforeEach/afterEach functions so test code
|
|
9
|
+
* always runs in a testZone (ProxyZone).
|
|
10
|
+
*/
|
|
11
|
+
var Zone = globalThis["Zone"];
|
|
12
|
+
if (Zone === void 0) throw new Error("Missing: Zone (zone.js)");
|
|
13
|
+
if (globalThis["__vitest_zone_patch__"] === true) throw new Error("'vitest' has already been patched with 'Zone'.");
|
|
14
|
+
globalThis["__vitest_zone_patch__"] = true;
|
|
15
|
+
var SyncTestZoneSpec = Zone["SyncTestZoneSpec"];
|
|
16
|
+
var ProxyZoneSpec = Zone["ProxyZoneSpec"];
|
|
17
|
+
if (SyncTestZoneSpec === void 0) throw new Error("Missing: SyncTestZoneSpec (zone.js/plugins/sync-test)");
|
|
18
|
+
if (ProxyZoneSpec === void 0) throw new Error("Missing: ProxyZoneSpec (zone.js/plugins/proxy.js)");
|
|
19
|
+
var env = globalThis;
|
|
20
|
+
var ambientZone = Zone.current;
|
|
21
|
+
var syncZone = ambientZone.fork(new SyncTestZoneSpec("vitest.describe"));
|
|
33
22
|
function wrapDescribeInZone(describeBody) {
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
23
|
+
return function(...args) {
|
|
24
|
+
return syncZone.run(describeBody, null, args);
|
|
25
|
+
};
|
|
37
26
|
}
|
|
38
|
-
|
|
39
|
-
// can retroactively install different zones.
|
|
40
|
-
const testProxyZone = ambientZone.fork(new ProxyZoneSpec());
|
|
27
|
+
var testProxyZone = ambientZone.fork(new ProxyZoneSpec());
|
|
41
28
|
function wrapTestInZone(testBody) {
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
return testBody.length === 0
|
|
58
|
-
? () => testProxyZone.run(testBody, null)
|
|
59
|
-
: (done) => testProxyZone.run(testBody, null, [done]);
|
|
60
|
-
}
|
|
61
|
-
return wrappedFunc;
|
|
29
|
+
if (testBody === void 0) return;
|
|
30
|
+
const wrappedFunc = function(...args) {
|
|
31
|
+
return testProxyZone.run(testBody, null, args);
|
|
32
|
+
};
|
|
33
|
+
try {
|
|
34
|
+
Object.defineProperty(wrappedFunc, "length", {
|
|
35
|
+
configurable: true,
|
|
36
|
+
writable: true,
|
|
37
|
+
enumerable: false
|
|
38
|
+
});
|
|
39
|
+
wrappedFunc.length = testBody.length;
|
|
40
|
+
} catch (e) {
|
|
41
|
+
return testBody.length === 0 ? () => testProxyZone.run(testBody, null) : (done) => testProxyZone.run(testBody, null, [done]);
|
|
42
|
+
}
|
|
43
|
+
return wrappedFunc;
|
|
62
44
|
}
|
|
63
45
|
/**
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
};
|
|
46
|
+
* bind describe method to wrap describe.each function
|
|
47
|
+
*/
|
|
48
|
+
var bindDescribe = (self, originalVitestFn) => function(...eachArgs) {
|
|
49
|
+
return function(...args) {
|
|
50
|
+
args[1] = wrapDescribeInZone(args[1]);
|
|
51
|
+
return originalVitestFn.apply(self, eachArgs).apply(self, args);
|
|
52
|
+
};
|
|
72
53
|
};
|
|
73
54
|
/**
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
};
|
|
55
|
+
* bind test method to wrap test.each function
|
|
56
|
+
*/
|
|
57
|
+
var bindTest = (self, originalVitestFn) => function(...eachArgs) {
|
|
58
|
+
return function(...args) {
|
|
59
|
+
args[1] = wrapTestInZone(args[1]);
|
|
60
|
+
return originalVitestFn.apply(self, eachArgs).apply(self, args);
|
|
61
|
+
};
|
|
82
62
|
};
|
|
83
|
-
[
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
63
|
+
["describe"].forEach((methodName) => {
|
|
64
|
+
const originalvitestFn = env[methodName];
|
|
65
|
+
env[methodName] = function(...args) {
|
|
66
|
+
args[1] = wrapDescribeInZone(args[1]);
|
|
67
|
+
return originalvitestFn.apply(this, args);
|
|
68
|
+
};
|
|
69
|
+
env[methodName].each = bindDescribe(originalvitestFn, originalvitestFn.each);
|
|
70
|
+
if (methodName === "describe") {
|
|
71
|
+
env[methodName].only = bindDescribe(originalvitestFn, originalvitestFn.only);
|
|
72
|
+
env[methodName].skip = bindDescribe(originalvitestFn, originalvitestFn.skip);
|
|
73
|
+
}
|
|
94
74
|
});
|
|
95
|
-
[
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
};
|
|
108
|
-
}
|
|
75
|
+
["test", "it"].forEach((methodName) => {
|
|
76
|
+
const originalvitestFn = env[methodName];
|
|
77
|
+
env[methodName] = function(...args) {
|
|
78
|
+
args[1] = wrapTestInZone(args[1]);
|
|
79
|
+
return originalvitestFn.apply(this, args);
|
|
80
|
+
};
|
|
81
|
+
env[methodName].each = bindTest(originalvitestFn, originalvitestFn.each);
|
|
82
|
+
env[methodName].only = bindTest(originalvitestFn, originalvitestFn.only);
|
|
83
|
+
env[methodName].skip = bindTest(originalvitestFn, originalvitestFn.skip);
|
|
84
|
+
if (methodName === "test" || methodName === "it") env[methodName].todo = function(...args) {
|
|
85
|
+
return originalvitestFn.todo.apply(this, args);
|
|
86
|
+
};
|
|
109
87
|
});
|
|
110
|
-
[
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
88
|
+
[
|
|
89
|
+
"beforeEach",
|
|
90
|
+
"afterEach",
|
|
91
|
+
"beforeAll",
|
|
92
|
+
"afterAll"
|
|
93
|
+
].forEach((methodName) => {
|
|
94
|
+
const originalvitestFn = env[methodName];
|
|
95
|
+
env[methodName] = function(...args) {
|
|
96
|
+
args[0] = wrapTestInZone(args[0]);
|
|
97
|
+
return originalvitestFn.apply(this, args);
|
|
98
|
+
};
|
|
116
99
|
});
|
|
117
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dXAtem9uZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BhY2thZ2VzL3ZpdGVzdC1hbmd1bGFyL3NldHVwLXpvbmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxTQUFTLENBQUM7QUFDakIsT0FBTywyQkFBMkIsQ0FBQztBQUNuQyxPQUFPLHVCQUF1QixDQUFDO0FBQy9CLE9BQU8saUJBQWlCLENBQUM7QUFFekIsT0FBTyxzQkFBc0IsQ0FBQztBQUM5Qjs7O0dBR0c7QUFDSCxpQkFBaUI7QUFDakIsTUFBTSxJQUFJLEdBQUksVUFBa0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUV6QyxJQUFJLElBQUksS0FBSyxTQUFTLEVBQUUsQ0FBQztJQUN2QixNQUFNLElBQUksS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUM7QUFDN0MsQ0FBQztBQUVELElBQUssVUFBa0IsQ0FBQyx1QkFBdUIsQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO0lBQzFELE1BQU0sSUFBSSxLQUFLLENBQUMsZ0RBQWdELENBQUMsQ0FBQztBQUNwRSxDQUFDO0FBRUEsVUFBa0IsQ0FBQyx1QkFBdUIsQ0FBQyxHQUFHLElBQUksQ0FBQztBQUNwRCxNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0FBQ2xELE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztBQUU1QyxJQUFJLGdCQUFnQixLQUFLLFNBQVMsRUFBRSxDQUFDO0lBQ25DLE1BQU0sSUFBSSxLQUFLLENBQUMsdURBQXVELENBQUMsQ0FBQztBQUMzRSxDQUFDO0FBQ0QsSUFBSSxhQUFhLEtBQUssU0FBUyxFQUFFLENBQUM7SUFDaEMsTUFBTSxJQUFJLEtBQUssQ0FBQyxtREFBbUQsQ0FBQyxDQUFDO0FBQ3ZFLENBQUM7QUFFRCxNQUFNLEdBQUcsR0FBRyxVQUFpQixDQUFDO0FBQzlCLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxP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QUFVLENBQUMsQ0FBQyxJQUFJLEdBQUcsUUFBUSxDQUFDLGdCQUFnQixFQUFFLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3pFLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxJQUFJLEdBQUcsUUFBUSxDQUFDLGdCQUFnQixFQUFFLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBRXpFLElBQUksVUFBVSxLQUFLLE1BQU0sSUFBSSxVQUFVLEtBQUssSUFBSSxFQUFFLENBQUM7UUFDakQsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUksR0FBRyxVQUFVLEdBQUcsSUFBUztZQUMzQyxPQUFPLGdCQUFnQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ2pELENBQUMsQ0FBQztJQUNKLENBQUM7QUFDSCxDQUFDLENBQUMsQ0FBQztBQUVILENBQUMsWUFBWSxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsVUFBVSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUU7SUFDMUUsTUFBTSxnQkFBZ0IsR0FBRyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7SUFFekMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxHQUFHLFVBQVUsR0FBRyxJQUFXO1FBQ3hDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFbEMsT0FBTyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzVDLENBQUMsQ0FBQztBQUNKLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICd6b25lLmpzJztcbmltcG9ydCAnem9uZS5qcy9wbHVnaW5zL3N5bmMtdGVzdCc7XG5pbXBvcnQgJ3pvbmUuanMvcGx1Z2lucy9wcm94eSc7XG5pbXBvcnQgJ3pvbmUuanMvdGVzdGluZyc7XG5cbmltcG9ydCAnLi9zZXR1cC1zbmFwc2hvdHMuanMnO1xuLyoqXG4gKiBQYXRjaCBWaXRlc3QncyBkZXNjcmliZS90ZXN0L2JlZm9yZUVhY2gvYWZ0ZXJFYWNoIGZ1bmN0aW9ucyBzbyB0ZXN0IGNvZGVcbiAqIGFsd2F5cyBydW5zIGluIGEgdGVzdFpvbmUgKFByb3h5Wm9uZSkuXG4gKi9cbi8qIGdsb2JhbCBab25lICovXG5jb25zdCBab25lID0gKGdsb2JhbFRoaXMgYXMgYW55KVsnWm9uZSddO1xuXG5pZiAoWm9uZSA9PT0gdW5kZWZpbmVkKSB7XG4gIHRocm93IG5ldyBFcnJvcignTWlzc2luZzogWm9uZSAoem9uZS5qcyknKTtcbn1cblxuaWYgKChnbG9iYWxUaGlzIGFzIGFueSlbJ19fdml0ZXN0X3pvbmVfcGF0Y2hfXyddID09PSB0cnVlKSB7XG4gIHRocm93IG5ldyBFcnJvcihcIid2aXRlc3QnIGhhcyBhbHJlYWR5IGJlZW4gcGF0Y2hlZCB3aXRoICdab25lJy5cIik7XG59XG5cbihnbG9iYWxUaGlzIGFzIGFueSlbJ19fdml0ZXN0X3pvbmVfcGF0Y2hfXyddID0gdHJ1ZTtcbmNvbnN0IFN5bmNUZXN0Wm9uZVNwZWMgPSBab25lWydTeW5jVGVzdFpvbmVTcGVjJ107XG5jb25zdCBQcm94eVpvbmVTcGVjID0gWm9uZVsnUHJveHlab25lU3BlYyddO1xuXG5pZiAoU3luY1Rlc3Rab25lU3BlYyA9PT0gdW5kZWZpbmVkKSB7XG4gIHRocm93IG5ldyBFcnJvcignTWlzc2luZzogU3luY1Rlc3Rab25lU3BlYyAoem9uZS5qcy9wbHVnaW5zL3N5bmMtdGVzdCknKTtcbn1cbmlmIChQcm94eVpvbmVTcGVjID09PSB1bmRlZmluZWQpIHtcbiAgdGhyb3cgbmV3IEVycm9yKCdNaXNzaW5nOiBQcm94eVpvbmVTcGVjICh6b25lLmpzL3BsdWdpbnMvcHJveHkuanMpJyk7XG59XG5cbmNvbnN0IGVudiA9IGdsb2JhbFRoaXMgYXMgYW55O1xuY29uc3QgYW1iaWVudFpvbmUgPSBab25lLmN1cnJlbnQ7XG5cbi8vIENyZWF0ZSBhIHN5bmNocm9ub3VzLW9ubHkgem9uZSBpbiB3aGljaCB0byBydW4gYGRlc2NyaWJlYCBibG9ja3MgaW4gb3JkZXIgdG9cbi8vIHJhaXNlIGFuIGVycm9yIGlmIGFueSBhc3luY2hyb25vdXMgb3BlcmF0aW9ucyBhcmUgYXR0ZW1wdGVkXG4vLyBpbnNpZGUgb2YgYSBgZGVzY3JpYmVgIGJ1dCBvdXRzaWRlIG9mIGEgYGJlZm9yZUVhY2hgIG9yIGBpdGAuXG5jb25zdCBzeW5jWm9uZSA9IGFtYmllbnRab25lLmZvcmsobmV3IFN5bmNUZXN0Wm9uZVNwZWMoJ3ZpdGVzdC5kZXNjcmliZScpKTtcbmZ1bmN0aW9uIHdyYXBEZXNjcmliZUluWm9uZShkZXNjcmliZUJvZHk6IGFueSkge1xuICByZXR1cm4gZnVuY3Rpb24gKC4uLmFyZ3M6IGFueSkge1xuICAgIHJldHVybiBzeW5jWm9uZS5ydW4oZGVzY3JpYmVCb2R5LCBudWxsLCBhcmdzKTtcbiAgfTtcbn1cblxuLy8gQ3JlYXRlIGEgcHJveHkgem9uZSBpbiB3aGljaCB0byBydW4gYHRlc3RgIGJsb2NrcyBzbyB0aGF0IHRoZSB0ZXN0cyBmdW5jdGlvblxuLy8gY2FuIHJldHJvYWN0aXZlbHkgaW5zdGFsbCBkaWZmZXJlbnQgem9uZXMuXG5jb25zdCB0ZXN0UHJveHlab25lID0gYW1iaWVudFpvbmUuZm9yayhuZXcgUHJveHlab25lU3BlYygpKTtcbmZ1bmN0aW9uIHdyYXBUZXN0SW5ab25lKHRlc3RCb2R5OiBzdHJpbmcgfCBhbnlbXSB8IHVuZGVmaW5lZCkge1xuICBpZiAodGVzdEJvZHkgPT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGNvbnN0IHdyYXBwZWRGdW5jID0gZnVuY3Rpb24gKCkge1xuICAgIHJldHVybiB0ZXN0UHJveHlab25lLnJ1bih0ZXN0Qm9keSwgbnVsbCwgYXJndW1lbnRzKTtcbiAgfTtcbiAgdHJ5IHtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkod3JhcHBlZEZ1bmMsICdsZW5ndGgnLCB7XG4gICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgIGVudW1lcmFibGU6IGZhbHNlLFxuICAgIH0pO1xuICAgIHdyYXBwZWRGdW5jLmxlbmd0aCA9IHRlc3RCb2R5Lmxlbmd0aDtcbiAgfSBjYXRjaCAoZSkge1xuICAgIHJldHVybiB0ZXN0Qm9keS5sZW5ndGggPT09IDBcbiAgICAgID8gKCkgPT4gdGVzdFByb3h5Wm9uZS5ydW4odGVzdEJvZHksIG51bGwpXG4gICAgICA6IChkb25lOiBhbnkpID0+IHRlc3RQcm94eVpvbmUucnVuKHRlc3RCb2R5LCBudWxsLCBbZG9uZV0pO1xuICB9XG5cbiAgcmV0dXJuIHdyYXBwZWRGdW5jO1xufVxuXG4vKipcbiAqIGJpbmQgZGVzY3JpYmUgbWV0aG9kIHRvIHdyYXAgZGVzY3JpYmUuZWFjaCBmdW5jdGlvblxuICovXG5jb25zdCBiaW5kRGVzY3JpYmUgPSAoXG4gIHNlbGY6IGFueSxcbiAgb3JpZ2luYWxWaXRlc3RGbjoge1xuICAgIGFwcGx5OiAoXG4gICAgICBhcmcwOiBhbnksXG4gICAgICBhcmcxOiBhbnlbXSxcbiAgICApID0+IHtcbiAgICAgICgpOiBhbnk7XG4gICAgICBuZXcgKCk6IGFueTtcbiAgICAgIGFwcGx5OiB7IChhcmcwOiBhbnksIGFyZzE6IGFueVtdKTogYW55OyBuZXcgKCk6IGFueSB9O1xuICAgIH07XG4gIH0sXG4pID0+XG4gIGZ1bmN0aW9uICguLi5lYWNoQXJnczogYW55KSB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uICguLi5hcmdzOiBhbnlbXSkge1xuICAgICAgYXJnc1sxXSA9IHdyYXBEZXNjcmliZUluWm9uZShhcmdzWzFdKTtcblxuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgcmV0dXJuIG9yaWdpbmFsVml0ZXN0Rm4uYXBwbHkoc2VsZiwgZWFjaEFyZ3MpLmFwcGx5KHNlbGYsIGFyZ3MpO1xuICAgIH07XG4gIH07XG5cbi8qKlxuICogYmluZCB0ZXN0IG1ldGhvZCB0byB3cmFwIHRlc3QuZWFjaCBmdW5jdGlvblxuICovXG5jb25zdCBiaW5kVGVzdCA9IChcbiAgc2VsZjogYW55LFxuICBvcmlnaW5hbFZpdGVzdEZuOiB7XG4gICAgYXBwbHk6IChcbiAgICAgIGFyZzA6IGFueSxcbiAgICAgIGFyZzE6IGFueVtdLFxuICAgICkgPT4ge1xuICAgICAgKCk6IGFueTtcbiAgICAgIG5ldyAoKTogYW55O1xuICAgICAgYXBwbHk6IHsgKGFyZzA6IGFueSwgYXJnMTogYW55W10pOiBhbnk7IG5ldyAoKTogYW55IH07XG4gICAgfTtcbiAgfSxcbikgPT5cbiAgZnVuY3Rpb24gKC4uLmVhY2hBcmdzOiBhbnkpIHtcbiAgICByZXR1cm4gZnVuY3Rpb24gKC4uLmFyZ3M6IGFueVtdKSB7XG4gICAgICBhcmdzWzFdID0gd3JhcFRlc3RJblpvbmUoYXJnc1sxXSk7XG5cbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIHJldHVybiBvcmlnaW5hbFZpdGVzdEZuLmFwcGx5KHNlbGYsIGVhY2hBcmdzKS5hcHBseShzZWxmLCBhcmdzKTtcbiAgICB9O1xuICB9O1xuXG5bJ2Rlc2NyaWJlJ10uZm9yRWFjaCgobWV0aG9kTmFtZSkgPT4ge1xuICBjb25zdCBvcmlnaW5hbHZpdGVzdEZuID0gZW52W21ldGhvZE5hbWVdO1xuICBlbnZbbWV0aG9kTmFtZV0gPSBmdW5jdGlvbiAoLi4uYXJnczogYW55W10pIHtcbiAgICBhcmdzWzFdID0gd3JhcERlc2NyaWJlSW5ab25lKGFyZ3NbMV0pO1xuXG4gICAgcmV0dXJuIG9yaWdpbmFsdml0ZXN0Rm4uYXBwbHkodGhpcywgYXJncyk7XG4gIH07XG4gIGVudlttZXRob2ROYW1lXS5lYWNoID0gYmluZERlc2NyaWJlKG9yaWdpbmFsdml0ZXN0Rm4sIG9yaWdpbmFsdml0ZXN0Rm4uZWFjaCk7XG4gIGlmIChtZXRob2ROYW1lID09PSAnZGVzY3JpYmUnKSB7XG4gICAgZW52W21ldGhvZE5hbWVdLm9ubHkgPSBiaW5kRGVzY3JpYmUoXG4gICAgICBvcmlnaW5hbHZpdGVzdEZuLFxuICAgICAgb3JpZ2luYWx2aXRlc3RGbi5vbmx5LFxuICAgICk7XG4gICAgZW52W21ldGhvZE5hbWVdLnNraXAgPSBiaW5kRGVzY3JpYmUoXG4gICAgICBvcmlnaW5hbHZpdGVzdEZuLFxuICAgICAgb3JpZ2luYWx2aXRlc3RGbi5za2lwLFxuICAgICk7XG4gIH1cbn0pO1xuXG5bJ3Rlc3QnLCAnaXQnXS5mb3JFYWNoKChtZXRob2ROYW1lKSA9PiB7XG4gIGNvbnN0IG9yaWdpbmFsdml0ZXN0Rm4gPSBlbnZbbWV0aG9kTmFtZV07XG4gIGVudlttZXRob2ROYW1lXSA9IGZ1bmN0aW9uICguLi5hcmdzOiBhbnlbXSkge1xuICAgIGFyZ3NbMV0gPSB3cmFwVGVzdEluWm9uZShhcmdzWzFdKTtcblxuICAgIHJldHVybiBvcmlnaW5hbHZpdGVzdEZuLmFwcGx5KHRoaXMsIGFyZ3MpO1xuICB9O1xuICBlbnZbbWV0aG9kTmFtZV0uZWFjaCA9IGJpbmRUZXN0KG9yaWdpbmFsdml0ZXN0Rm4sIG9yaWdpbmFsdml0ZXN0Rm4uZWFjaCk7XG4gIGVudlttZXRob2ROYW1lXS5vbmx5ID0gYmluZFRlc3Qob3JpZ2luYWx2aXRlc3RGbiwgb3JpZ2luYWx2aXRlc3RGbi5vbmx5KTtcbiAgZW52W21ldGhvZE5hbWVdLnNraXAgPSBiaW5kVGVzdChvcmlnaW5hbHZpdGVzdEZuLCBvcmlnaW5hbHZpdGVzdEZuLnNraXApO1xuXG4gIGlmIChtZXRob2ROYW1lID09PSAndGVzdCcgfHwgbWV0aG9kTmFtZSA9PT0gJ2l0Jykge1xuICAgIGVudlttZXRob2ROYW1lXS50b2RvID0gZnVuY3Rpb24gKC4uLmFyZ3M6IGFueSkge1xuICAgICAgcmV0dXJuIG9yaWdpbmFsdml0ZXN0Rm4udG9kby5hcHBseSh0aGlzLCBhcmdzKTtcbiAgICB9O1xuICB9XG59KTtcblxuWydiZWZvcmVFYWNoJywgJ2FmdGVyRWFjaCcsICdiZWZvcmVBbGwnLCAnYWZ0ZXJBbGwnXS5mb3JFYWNoKChtZXRob2ROYW1lKSA9PiB7XG4gIGNvbnN0IG9yaWdpbmFsdml0ZXN0Rm4gPSBlbnZbbWV0aG9kTmFtZV07XG5cbiAgZW52W21ldGhvZE5hbWVdID0gZnVuY3Rpb24gKC4uLmFyZ3M6IGFueVtdKSB7XG4gICAgYXJnc1swXSA9IHdyYXBUZXN0SW5ab25lKGFyZ3NbMF0pO1xuXG4gICAgcmV0dXJuIG9yaWdpbmFsdml0ZXN0Rm4uYXBwbHkodGhpcywgYXJncyk7XG4gIH07XG59KTtcbiJdfQ==
|
|
100
|
+
//#endregion
|
|
101
|
+
|
|
102
|
+
//# sourceMappingURL=setup-zone.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup-zone.js","names":[],"sources":["../setup-zone.ts"],"sourcesContent":["import 'zone.js';\nimport 'zone.js/plugins/sync-test';\nimport 'zone.js/plugins/proxy';\nimport 'zone.js/testing';\n\nimport './setup-snapshots.js';\n/**\n * Patch Vitest's describe/test/beforeEach/afterEach functions so test code\n * always runs in a testZone (ProxyZone).\n */\n/* global Zone */\nconst Zone = (globalThis as any)['Zone'];\n\nif (Zone === undefined) {\n throw new Error('Missing: Zone (zone.js)');\n}\n\nif ((globalThis as any)['__vitest_zone_patch__'] === true) {\n throw new Error(\"'vitest' has already been patched with 'Zone'.\");\n}\n\n(globalThis as any)['__vitest_zone_patch__'] = true;\nconst SyncTestZoneSpec = Zone['SyncTestZoneSpec'];\nconst ProxyZoneSpec = Zone['ProxyZoneSpec'];\n\nif (SyncTestZoneSpec === undefined) {\n throw new Error('Missing: SyncTestZoneSpec (zone.js/plugins/sync-test)');\n}\nif (ProxyZoneSpec === undefined) {\n throw new Error('Missing: ProxyZoneSpec (zone.js/plugins/proxy.js)');\n}\n\nconst env = globalThis as any;\nconst ambientZone = Zone.current;\n\n// Create a synchronous-only zone in which to run `describe` blocks in order to\n// raise an error if any asynchronous operations are attempted\n// inside of a `describe` but outside of a `beforeEach` or `it`.\nconst syncZone = ambientZone.fork(new SyncTestZoneSpec('vitest.describe'));\nfunction wrapDescribeInZone(describeBody: any) {\n return function (...args: any) {\n return syncZone.run(describeBody, null, args);\n };\n}\n\n// Create a proxy zone in which to run `test` blocks so that the tests function\n// can retroactively install different zones.\nconst testProxyZone = ambientZone.fork(new ProxyZoneSpec());\nfunction wrapTestInZone(testBody: string | any[] | undefined) {\n if (testBody === undefined) {\n return;\n }\n\n const wrappedFunc = function (...args: any[]) {\n return testProxyZone.run(testBody, null, args);\n };\n try {\n Object.defineProperty(wrappedFunc, 'length', {\n configurable: true,\n writable: true,\n enumerable: false,\n });\n wrappedFunc.length = testBody.length;\n } catch (e) {\n return testBody.length === 0\n ? () => testProxyZone.run(testBody, null)\n : (done: any) => testProxyZone.run(testBody, null, [done]);\n }\n\n return wrappedFunc;\n}\n\n/**\n * bind describe method to wrap describe.each function\n */\nconst bindDescribe = (\n self: any,\n originalVitestFn: {\n apply: (\n arg0: any,\n arg1: any[],\n ) => {\n (): any;\n new (): any;\n apply: { (arg0: any, arg1: any[]): any; new (): any };\n };\n },\n) =>\n function (...eachArgs: any) {\n return function (...args: any[]) {\n args[1] = wrapDescribeInZone(args[1]);\n\n return originalVitestFn.apply(self, eachArgs).apply(self, args);\n };\n };\n\n/**\n * bind test method to wrap test.each function\n */\nconst bindTest = (\n self: any,\n originalVitestFn: {\n apply: (\n arg0: any,\n arg1: any[],\n ) => {\n (): any;\n new (): any;\n apply: { (arg0: any, arg1: any[]): any; new (): any };\n };\n },\n) =>\n function (...eachArgs: any) {\n return function (...args: any[]) {\n args[1] = wrapTestInZone(args[1]);\n\n return originalVitestFn.apply(self, eachArgs).apply(self, args);\n };\n };\n\n['describe'].forEach((methodName) => {\n const originalvitestFn = env[methodName];\n env[methodName] = function (...args: any[]) {\n args[1] = wrapDescribeInZone(args[1]);\n\n return originalvitestFn.apply(this, args);\n };\n env[methodName].each = bindDescribe(originalvitestFn, originalvitestFn.each);\n if (methodName === 'describe') {\n env[methodName].only = bindDescribe(\n originalvitestFn,\n originalvitestFn.only,\n );\n env[methodName].skip = bindDescribe(\n originalvitestFn,\n originalvitestFn.skip,\n );\n }\n});\n\n['test', 'it'].forEach((methodName) => {\n const originalvitestFn = env[methodName];\n env[methodName] = function (...args: any[]) {\n args[1] = wrapTestInZone(args[1]);\n\n return originalvitestFn.apply(this, args);\n };\n env[methodName].each = bindTest(originalvitestFn, originalvitestFn.each);\n env[methodName].only = bindTest(originalvitestFn, originalvitestFn.only);\n env[methodName].skip = bindTest(originalvitestFn, originalvitestFn.skip);\n\n if (methodName === 'test' || methodName === 'it') {\n env[methodName].todo = function (...args: any) {\n return originalvitestFn.todo.apply(this, args);\n };\n }\n});\n\n['beforeEach', 'afterEach', 'beforeAll', 'afterAll'].forEach((methodName) => {\n const originalvitestFn = env[methodName];\n\n env[methodName] = function (...args: any[]) {\n args[0] = wrapTestInZone(args[0]);\n\n return originalvitestFn.apply(this, args);\n };\n});\n"],"mappings":"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"}
|