@zerolith/test 0.1.0-alpha.9 → 1.0.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 +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
- package/src/index.ts +3 -3
package/README.md
CHANGED
|
@@ -26,7 +26,7 @@ it("renders and hydrates", async () =>
|
|
|
26
26
|
|
|
27
27
|
Under Vitest, which reads the components itself, add the plugin from `@zerolith/vite` as `zerolith({ hot: false })` so a test reads JSX and stylesheets imported with `?scoped` as the app does; a project from `zerolith new` has it in `vitest.config.ts`. The guide is on the [docs site](https://zerolith.dev/guide/testing/).
|
|
28
28
|
|
|
29
|
-
|
|
29
|
+
Install with `npm install --save-dev @zerolith/test`. The API is frozen at 1.0: a breaking change comes only in a major, after a deprecation notice, and the [support policy](https://github.com/molexxxx/zerolith/blob/main/docs/policy/support.md) says how long a line gets fixes.
|
|
30
30
|
|
|
31
31
|
## Documentation
|
|
32
32
|
|
package/dist/index.d.ts
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* a view's server markup against hydration, and find the accessibility
|
|
5
5
|
* defects a test can catch.
|
|
6
6
|
*/
|
|
7
|
-
import { type HydrationMismatch, type Root } from "zerolith";
|
|
7
|
+
import { type HydrationMismatch, type Renderable, type Root } from "zerolith";
|
|
8
8
|
/** What `mount` returns. */
|
|
9
9
|
export interface Mounted {
|
|
10
10
|
/** The element the view was rendered into. */
|
|
@@ -31,7 +31,7 @@ export interface MountOptions {
|
|
|
31
31
|
* `render` does. A container `mount` created is removed even when
|
|
32
32
|
* rendering throws.
|
|
33
33
|
*/
|
|
34
|
-
export declare function mount(view:
|
|
34
|
+
export declare function mount(view: Renderable | (() => Renderable), options?: MountOptions): Mounted;
|
|
35
35
|
/** Unmounts everything `mount` created, newest first, each even when another's cleanup throws, and then throws the first error. Register it as the runner's after-each hook. */
|
|
36
36
|
export declare function cleanup(): void;
|
|
37
37
|
/**
|
|
@@ -49,7 +49,7 @@ export declare function settle(rounds?: number): Promise<void>;
|
|
|
49
49
|
* before the helper returns. An empty array means the component hydrates
|
|
50
50
|
* cleanly; the container is discarded afterwards.
|
|
51
51
|
*/
|
|
52
|
-
export declare function hydrationMismatches(view: () =>
|
|
52
|
+
export declare function hydrationMismatches(view: () => Renderable): HydrationMismatch[];
|
|
53
53
|
/** The accessibility checks `accessibilityIssues` runs. */
|
|
54
54
|
export type AccessibilityCode = "image_without_alt" | "control_without_label" | "button_without_name" | "link_without_name" | "frame_without_title";
|
|
55
55
|
/** One defect found by `accessibilityIssues`. */
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,KAAK,iBAAiB,EAAE,KAAK,IAAI,EAAmB,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,KAAK,iBAAiB,EAAE,KAAK,UAAU,EAAE,KAAK,IAAI,EAAmB,MAAM,UAAU,CAAC;AAG/F,4BAA4B;AAC5B,MAAM,WAAW,OAAO;IAEpB,8CAA8C;IAC9C,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC;IAChC,sEAAsE;IACtE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,4FAA4F;IAC5F,OAAO,IAAI,IAAI,CAAC;CACnB;AAED,2BAA2B;AAC3B,MAAM,WAAW,YAAY;IAEzB,wDAAwD;IACxD,SAAS,CAAC,EAAE,WAAW,CAAC;IACxB,wHAAwH;IACxH,MAAM,CAAC,EAAE,OAAO,CAAC;CACpB;AAID;;;;;;;;;GASG;AACH,wBAAgB,KAAK,CAAC,IAAI,EAAE,UAAU,GAAG,CAAC,MAAM,UAAU,CAAC,EAAE,OAAO,GAAE,YAAiB,GAAG,OAAO,CA6ChG;AAED,gLAAgL;AAChL,wBAAgB,OAAO,IAAI,IAAI,CAkB9B;AAED;;;;;;GAMG;AACH,wBAAgB,MAAM,CAAC,MAAM,SAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAQhD;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,UAAU,GAAG,iBAAiB,EAAE,CAQ/E;AAED,2DAA2D;AAC3D,MAAM,MAAM,iBAAiB,GAAG,mBAAmB,GAAG,uBAAuB,GAAG,qBAAqB,GAAG,mBAAmB,GAAG,qBAAqB,CAAC;AAEpJ,iDAAiD;AACjD,MAAM,WAAW,kBAAkB;IAE/B,mEAAmE;IACnE,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,qGAAqG;IACrG,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC7B;AA8CD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,UAAU,GAAG,kBAAkB,EAAE,CAqC/E"}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zerolith/test",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "1.0.0",
|
|
4
4
|
"description": "Test helpers for zerolith: mount views with automatic cleanup, settle async work, check a view's server markup against hydration, and find the accessibility defects a test can catch",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"author": "molexxxx",
|
|
@@ -41,9 +41,9 @@
|
|
|
41
41
|
"build": "tsc -p tsconfig.build.json"
|
|
42
42
|
},
|
|
43
43
|
"peerDependencies": {
|
|
44
|
-
"zerolith": "^
|
|
44
|
+
"zerolith": "^1.0.0"
|
|
45
45
|
},
|
|
46
46
|
"devDependencies": {
|
|
47
|
-
"zerolith": "^
|
|
47
|
+
"zerolith": "^1.0.0"
|
|
48
48
|
}
|
|
49
49
|
}
|
package/src/index.ts
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* a view's server markup against hydration, and find the accessibility
|
|
5
5
|
* defects a test can catch.
|
|
6
6
|
*/
|
|
7
|
-
import { type HydrationMismatch, type Root, hydrate, render } from "zerolith";
|
|
7
|
+
import { type HydrationMismatch, type Renderable, type Root, hydrate, render } from "zerolith";
|
|
8
8
|
import { renderToString } from "zerolith/ssr";
|
|
9
9
|
|
|
10
10
|
/** What `mount` returns. */
|
|
@@ -39,7 +39,7 @@ const mounted: Mounted[] = [];
|
|
|
39
39
|
* `render` does. A container `mount` created is removed even when
|
|
40
40
|
* rendering throws.
|
|
41
41
|
*/
|
|
42
|
-
export function mount(view:
|
|
42
|
+
export function mount(view: Renderable | (() => Renderable), options: MountOptions = {}): Mounted
|
|
43
43
|
{
|
|
44
44
|
const container = options.container ?? document.createElement("div");
|
|
45
45
|
if (options.container === undefined && options.attach !== false)
|
|
@@ -131,7 +131,7 @@ export function settle(rounds = 2): Promise<void>
|
|
|
131
131
|
* before the helper returns. An empty array means the component hydrates
|
|
132
132
|
* cleanly; the container is discarded afterwards.
|
|
133
133
|
*/
|
|
134
|
-
export function hydrationMismatches(view: () =>
|
|
134
|
+
export function hydrationMismatches(view: () => Renderable): HydrationMismatch[]
|
|
135
135
|
{
|
|
136
136
|
const container = document.createElement("div");
|
|
137
137
|
container.innerHTML = renderToString(view);
|