ember-vitest 0.3.2 → 0.3.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.
@@ -0,0 +1,18 @@
1
+ import Application from "ember-strict-application-resolver";
2
+ import type EmberApplication from "@ember/application";
3
+ declare class App extends Application {
4
+ modules: {};
5
+ }
6
+ export declare function createApp(element: HTMLElement): App & {
7
+ autoboot: boolean;
8
+ rootElement: HTMLElement;
9
+ };
10
+ export declare function create(app: typeof EmberApplication | undefined, element: HTMLElement): (App & {
11
+ autoboot: boolean;
12
+ rootElement: HTMLElement;
13
+ }) | (EmberApplication & {
14
+ autoboot: boolean;
15
+ rootElement: HTMLElement;
16
+ });
17
+ export {};
18
+ //# sourceMappingURL=create-app.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-app.d.ts","sourceRoot":"","sources":["../src/create-app.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,mCAAmC,CAAC;AAC5D,OAAO,KAAK,gBAAgB,MAAM,oBAAoB,CAAC;AAEvD,cAAM,GAAI,SAAQ,WAAW;IAC3B,OAAO,KAAM;CACd;AAED,wBAAgB,SAAS,CAAC,OAAO,EAAE,WAAW;;;EAE7C;AAED,wBAAgB,MAAM,CACpB,GAAG,EAAE,OAAO,gBAAgB,GAAG,SAAS,EACxC,OAAO,EAAE,WAAW;;;;;;GAOrB"}
@@ -0,0 +1,34 @@
1
+ import { type TestContext } from "@ember/test-helpers";
2
+ import type EmberApplication from "@ember/application";
3
+ import type { Owner } from "@ember/test-helpers/build-owner";
4
+ export declare const test: import("vitest").TestAPI<{
5
+ app: typeof EmberApplication;
6
+ element: HTMLElement;
7
+ context: TestContext;
8
+ env: {
9
+ owner: Owner;
10
+ element: HTMLElement;
11
+ pauseTest: () => Promise<void>;
12
+ };
13
+ }>;
14
+ export declare const renderingTest: import("vitest").TestAPI<{
15
+ app: typeof EmberApplication;
16
+ element: HTMLElement;
17
+ context: TestContext;
18
+ env: {
19
+ owner: Owner;
20
+ element: HTMLElement;
21
+ pauseTest: () => Promise<void>;
22
+ };
23
+ }>;
24
+ export declare const applicationTest: import("vitest").TestAPI<{
25
+ app: typeof EmberApplication;
26
+ element: HTMLElement;
27
+ context: TestContext;
28
+ env: {
29
+ owner: Owner;
30
+ element: HTMLElement;
31
+ pauseTest: () => Promise<void>;
32
+ };
33
+ }>;
34
+ //# sourceMappingURL=extended-test-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extended-test-context.d.ts","sourceRoot":"","sources":["../src/extended-test-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,WAAW,EACjB,MAAM,qBAAqB,CAAC;AAa7B,OAAO,KAAK,gBAAgB,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iCAAiC,CAAC;AAsB7D,eAAO,MAAM,IAAI;;;;;eANN,KAAK;iBACH,WAAW;mBACT,MAAM,OAAO,CAAC,IAAI,CAAC;;EAqChC,CAAC;AAEH,eAAO,MAAM,aAAa;;;;;eAzCf,KAAK;iBACH,WAAW;mBACT,MAAM,OAAO,CAAC,IAAI,CAAC;;EAyEhC,CAAC;AAEH,eAAO,MAAM,eAAe;;;;;eA7EjB,KAAK;iBACH,WAAW;mBACT,MAAM,OAAO,CAAC,IAAI,CAAC;;EA+GhC,CAAC"}
@@ -0,0 +1,6 @@
1
+ declare global {
2
+ var resumeTest: typeof import("@ember/test-helpers").resumeTest;
3
+ var pauseTest: typeof import("@ember/test-helpers").pauseTest;
4
+ }
5
+ export {};
6
+ //# sourceMappingURL=global.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"global.d.ts","sourceRoot":"","sources":["../src/global.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,CAAC;IACb,IAAI,UAAU,EAAE,cAAc,qBAAqB,EAAE,UAAU,CAAC;IAChE,IAAI,SAAS,EAAE,cAAc,qBAAqB,EAAE,SAAS,CAAC;CAC/D;AAED,OAAO,EAAE,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { test, renderingTest, applicationTest, } from "./extended-test-context.ts";
2
+ export { setupContext, setupRenderingContext } from "./manual.ts";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,IAAI,EACJ,aAAa,EACb,eAAe,GAChB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,30 @@
1
+ import { click } from "@ember/test-helpers";
2
+ import type EmberApplication from "@ember/application";
3
+ import type Component from "@glimmer/component";
4
+ import type TOC from "@ember/component/template-only";
5
+ export declare function setupContext(): {
6
+ element: HTMLDivElement;
7
+ readonly owner: import("@ember/owner").default | undefined;
8
+ [Symbol.asyncDispose](): Promise<void>;
9
+ };
10
+ export declare function setupRenderingContext(app: typeof EmberApplication): Promise<{
11
+ element: HTMLDivElement;
12
+ readonly owner: import("@ember/test-helpers/build-owner").Owner;
13
+ find: {
14
+ <K extends keyof (HTMLElementTagNameMap | SVGElementTagNameMap)>(selector: K): HTMLElementTagNameMap[K] | SVGElementTagNameMap[K] | null;
15
+ <K extends keyof HTMLElementTagNameMap>(selector: K): HTMLElementTagNameMap[K] | null;
16
+ <K extends keyof SVGElementTagNameMap>(selector: K): SVGElementTagNameMap[K] | null;
17
+ <E extends Element = Element>(selector: string): E | null;
18
+ };
19
+ findAll: {
20
+ <K extends keyof HTMLElementTagNameMap>(selector: K): NodeListOf<HTMLElementTagNameMap[K]>;
21
+ <K extends keyof SVGElementTagNameMap>(selector: K): NodeListOf<SVGElementTagNameMap[K]>;
22
+ <K extends keyof HTMLElementDeprecatedTagNameMap>(selector: K): NodeListOf<HTMLElementDeprecatedTagNameMap[K]>;
23
+ <E extends Element = Element>(selector: string): NodeListOf<E>;
24
+ };
25
+ click(target: Parameters<typeof click>[0]): Promise<void>;
26
+ render(component: (new (...args: unknown[]) => Component) | typeof TOC): Promise<void>;
27
+ [Symbol.dispose](): Promise<void>;
28
+ [Symbol.asyncDispose](): Promise<void>;
29
+ }>;
30
+ //# sourceMappingURL=manual.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manual.d.ts","sourceRoot":"","sources":["../src/manual.ts"],"names":[],"mappings":"AACA,OAAO,EAAW,KAAK,EAAoB,MAAM,qBAAqB,CAAC;AAUvE,OAAO,KAAK,gBAAgB,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,SAAS,MAAM,oBAAoB,CAAC;AAChD,OAAO,KAAK,GAAG,MAAM,gCAAgC,CAAC;AAEtD,wBAAgB,YAAY;;;;EAgB3B;AAED,wBAAsB,qBAAqB,CAAC,GAAG,EAAE,OAAO,gBAAgB;;;;SAaxD,CAAC,SAAS,MAAM,CAAC,qBAAqB,GAAG,oBAAoB,CAAC,YAChE,CAAC,GACV,qBAAqB,CAAC,CAAC,CAAC,GAAG,oBAAoB,CAAC,CAAC,CAAC,GAAG,IAAI;SAC9C,CAAC,SAAS,MAAM,qBAAqB,YACvC,CAAC,GACV,qBAAqB,CAAC,CAAC,CAAC,GAAG,IAAI;SACpB,CAAC,SAAS,MAAM,oBAAoB,YACtC,CAAC,GACV,oBAAoB,CAAC,CAAC,CAAC,GAAG,IAAI;SACnB,CAAC,SAAS,OAAO,sBAAsB,MAAM,GAAG,CAAC,GAAG,IAAI;;;SAMrD,CAAC,SAAS,MAAM,qBAAqB,YAC1C,CAAC,GACV,UAAU,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;SACtB,CAAC,SAAS,MAAM,oBAAoB,YACzC,CAAC,GACV,UAAU,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;SACrB,CAAC,SAAS,MAAM,+BAA+B,YACpD,CAAC,GACV,UAAU,CAAC,+BAA+B,CAAC,CAAC,CAAC,CAAC;SAChC,CAAC,SAAS,OAAO,sBACtB,MAAM,GACf,UAAU,CAAC,CAAC,CAAC;;kBAYA,UAAU,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;sBAI5B,CAAC,KAAK,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,SAAS,CAAC,GAAG,OAAO,GAAG;;;GAuBpE"}
@@ -0,0 +1,23 @@
1
+ import Application from 'ember-strict-application-resolver';
2
+
3
+ class App extends Application {
4
+ modules = {};
5
+ }
6
+ function createApp(element) {
7
+ return App.create({
8
+ autoboot: false,
9
+ rootElement: element
10
+ });
11
+ }
12
+ function create(app, element) {
13
+ if (app) {
14
+ return app.create({
15
+ autoboot: false,
16
+ rootElement: element
17
+ });
18
+ }
19
+ return createApp(element);
20
+ }
21
+
22
+ export { create, createApp };
23
+ //# sourceMappingURL=create-app.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-app.js","sources":["../src/create-app.ts"],"sourcesContent":["import Application from \"ember-strict-application-resolver\";\nimport type EmberApplication from \"@ember/application\";\n\nclass App extends Application {\n modules = {};\n}\n\nexport function createApp(element: HTMLElement) {\n return App.create({ autoboot: false, rootElement: element });\n}\n\nexport function create(\n app: typeof EmberApplication | undefined,\n element: HTMLElement,\n) {\n if (app) {\n return app.create({ autoboot: false, rootElement: element });\n }\n\n return createApp(element);\n}\n"],"names":["App","Application","modules","createApp","element","create","autoboot","rootElement","app"],"mappings":";;AAGA,MAAMA,GAAG,SAASC,WAAW,CAAC;EAC5BC,OAAO,GAAG,EAAE;AACd;AAEO,SAASC,SAASA,CAACC,OAAoB,EAAE;EAC9C,OAAOJ,GAAG,CAACK,MAAM,CAAC;AAAEC,IAAAA,QAAQ,EAAE,KAAK;AAAEC,IAAAA,WAAW,EAAEH;AAAQ,GAAC,CAAC;AAC9D;AAEO,SAASC,MAAMA,CACpBG,GAAwC,EACxCJ,OAAoB,EACpB;AACA,EAAA,IAAII,GAAG,EAAE;IACP,OAAOA,GAAG,CAACH,MAAM,CAAC;AAAEC,MAAAA,QAAQ,EAAE,KAAK;AAAEC,MAAAA,WAAW,EAAEH;AAAQ,KAAC,CAAC;AAC9D,EAAA;EAEA,OAAOD,SAAS,CAACC,OAAO,CAAC;AAC3B;;;;"}
@@ -0,0 +1,96 @@
1
+ import { resumeTest, setApplication, setupContext, pauseTest, teardownContext, setupRenderingContext, setupApplicationContext } from '@ember/test-helpers';
2
+ import { test as test$1 } from 'vitest';
3
+ import Application from 'ember-strict-application-resolver';
4
+
5
+ globalThis.resumeTest = resumeTest;
6
+ class App extends Application {
7
+ modules = {};
8
+ }
9
+ const waitForSettled = true;
10
+ const teardownContextOptions = {
11
+ waitForSettled
12
+ };
13
+ const test = test$1.extend({
14
+ app: ({}, use) => use(App),
15
+ element: ({}, use) => use(document.createElement("div")),
16
+ context: ({}, use) => use({}),
17
+ env: [async ({
18
+ app,
19
+ element,
20
+ context
21
+ }, use) => {
22
+ document.body.append(element);
23
+ setApplication(app.create({
24
+ autoboot: false,
25
+ rootElement: element
26
+ }));
27
+ await setupContext(context);
28
+ await use({
29
+ owner: context.owner,
30
+ element,
31
+ pauseTest
32
+ });
33
+ await teardownContext(context, teardownContextOptions);
34
+ element.remove();
35
+ }, {
36
+ auto: true
37
+ }]
38
+ });
39
+ const renderingTest = test$1.extend({
40
+ app: ({}, use) => use(App),
41
+ element: ({}, use) => use(document.createElement("div")),
42
+ context: ({}, use) => use({}),
43
+ env: [async ({
44
+ app,
45
+ element,
46
+ context
47
+ }, use) => {
48
+ document.body.append(element);
49
+ setApplication(app.create({
50
+ autoboot: false,
51
+ rootElement: element
52
+ }));
53
+ await setupContext(context);
54
+ await setupRenderingContext(context);
55
+ await use({
56
+ owner: context.owner,
57
+ element,
58
+ pauseTest
59
+ });
60
+ await teardownContext(context, teardownContextOptions);
61
+ element.remove();
62
+ }, {
63
+ auto: true
64
+ }]
65
+ });
66
+ const applicationTest = test$1.extend({
67
+ app: ({}, use) => use(App),
68
+ element: ({}, use) => use(document.createElement("div")),
69
+ context: ({}, use) => use({}),
70
+ env: [async ({
71
+ app,
72
+ element,
73
+ context
74
+ }, use) => {
75
+ document.body.append(element);
76
+ console.log(app);
77
+ setApplication(app.create({
78
+ autoboot: false,
79
+ rootElement: element
80
+ }));
81
+ await setupContext(context);
82
+ await setupApplicationContext(context);
83
+ await use({
84
+ owner: context.owner,
85
+ element,
86
+ pauseTest
87
+ });
88
+ await teardownContext(context, teardownContextOptions);
89
+ element.remove();
90
+ }, {
91
+ auto: true
92
+ }]
93
+ });
94
+
95
+ export { applicationTest, renderingTest, test };
96
+ //# sourceMappingURL=extended-test-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extended-test-context.js","sources":["../src/extended-test-context.ts"],"sourcesContent":["import {\n setApplication,\n resumeTest,\n pauseTest,\n type TestContext,\n} from \"@ember/test-helpers\";\n\n// https://vitest.dev/guide/test-context.html#extend-test-context\nimport { test as baseTest } from \"vitest\";\nimport {\n setupContext,\n teardownContext,\n setupRenderingContext,\n setupApplicationContext,\n} from \"@ember/test-helpers\";\n\nimport Application from \"ember-strict-application-resolver\";\n\nimport type EmberApplication from \"@ember/application\";\nimport type { Owner } from \"@ember/test-helpers/build-owner\";\n\nglobalThis.resumeTest = resumeTest;\n\nclass App extends Application {\n modules = {};\n}\n\nconst waitForSettled = true;\nconst teardownContextOptions = { waitForSettled };\n\ntype ExtendedTestContext = {\n app: typeof EmberApplication;\n element: HTMLElement;\n context: TestContext;\n env: {\n owner: Owner;\n element: HTMLElement;\n pauseTest: () => Promise<void>;\n };\n};\n\nexport const test = baseTest.extend<ExtendedTestContext>({\n app: ({}, use) => use(App),\n element: ({}, use) => use(document.createElement(\"div\")),\n context: ({}, use) => use({} as TestContext),\n env: [\n async (\n {\n app,\n element,\n context,\n }: {\n app: typeof EmberApplication;\n element: HTMLElement;\n context: TestContext;\n },\n use,\n ) => {\n document.body.append(element);\n\n setApplication(app.create({ autoboot: false, rootElement: element }));\n await setupContext(context);\n\n await use({\n owner: context.owner,\n element,\n pauseTest,\n });\n\n await teardownContext(context, teardownContextOptions);\n element.remove();\n },\n { auto: true },\n ],\n});\n\nexport const renderingTest = baseTest.extend<ExtendedTestContext>({\n app: ({}, use) => use(App),\n element: ({}, use) => use(document.createElement(\"div\")),\n context: ({}, use) => use({} as TestContext),\n env: [\n async (\n {\n app,\n element,\n context,\n }: {\n app: typeof EmberApplication;\n element: HTMLElement;\n context: TestContext;\n },\n use,\n ) => {\n document.body.append(element);\n\n setApplication(app.create({ autoboot: false, rootElement: element }));\n await setupContext(context);\n await setupRenderingContext(context);\n\n await use({\n owner: context.owner,\n element,\n pauseTest,\n });\n\n await teardownContext(context, teardownContextOptions);\n element.remove();\n },\n { auto: true },\n ],\n});\n\nexport const applicationTest = baseTest.extend<ExtendedTestContext>({\n app: ({}, use) => use(App),\n element: ({}, use) => use(document.createElement(\"div\")),\n context: ({}, use) => use({} as TestContext),\n env: [\n async (\n {\n app,\n element,\n context,\n }: {\n app: typeof EmberApplication;\n element: HTMLElement;\n context: TestContext;\n },\n use,\n ) => {\n document.body.append(element);\n\n console.log(app);\n\n setApplication(app.create({ autoboot: false, rootElement: element }));\n await setupContext(context);\n await setupApplicationContext(context);\n\n await use({\n owner: context.owner,\n element,\n pauseTest,\n });\n\n await teardownContext(context, teardownContextOptions);\n element.remove();\n },\n { auto: true },\n ],\n});\n"],"names":["globalThis","resumeTest","App","Application","modules","waitForSettled","teardownContextOptions","test","baseTest","extend","app","use","element","document","createElement","context","env","body","append","setApplication","create","autoboot","rootElement","setupContext","owner","pauseTest","teardownContext","remove","auto","renderingTest","setupRenderingContext","applicationTest","console","log","setupApplicationContext"],"mappings":"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"}
package/dist/global.js ADDED
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=global.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"global.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
package/dist/index.js ADDED
@@ -0,0 +1,3 @@
1
+ export { applicationTest, renderingTest, test } from './extended-test-context.js';
2
+ export { setupContext, setupRenderingContext } from './manual.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
package/dist/manual.js ADDED
@@ -0,0 +1,76 @@
1
+ import { getOwner } from '@ember/owner';
2
+ import { settled, setApplication, setupContext as setupContext$1, teardownContext, click } from '@ember/test-helpers';
3
+ import { renderComponent } from '@ember/renderer';
4
+ import { createApp, create } from './create-app.js';
5
+
6
+ function setupContext() {
7
+ let element = document.createElement("div");
8
+ document.body.append(element);
9
+ const app = createApp(element);
10
+ return {
11
+ element,
12
+ get owner() {
13
+ return getOwner(app);
14
+ },
15
+ async [Symbol.asyncDispose]() {
16
+ app.destroy();
17
+ await settled();
18
+ element.remove();
19
+ }
20
+ };
21
+ }
22
+ async function setupRenderingContext(app) {
23
+ let element = document.createElement("div");
24
+ document.body.append(element);
25
+ let renders = [];
26
+ let ctx = {};
27
+ let created = create(app, element);
28
+ setApplication(created);
29
+ await setupContext$1(ctx);
30
+
31
+ // Overloads that match Element.querySelector:
32
+
33
+ function find(selector) {
34
+ return element.querySelector(selector);
35
+ }
36
+
37
+ // Overloads that match Element.querySelectorAll:
38
+
39
+ function findAll(selector) {
40
+ return element.querySelectorAll(selector);
41
+ }
42
+ return {
43
+ element,
44
+ get owner() {
45
+ return ctx.owner;
46
+ },
47
+ find,
48
+ findAll,
49
+ click(target) {
50
+ return click(target);
51
+ },
52
+ async render(component) {
53
+ let result = renderComponent(component, {
54
+ into: element,
55
+ owner: ctx.owner
56
+ });
57
+ renders.push(result);
58
+ await settled();
59
+ },
60
+ async [Symbol.dispose]() {
61
+ renders.forEach(r => r.destroy());
62
+ await teardownContext(ctx);
63
+ element.remove();
64
+ },
65
+ async [Symbol.asyncDispose]() {
66
+ renders.forEach(r => r.destroy());
67
+ await settled();
68
+ await teardownContext(ctx);
69
+ await settled();
70
+ element.remove();
71
+ }
72
+ };
73
+ }
74
+
75
+ export { setupContext, setupRenderingContext };
76
+ //# sourceMappingURL=manual.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manual.js","sources":["../src/manual.ts"],"sourcesContent":["import { getOwner } from \"@ember/owner\";\nimport { settled, click, type TestContext } from \"@ember/test-helpers\";\nimport {\n setupContext as emberSetupContext,\n teardownContext,\n setApplication,\n type Target,\n} from \"@ember/test-helpers\";\nimport { renderComponent } from \"@ember/renderer\";\nimport { create, createApp } from \"./create-app.ts\";\n\nimport type EmberApplication from \"@ember/application\";\nimport type Component from \"@glimmer/component\";\nimport type TOC from \"@ember/component/template-only\";\n\nexport function setupContext() {\n let element = document.createElement(\"div\");\n document.body.append(element);\n const app = createApp(element);\n\n return {\n element,\n get owner() {\n return getOwner(app);\n },\n async [Symbol.asyncDispose]() {\n app.destroy();\n await settled();\n element.remove();\n },\n };\n}\n\nexport async function setupRenderingContext(app: typeof EmberApplication) {\n let element = document.createElement(\"div\");\n document.body.append(element);\n\n let renders: Array<ReturnType<typeof renderComponent>> = [];\n let ctx = {} as TestContext;\n let created = create(app, element);\n\n setApplication(created);\n\n await emberSetupContext(ctx);\n\n // Overloads that match Element.querySelector:\n function find<K extends keyof (HTMLElementTagNameMap | SVGElementTagNameMap)>(\n selector: K,\n ): HTMLElementTagNameMap[K] | SVGElementTagNameMap[K] | null;\n function find<K extends keyof HTMLElementTagNameMap>(\n selector: K,\n ): HTMLElementTagNameMap[K] | null;\n function find<K extends keyof SVGElementTagNameMap>(\n selector: K,\n ): SVGElementTagNameMap[K] | null;\n function find<E extends Element = Element>(selector: string): E | null;\n function find(selector: string) {\n return element.querySelector(selector);\n }\n\n // Overloads that match Element.querySelectorAll:\n function findAll<K extends keyof HTMLElementTagNameMap>(\n selector: K,\n ): NodeListOf<HTMLElementTagNameMap[K]>;\n function findAll<K extends keyof SVGElementTagNameMap>(\n selector: K,\n ): NodeListOf<SVGElementTagNameMap[K]>;\n function findAll<K extends keyof HTMLElementDeprecatedTagNameMap>(\n selector: K,\n ): NodeListOf<HTMLElementDeprecatedTagNameMap[K]>;\n function findAll<E extends Element = Element>(\n selector: string,\n ): NodeListOf<E>;\n function findAll(selector: string) {\n return element.querySelectorAll(selector);\n }\n\n return {\n element,\n get owner() {\n return ctx.owner;\n },\n find,\n findAll,\n click(target: Parameters<typeof click>[0]) {\n return click(target);\n },\n async render(\n component: (new (...args: unknown[]) => Component) | typeof TOC,\n ) {\n let result = renderComponent(component, {\n into: element,\n owner: ctx.owner,\n });\n\n renders.push(result);\n await settled();\n },\n async [Symbol.dispose]() {\n renders.forEach((r) => r.destroy());\n await teardownContext(ctx);\n element.remove();\n },\n async [Symbol.asyncDispose]() {\n renders.forEach((r) => r.destroy());\n await settled();\n await teardownContext(ctx);\n await settled();\n element.remove();\n },\n };\n}\n"],"names":["setupContext","element","document","createElement","body","append","app","createApp","owner","getOwner","Symbol","asyncDispose","destroy","settled","remove","setupRenderingContext","renders","ctx","created","create","setApplication","emberSetupContext","find","selector","querySelector","findAll","querySelectorAll","click","target","render","component","result","renderComponent","into","push","dispose","forEach","r","teardownContext"],"mappings":";;;;;AAeO,SAASA,YAAYA,GAAG;AAC7B,EAAA,IAAIC,OAAO,GAAGC,QAAQ,CAACC,aAAa,CAAC,KAAK,CAAC;AAC3CD,EAAAA,QAAQ,CAACE,IAAI,CAACC,MAAM,CAACJ,OAAO,CAAC;AAC7B,EAAA,MAAMK,GAAG,GAAGC,SAAS,CAACN,OAAO,CAAC;EAE9B,OAAO;IACLA,OAAO;IACP,IAAIO,KAAKA,GAAG;MACV,OAAOC,QAAQ,CAACH,GAAG,CAAC;IACtB,CAAC;IACD,OAAOI,MAAM,CAACC,YAAY,CAAA,GAAI;MAC5BL,GAAG,CAACM,OAAO,EAAE;MACb,MAAMC,OAAO,EAAE;MACfZ,OAAO,CAACa,MAAM,EAAE;AAClB,IAAA;GACD;AACH;AAEO,eAAeC,qBAAqBA,CAACT,GAA4B,EAAE;AACxE,EAAA,IAAIL,OAAO,GAAGC,QAAQ,CAACC,aAAa,CAAC,KAAK,CAAC;AAC3CD,EAAAA,QAAQ,CAACE,IAAI,CAACC,MAAM,CAACJ,OAAO,CAAC;EAE7B,IAAIe,OAAkD,GAAG,EAAE;EAC3D,IAAIC,GAAG,GAAG,EAAiB;AAC3B,EAAA,IAAIC,OAAO,GAAGC,MAAM,CAACb,GAAG,EAAEL,OAAO,CAAC;EAElCmB,cAAc,CAACF,OAAO,CAAC;EAEvB,MAAMG,cAAiB,CAACJ,GAAG,CAAC;;AAE5B;;EAWA,SAASK,IAAIA,CAACC,QAAgB,EAAE;AAC9B,IAAA,OAAOtB,OAAO,CAACuB,aAAa,CAACD,QAAQ,CAAC;AACxC,EAAA;;AAEA;;EAaA,SAASE,OAAOA,CAACF,QAAgB,EAAE;AACjC,IAAA,OAAOtB,OAAO,CAACyB,gBAAgB,CAACH,QAAQ,CAAC;AAC3C,EAAA;EAEA,OAAO;IACLtB,OAAO;IACP,IAAIO,KAAKA,GAAG;MACV,OAAOS,GAAG,CAACT,KAAK;IAClB,CAAC;IACDc,IAAI;IACJG,OAAO;IACPE,KAAKA,CAACC,MAAmC,EAAE;MACzC,OAAOD,KAAK,CAACC,MAAM,CAAC;IACtB,CAAC;IACD,MAAMC,MAAMA,CACVC,SAA+D,EAC/D;AACA,MAAA,IAAIC,MAAM,GAAGC,eAAe,CAACF,SAAS,EAAE;AACtCG,QAAAA,IAAI,EAAEhC,OAAO;QACbO,KAAK,EAAES,GAAG,CAACT;AACb,OAAC,CAAC;AAEFQ,MAAAA,OAAO,CAACkB,IAAI,CAACH,MAAM,CAAC;MACpB,MAAMlB,OAAO,EAAE;IACjB,CAAC;IACD,OAAOH,MAAM,CAACyB,OAAO,CAAA,GAAI;MACvBnB,OAAO,CAACoB,OAAO,CAAEC,CAAC,IAAKA,CAAC,CAACzB,OAAO,EAAE,CAAC;MACnC,MAAM0B,eAAe,CAACrB,GAAG,CAAC;MAC1BhB,OAAO,CAACa,MAAM,EAAE;IAClB,CAAC;IACD,OAAOJ,MAAM,CAACC,YAAY,CAAA,GAAI;MAC5BK,OAAO,CAACoB,OAAO,CAAEC,CAAC,IAAKA,CAAC,CAACzB,OAAO,EAAE,CAAC;MACnC,MAAMC,OAAO,EAAE;MACf,MAAMyB,eAAe,CAACrB,GAAG,CAAC;MAC1B,MAAMJ,OAAO,EAAE;MACfZ,OAAO,CAACa,MAAM,EAAE;AAClB,IAAA;GACD;AACH;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ember-vitest",
3
- "version": "0.3.2",
3
+ "version": "0.3.3",
4
4
  "description": "integration for testing Ember with Vitest",
5
5
  "keywords": [
6
6
  "ember",