@analogjs/vitest-angular 3.0.0-alpha.7 → 3.0.0-alpha.70
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 +11 -0
- package/_virtual/_@oxc-project_runtime@0.124.0/helpers/decorate.js +9 -0
- package/package.json +26 -13
- 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 +14 -12
- package/setup-testbed.js +27 -29
- package/setup-testbed.js.map +1 -0
- package/setup-zone.d.ts +6 -5
- package/setup-zone.js +101 -113
- 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 +6 -6
- package/src/lib/builders/build/plugins/downlevel-plugin.js +23 -22
- 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 +71 -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 +63 -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/{src/schematics → schematics}/setup/files/vite.config.mts.template +2 -7
- 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/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/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();
|
|
@@ -127,6 +128,8 @@ The `setupTestBed()` function accepts an optional configuration object with the
|
|
|
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`)
|
|
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.
|
|
130
133
|
|
|
131
134
|
**Example with options:**
|
|
132
135
|
|
|
@@ -135,6 +138,8 @@ setupTestBed({
|
|
|
135
138
|
zoneless: true,
|
|
136
139
|
providers: [],
|
|
137
140
|
teardown: { destroyAfterEach: false },
|
|
141
|
+
errorOnUnknownElements: true,
|
|
142
|
+
errorOnUnknownProperties: true,
|
|
138
143
|
});
|
|
139
144
|
```
|
|
140
145
|
|
|
@@ -194,6 +199,12 @@ pnpm test
|
|
|
194
199
|
## Snapshot Testing
|
|
195
200
|
|
|
196
201
|
For snapshot testing you can use `toMatchSnapshot` from `expect` API.
|
|
202
|
+
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.
|
|
203
|
+
|
|
204
|
+
The import of `setup-snapshots` and `setup-serializers` are complementary:
|
|
205
|
+
|
|
206
|
+
- Use `setup-snapshots` to serialize Angular fixtures and component refs so Vitest snapshots print component markup instead of Angular testing internals.
|
|
207
|
+
- 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
208
|
|
|
198
209
|
Below is a small example of how to write a snapshot test:
|
|
199
210
|
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
//#region \0@oxc-project+runtime@0.124.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,31 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@analogjs/vitest-angular",
|
|
3
|
-
"version": "3.0.0-alpha.
|
|
3
|
+
"version": "3.0.0-alpha.70",
|
|
4
4
|
"description": "Vitest Builder for Angular",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"author": "Brandon Roberts <robertsbt@gmail.com>",
|
|
7
7
|
"exports": {
|
|
8
|
-
".":
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
"./setup-
|
|
8
|
+
".": {
|
|
9
|
+
"types": "./src/index.d.ts",
|
|
10
|
+
"default": "./src/index.js"
|
|
11
|
+
},
|
|
12
|
+
"./setup-zone": {
|
|
13
|
+
"types": "./setup-zone.d.ts",
|
|
14
|
+
"default": "./setup-zone.js"
|
|
15
|
+
},
|
|
16
|
+
"./setup-snapshots": {
|
|
17
|
+
"types": "./setup-snapshots.d.ts",
|
|
18
|
+
"default": "./setup-snapshots.js"
|
|
19
|
+
},
|
|
20
|
+
"./setup-serializers": {
|
|
21
|
+
"types": "./setup-serializers.d.ts",
|
|
22
|
+
"default": "./setup-serializers.js"
|
|
23
|
+
},
|
|
24
|
+
"./setup-testbed": {
|
|
25
|
+
"types": "./setup-testbed.d.ts",
|
|
26
|
+
"default": "./setup-testbed.js"
|
|
27
|
+
},
|
|
28
|
+
"./package.json": "./package.json"
|
|
13
29
|
},
|
|
14
30
|
"keywords": [
|
|
15
31
|
"angular",
|
|
@@ -36,11 +52,11 @@
|
|
|
36
52
|
"save": "devDependencies"
|
|
37
53
|
},
|
|
38
54
|
"dependencies": {
|
|
39
|
-
"oxc-transform": "^0.
|
|
55
|
+
"oxc-transform": "^0.124.0"
|
|
40
56
|
},
|
|
41
57
|
"peerDependencies": {
|
|
42
58
|
"@analogjs/vite-plugin-angular": "*",
|
|
43
|
-
"@angular-devkit/architect": ">=0.1500.0 < 0.
|
|
59
|
+
"@angular-devkit/architect": ">=0.1500.0 < 0.2300.0",
|
|
44
60
|
"@angular-devkit/schematics": ">=17.0.0",
|
|
45
61
|
"vitest": "^1.3.1 || ^2.0.0 || ^3.0.0 || ^4.0.0",
|
|
46
62
|
"zone.js": ">=0.14.0"
|
|
@@ -64,8 +80,5 @@
|
|
|
64
80
|
"publishConfig": {
|
|
65
81
|
"access": "public",
|
|
66
82
|
"provenance": true
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
"module": "./src/index.js",
|
|
70
|
-
"main": "./src/index.js"
|
|
71
|
-
}
|
|
83
|
+
}
|
|
84
|
+
}
|
|
@@ -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: (...args: 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: serialize,
|
|
21
|
-
test: 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,15 +1,17 @@
|
|
|
1
|
-
import { EnvironmentProviders, Provider } from
|
|
1
|
+
import { EnvironmentProviders, Provider } from "@angular/core";
|
|
2
2
|
type TestBedSetupOptions = {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
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
|
+
};
|
|
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
|
@@ -1,30 +1,28 @@
|
|
|
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
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
...{ destroyAfterEach: !browserMode },
|
|
25
|
-
...teardown,
|
|
26
|
-
},
|
|
27
|
-
});
|
|
28
|
-
}
|
|
1
|
+
import { __decorate } from "./_virtual/_@oxc-project_runtime@0.124.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, errorOnUnknownElements, errorOnUnknownProperties } = {}) {
|
|
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(), {
|
|
16
|
+
teardown: {
|
|
17
|
+
destroyAfterEach: !browserMode,
|
|
18
|
+
...teardown
|
|
19
|
+
},
|
|
20
|
+
errorOnUnknownElements,
|
|
21
|
+
errorOnUnknownProperties
|
|
22
|
+
});
|
|
23
|
+
}
|
|
29
24
|
}
|
|
30
|
-
//#
|
|
25
|
+
//#endregion
|
|
26
|
+
export { setupTestBed };
|
|
27
|
+
|
|
28
|
+
//# 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 errorOnUnknownElements?: boolean;\n errorOnUnknownProperties?: boolean;\n};\n\nexport function setupTestBed({\n zoneless = true,\n providers = [],\n browserMode = false,\n teardown,\n errorOnUnknownElements,\n errorOnUnknownProperties,\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 errorOnUnknownElements,\n errorOnUnknownProperties,\n },\n );\n }\n}\n"],"mappings":";;;;;;AAgBA,IAAM,wBAAwB,OAAO,IAAI,gBAAgB;AAiBzD,SAAgB,aAAa,EAC3B,WAAW,MACX,YAAY,EAAE,EACd,cAAc,OACd,UACA,wBACA,6BACuB,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;GACE,UAAU;IACH,kBAAkB,CAAC;IACxB,GAAG;IACJ;GACD;GACA;GACD,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 {};
|