@stencil/vitest 1.1.1 → 1.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -3
- package/dist/config.js +19 -0
- package/dist/core.d.ts +7 -0
- package/dist/core.d.ts.map +1 -0
- package/dist/core.js +6 -0
- package/dist/index.d.ts +2 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -6
- package/dist/testing/matchers.d.ts +0 -9
- package/dist/testing/matchers.d.ts.map +1 -1
- package/dist/testing/matchers.js +0 -22
- package/dist/testing/render.d.ts +1 -1
- package/dist/testing/render.d.ts.map +1 -1
- package/dist/testing/render.js +5 -1
- package/dist/types.d.ts +5 -4
- package/dist/types.d.ts.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -94,8 +94,7 @@ export {};
|
|
|
94
94
|
```tsx
|
|
95
95
|
// src/components/my-button/my-button.spec.tsx
|
|
96
96
|
|
|
97
|
-
import { describe, it, expect } from 'vitest';
|
|
98
|
-
import { render, h } from '@stencil/vitest';
|
|
97
|
+
import { render, h, describe, it, expect } from '@stencil/vitest';
|
|
99
98
|
|
|
100
99
|
describe('my-button', () => {
|
|
101
100
|
it('renders with text', async () => {
|
|
@@ -169,7 +168,6 @@ expect(element).toEqualAttributes({ type: 'button', disabled: true });
|
|
|
169
168
|
expect(element).toHaveProperty('value', 'test');
|
|
170
169
|
expect(element).toHaveTextContent('Hello World');
|
|
171
170
|
expect(element).toEqualText('Exact text match');
|
|
172
|
-
expect(element).toBeVisible();
|
|
173
171
|
|
|
174
172
|
// Shadow DOM
|
|
175
173
|
expect(element).toHaveShadowRoot();
|
package/dist/config.js
CHANGED
|
@@ -153,6 +153,25 @@ function applyStencilDefaults(config, stencilConfig) {
|
|
|
153
153
|
if (!result.test) {
|
|
154
154
|
result.test = {};
|
|
155
155
|
}
|
|
156
|
+
// Inline vitest-environment-stencil so it resolves from this package's node_modules
|
|
157
|
+
// This is necessary for pnpm which doesn't hoist transitive dependencies
|
|
158
|
+
if (!result.test.server) {
|
|
159
|
+
result.test.server = {};
|
|
160
|
+
}
|
|
161
|
+
if (!result.test.server.deps) {
|
|
162
|
+
result.test.server.deps = {};
|
|
163
|
+
}
|
|
164
|
+
if (!result.test.server.deps.inline) {
|
|
165
|
+
result.test.server.deps.inline = [];
|
|
166
|
+
}
|
|
167
|
+
if (Array.isArray(result.test.server.deps.inline)) {
|
|
168
|
+
if (!result.test.server.deps.inline.includes('vitest-environment-stencil')) {
|
|
169
|
+
result.test.server.deps.inline.push('vitest-environment-stencil');
|
|
170
|
+
}
|
|
171
|
+
if (!result.test.server.deps.inline.includes('@stencil/vitest')) {
|
|
172
|
+
result.test.server.deps.inline.push('@stencil/vitest');
|
|
173
|
+
}
|
|
174
|
+
}
|
|
156
175
|
// Enable forceRerunTriggers to watch output directories
|
|
157
176
|
// This ensures Vitest re-runs tests when Stencil rebuilds components
|
|
158
177
|
const outputDirs = getStencilOutputDirs(stencilConfig);
|
package/dist/core.d.ts
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import './testing/matchers.js';
|
|
2
|
+
import './testing/snapshot-serializer.js';
|
|
3
|
+
export { h } from '@stencil/core';
|
|
4
|
+
export { render } from './testing/render.js';
|
|
5
|
+
export { serializeHtml, prettifyHtml, SerializeOptions } from './testing/html-serializer.js';
|
|
6
|
+
export type { RenderOptions, RenderResult } from './types.js';
|
|
7
|
+
//# sourceMappingURL=core.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"AACA,OAAO,uBAAuB,CAAC;AAC/B,OAAO,kCAAkC,CAAC;AAE1C,OAAO,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAC7F,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC"}
|
package/dist/core.js
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
// install custom matchers and snapshot serializer
|
|
2
|
+
import './testing/matchers.js';
|
|
3
|
+
import './testing/snapshot-serializer.js';
|
|
4
|
+
export { h } from '@stencil/core';
|
|
5
|
+
export { render } from './testing/render.js';
|
|
6
|
+
export { serializeHtml, prettifyHtml } from './testing/html-serializer.js';
|
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
export { h } from '@stencil/core';
|
|
4
|
-
export { render } from './testing/render.js';
|
|
5
|
-
export { serializeHtml, prettifyHtml, SerializeOptions } from './testing/html-serializer.js';
|
|
6
|
-
export type { RenderOptions, RenderResult } from './types.js';
|
|
1
|
+
export * from 'vitest';
|
|
2
|
+
export * from './core';
|
|
7
3
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
import './testing/snapshot-serializer.js';
|
|
4
|
-
export { h } from '@stencil/core';
|
|
5
|
-
export { render } from './testing/render.js';
|
|
6
|
-
export { serializeHtml, prettifyHtml } from './testing/html-serializer.js';
|
|
1
|
+
export * from 'vitest';
|
|
2
|
+
export * from './core';
|
|
@@ -28,8 +28,6 @@ interface CustomMatchers<R = unknown> {
|
|
|
28
28
|
toEqualText(expectedText: string): R;
|
|
29
29
|
/** Asserts element has an attached shadow root. */
|
|
30
30
|
toHaveShadowRoot(): R;
|
|
31
|
-
/** Asserts element will emit the specified event when interacted with. */
|
|
32
|
-
toEmitEvent(eventName: string): R;
|
|
33
31
|
/** Asserts element's serialized HTML (including shadow DOM) matches expected HTML. */
|
|
34
32
|
toEqualHtml(expectedHtml: string): R;
|
|
35
33
|
/** Asserts element's light DOM HTML (excluding shadow DOM internals) matches expected HTML. */
|
|
@@ -118,13 +116,6 @@ export declare function toEqualText(received: HTMLElement, expectedText: string)
|
|
|
118
116
|
pass: boolean;
|
|
119
117
|
message: () => string;
|
|
120
118
|
};
|
|
121
|
-
/**
|
|
122
|
-
* Check if element is visible
|
|
123
|
-
*/
|
|
124
|
-
export declare function toBeVisible(received: HTMLElement): {
|
|
125
|
-
pass: boolean;
|
|
126
|
-
message: () => string;
|
|
127
|
-
};
|
|
128
119
|
/**
|
|
129
120
|
* Check if element has shadow root
|
|
130
121
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"matchers.d.ts","sourceRoot":"","sources":["../../src/testing/matchers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5C;;GAEG;AACH,UAAU,cAAc,CAAC,CAAC,GAAG,OAAO;IAClC,mDAAmD;IACnD,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,CAAC,CAAC;IAClC,qDAAqD;IACrD,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;IACvC,gFAAgF;IAChF,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;IACxC,2EAA2E;IAC3E,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC;IACtD,mEAAmE;IACnE,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC,CAAC;IACtD,sEAAsE;IACtE,iBAAiB,CAAC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;IAC5D,0EAA0E;IAC1E,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC;IACjD,kEAAkE;IAClE,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,CAAC,CAAC;IACnC,+EAA+E;IAC/E,WAAW,CAAC,YAAY,EAAE,MAAM,GAAG,CAAC,CAAC;IACrC,mDAAmD;IACnD,gBAAgB,IAAI,CAAC,CAAC;IACtB,
|
|
1
|
+
{"version":3,"file":"matchers.d.ts","sourceRoot":"","sources":["../../src/testing/matchers.ts"],"names":[],"mappings":"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"}
|
package/dist/testing/matchers.js
CHANGED
|
@@ -173,17 +173,6 @@ export function toEqualText(received, expectedText) {
|
|
|
173
173
|
: `Expected element text to equal "${trimmedExpected}", but got "${actualText}"`,
|
|
174
174
|
};
|
|
175
175
|
}
|
|
176
|
-
/**
|
|
177
|
-
* Check if element is visible
|
|
178
|
-
*/
|
|
179
|
-
export function toBeVisible(received) {
|
|
180
|
-
const style = window.getComputedStyle(received);
|
|
181
|
-
const pass = style.display !== 'none' && style.visibility !== 'hidden' && style.opacity !== '0';
|
|
182
|
-
return {
|
|
183
|
-
pass,
|
|
184
|
-
message: () => (pass ? `Expected element not to be visible` : `Expected element to be visible`),
|
|
185
|
-
};
|
|
186
|
-
}
|
|
187
176
|
/**
|
|
188
177
|
* Check if element has shadow root
|
|
189
178
|
*/
|
|
@@ -247,11 +236,6 @@ export function toEqualHtml(received, expected) {
|
|
|
247
236
|
// to preserve custom elements like <mock:shadow-root>
|
|
248
237
|
let expectedHtml = normalizeHtml(expected.trim());
|
|
249
238
|
receivedHtml = normalizeHtml(receivedHtml);
|
|
250
|
-
// Debug logging
|
|
251
|
-
if (expectedHtml !== receivedHtml) {
|
|
252
|
-
console.log('Expected (normalized):', JSON.stringify(expectedHtml));
|
|
253
|
-
console.log('Received (normalized):', JSON.stringify(receivedHtml));
|
|
254
|
-
}
|
|
255
239
|
const pass = receivedHtml === expectedHtml;
|
|
256
240
|
return {
|
|
257
241
|
pass,
|
|
@@ -292,11 +276,6 @@ export function toEqualLightHtml(received, expected) {
|
|
|
292
276
|
// to preserve custom elements like <mock:shadow-root>
|
|
293
277
|
let expectedHtml = normalizeHtml(expected.trim());
|
|
294
278
|
receivedHtml = normalizeHtml(receivedHtml);
|
|
295
|
-
// Debug logging
|
|
296
|
-
if (expectedHtml !== receivedHtml) {
|
|
297
|
-
console.log('LightDOM Expected (normalized):', JSON.stringify(expectedHtml));
|
|
298
|
-
console.log('LightDOM Received (normalized):', JSON.stringify(receivedHtml));
|
|
299
|
-
}
|
|
300
279
|
const pass = receivedHtml === expectedHtml;
|
|
301
280
|
return {
|
|
302
281
|
pass,
|
|
@@ -444,7 +423,6 @@ export function installMatchers() {
|
|
|
444
423
|
toHaveProperty,
|
|
445
424
|
toHaveTextContent,
|
|
446
425
|
toEqualText,
|
|
447
|
-
toBeVisible,
|
|
448
426
|
toHaveShadowRoot,
|
|
449
427
|
toEqualHtml,
|
|
450
428
|
toEqualLightHtml,
|
package/dist/testing/render.d.ts
CHANGED
|
@@ -6,6 +6,6 @@ interface RenderOptions {
|
|
|
6
6
|
/**
|
|
7
7
|
* Render using Stencil's render
|
|
8
8
|
*/
|
|
9
|
-
export declare function render<T extends HTMLElement = HTMLElement>(vnode: any, options?: RenderOptions): Promise<RenderResult<T>>;
|
|
9
|
+
export declare function render<T extends HTMLElement = HTMLElement, I = any>(vnode: any, options?: RenderOptions): Promise<RenderResult<T, I>>;
|
|
10
10
|
export {};
|
|
11
11
|
//# sourceMappingURL=render.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../src/testing/render.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAY,MAAM,aAAa,CAAC;AAE1D,UAAU,aAAa;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACrC;AAKD;;GAEG;AACH,wBAAsB,MAAM,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,
|
|
1
|
+
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../src/testing/render.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAY,MAAM,aAAa,CAAC;AAE1D,UAAU,aAAa;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACrC;AAKD;;GAEG;AACH,wBAAsB,MAAM,CAAC,CAAC,SAAS,WAAW,GAAG,WAAW,EAAE,CAAC,GAAG,GAAG,EACvE,KAAK,EAAE,GAAG,EACV,OAAO,GAAE,aAGR,GACA,OAAO,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CA8H7B"}
|
package/dist/testing/render.js
CHANGED
|
@@ -107,10 +107,14 @@ export async function render(vnode, options = {
|
|
|
107
107
|
spiesForElement.push(spy);
|
|
108
108
|
return spy;
|
|
109
109
|
};
|
|
110
|
+
let instance = element;
|
|
111
|
+
if (element.__stencil__getHostRef) {
|
|
112
|
+
instance = element.__stencil__getHostRef()?.$lazyInstance$ || element;
|
|
113
|
+
}
|
|
110
114
|
return {
|
|
111
115
|
root: element,
|
|
112
116
|
waitForChanges,
|
|
113
|
-
instance:
|
|
117
|
+
instance: instance,
|
|
114
118
|
setProps,
|
|
115
119
|
unmount,
|
|
116
120
|
spyOnEvent,
|
package/dist/types.d.ts
CHANGED
|
@@ -52,9 +52,9 @@ export interface RenderOptions {
|
|
|
52
52
|
/**
|
|
53
53
|
* Render result for component testing
|
|
54
54
|
*/
|
|
55
|
-
export interface RenderResult<T = HTMLElement> {
|
|
55
|
+
export interface RenderResult<T = HTMLElement, I = any> {
|
|
56
56
|
/**
|
|
57
|
-
* The rendered
|
|
57
|
+
* The rendered root element
|
|
58
58
|
*/
|
|
59
59
|
root: T;
|
|
60
60
|
/**
|
|
@@ -62,9 +62,10 @@ export interface RenderResult<T = HTMLElement> {
|
|
|
62
62
|
*/
|
|
63
63
|
waitForChanges: () => Promise<void>;
|
|
64
64
|
/**
|
|
65
|
-
*
|
|
65
|
+
* Tries to get the underlying class instance when `root` is a Stencil component.
|
|
66
|
+
* If using `dist-custom-elements`, `instance` === `root`.
|
|
66
67
|
*/
|
|
67
|
-
instance?:
|
|
68
|
+
instance?: I;
|
|
68
69
|
/**
|
|
69
70
|
* Update component props
|
|
70
71
|
*/
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,MAAM,EAAE,WAAW,EAAE,CAAC;IAEtB;;OAEG;IACH,UAAU,EAAE,WAAW,GAAG,SAAS,CAAC;IAEpC;;OAEG;IACH,SAAS,EAAE,WAAW,GAAG,SAAS,CAAC;IAEnC;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAE5B;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,CAAC,CAAC;IAE7C;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACrC;AAED;;GAEG;AACH,MAAM,WAAW,YAAY,CAAC,CAAC,GAAG,WAAW;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,MAAM,EAAE,WAAW,EAAE,CAAC;IAEtB;;OAEG;IACH,UAAU,EAAE,WAAW,GAAG,SAAS,CAAC;IAEpC;;OAEG;IACH,SAAS,EAAE,WAAW,GAAG,SAAS,CAAC;IAEnC;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAE5B;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,CAAC,CAAC;IAE7C;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACrC;AAED;;GAEG;AACH,MAAM,WAAW,YAAY,CAAC,CAAC,GAAG,WAAW,EAAE,CAAC,GAAG,GAAG;IACpD;;OAEG;IACH,IAAI,EAAE,CAAC,CAAC;IAER;;OAEG;IACH,cAAc,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAEpC;;;OAGG;IACH,QAAQ,CAAC,EAAE,CAAC,CAAC;IAEb;;OAEG;IACH,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAExD;;OAEG;IACH,OAAO,EAAE,MAAM,IAAI,CAAC;IAEpB;;OAEG;IACH,UAAU,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,QAAQ,CAAC;CAC7C"}
|
package/package.json
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"type": "git",
|
|
5
5
|
"url": "https://github.com/stenciljs/vitest"
|
|
6
6
|
},
|
|
7
|
-
"version": "1.1.
|
|
7
|
+
"version": "1.1.3",
|
|
8
8
|
"description": "First-class testing utilities for Stencil design systems with Vitest",
|
|
9
9
|
"license": "MIT",
|
|
10
10
|
"type": "module",
|
|
@@ -92,7 +92,7 @@
|
|
|
92
92
|
"dependencies": {
|
|
93
93
|
"jiti": "^2.6.1",
|
|
94
94
|
"local-pkg": "^1.1.2",
|
|
95
|
-
"vitest-environment-stencil": "1.1.
|
|
95
|
+
"vitest-environment-stencil": "1.1.3"
|
|
96
96
|
},
|
|
97
97
|
"devDependencies": {
|
|
98
98
|
"@eslint/js": "^9.39.2",
|