@marko/testing-library
Advanced tools
Comparing version
@@ -1,8 +0,8 @@ | ||
import type { RenderOptions, Template, EventRecord, AsyncReturnValue } from "./shared"; | ||
import type { RenderOptions, EventRecord, InternalEventNames, AsyncReturnValue } from "./shared"; | ||
import { PrettyDOMOptions } from "@testing-library/dom"; | ||
export { FireFunction, FireObject, fireEvent, act } from "./shared"; | ||
export declare type RenderResult = AsyncReturnValue<typeof render>; | ||
export declare function render<T extends Template>(template: T | { | ||
export type RenderResult = AsyncReturnValue<typeof render>; | ||
export declare function render<T extends Marko.Template>(template: T | { | ||
default: T; | ||
}, input?: Parameters<T["render"]>[0], options?: RenderOptions): Promise<{ | ||
}, input?: Marko.TemplateInput<Marko.Input<T>>, options?: RenderOptions): Promise<{ | ||
readonly getByLabelText: (<T_1 extends HTMLElement = HTMLElement>(id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").SelectorMatcherOptions | undefined) => T_1) & ((id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").SelectorMatcherOptions | undefined) => HTMLElement); | ||
@@ -58,8 +58,8 @@ readonly getAllByLabelText: (<T_2 extends HTMLElement = HTMLElement>(id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").SelectorMatcherOptions | undefined) => T_2[]) & ((id: import("@testing-library/dom").Matcher, options?: import("@testing-library/dom").SelectorMatcherOptions | undefined) => HTMLElement[]); | ||
readonly instance: any; | ||
readonly emitted: <N extends string = "*">(type?: (N extends "render" | "input" | "create" | "mount" | "update" | "destroy" ? never : N) | undefined) => NonNullable<EventRecord[N]>; | ||
readonly rerender: (newInput?: Parameters<T["render"]>[0] | undefined) => Promise<void>; | ||
readonly emitted: <N extends string = "*">(type?: (N extends "create" | "input" | "render" | "mount" | "update" | "destroy" ? never : N) | undefined) => NonNullable<EventRecord[N]>; | ||
readonly rerender: (newInput?: typeof input) => Promise<void>; | ||
readonly cleanup: () => void; | ||
readonly debug: (element?: Element | HTMLDocument | (Element | HTMLDocument)[] | undefined, maxLength?: number | undefined, options?: PrettyDOMOptions | undefined) => void; | ||
readonly debug: (element?: Element | HTMLDocument | (Element | HTMLDocument)[] | undefined, maxLength?: number, options?: PrettyDOMOptions) => void; | ||
}>; | ||
export declare function cleanup(): void; | ||
export * from "@testing-library/dom"; |
@@ -1,12 +0,12 @@ | ||
import type { AsyncReturnValue, RenderOptions, Template, EventRecord, InternalEventNames } from "./shared"; | ||
import type { AsyncReturnValue, RenderOptions, EventRecord, InternalEventNames } from "./shared"; | ||
import { BoundFunctions, queries as Queries, screen as testingLibraryScreen } from "@testing-library/dom"; | ||
export { FireFunction, FireObject, fireEvent, act } from "./shared"; | ||
export declare type RenderResult = AsyncReturnValue<typeof render>; | ||
export type RenderResult = AsyncReturnValue<typeof render>; | ||
export declare const screen: typeof testingLibraryScreen; | ||
export declare function render<T extends Template>(template: T | { | ||
export declare function render<T extends Marko.Template>(template: T | { | ||
default: T; | ||
}, input?: Parameters<NonNullable<T["renderToString"]>>[0], options?: RenderOptions): Promise<BoundFunctions<typeof Queries> & { | ||
}, input?: Marko.TemplateInput<Marko.Input<T>>, options?: RenderOptions): Promise<BoundFunctions<typeof Queries> & { | ||
container: HTMLElement | DocumentFragment; | ||
instance: any; | ||
debug: typeof testingLibraryScreen["debug"]; | ||
debug: (typeof testingLibraryScreen)["debug"]; | ||
emitted<N extends string = "*">(type?: N extends InternalEventNames ? never : N): NonNullable<EventRecord[N]>; | ||
@@ -13,0 +13,0 @@ rerender(newInput?: typeof input): Promise<void>; |
@@ -13,12 +13,6 @@ import type { EventType } from "@testing-library/dom"; | ||
} | ||
export interface Template { | ||
renderToString?(input: unknown, cb: (err: Error | null, result: any) => void): any; | ||
render(input: unknown, cb: (err: Error | null, result: any) => void): any; | ||
} | ||
export declare let autoCleanupEnabled: boolean; | ||
export declare function disableAutoCleanup(): void; | ||
export declare const INTERNAL_EVENTS: readonly ["create", "input", "render", "mount", "update", "destroy"]; | ||
export declare type InternalEventNames = typeof INTERNAL_EVENTS[number]; | ||
export declare type FireFunction = (...params: Parameters<originalFireFunction>) => Promise<ReturnType<originalFireFunction>>; | ||
export declare type FireObject = { | ||
export type InternalEventNames = (typeof INTERNAL_EVENTS)[number]; | ||
export type FireFunction = (...params: Parameters<originalFireFunction>) => Promise<ReturnType<originalFireFunction>>; | ||
export type FireObject = { | ||
[K in EventType]: (...params: Parameters<originalFireObject[keyof originalFireObject]>) => Promise<ReturnType<originalFireFunction>>; | ||
@@ -28,2 +22,2 @@ }; | ||
export declare const fireEvent: FireFunction & FireObject; | ||
export declare type AsyncReturnValue<AsyncFunction extends (...args: any) => Promise<any>> = Parameters<NonNullable<Parameters<ReturnType<AsyncFunction>["then"]>[0]>>[0]; | ||
export type AsyncReturnValue<AsyncFunction extends (...args: any) => Promise<any>> = Parameters<NonNullable<Parameters<ReturnType<AsyncFunction>["then"]>[0]>>[0]; |
{ | ||
"name": "@marko/testing-library", | ||
"description": "Simple and complete Marko testing utilities that encourage good testing practices.", | ||
"version": "6.1.2", | ||
"version": "6.1.4", | ||
"author": "Dylan Piercey <dpiercey@ebay.com>", | ||
"browser": "dist/index-browser.js", | ||
"bugs": "https://github.com/marko-js/testing-library/issues", | ||
"dependencies": { | ||
"@testing-library/dom": "^8", | ||
"jsdom": "^18" | ||
"@testing-library/dom": "^9", | ||
"jsdom": "^22" | ||
}, | ||
@@ -15,3 +16,3 @@ "devDependencies": { | ||
"@marko/jest": "^4.0.0", | ||
"@testing-library/jest-dom": "^5.12.0", | ||
"@testing-library/jest-dom": "^5.16.5", | ||
"@types/jest": "^26.0.23", | ||
@@ -23,3 +24,3 @@ "@types/jsdom": "^16.2.10", | ||
"codecov": "^3.8.2", | ||
"esbuild": "^0.12.5", | ||
"esbuild": "^0.17.18", | ||
"esbuild-jest": "^0.5.0", | ||
@@ -32,3 +33,4 @@ "eslint": "^7.27.0", | ||
"husky": "^6.0.0", | ||
"jest": "^27.0.3", | ||
"jest": "^29.5.0", | ||
"jest-environment-jsdom": "^29.5.0", | ||
"lint-staged": "^11.0.0", | ||
@@ -41,2 +43,13 @@ "marko": "^4.18.2", | ||
}, | ||
"exports": { | ||
".": { | ||
"browser": { | ||
"import": "./dist/index-browser.js", | ||
"default": "./dist/index-browser.js" | ||
}, | ||
"import": "./dist/index.mjs", | ||
"default": "./dist/index.js" | ||
}, | ||
"./dont-cleanup-after-each": "./dont-cleanup-after-each/index.js" | ||
}, | ||
"files": [ | ||
@@ -49,3 +62,2 @@ "dist", | ||
"homepage": "https://github.com/marko-js/testing-library", | ||
"jsnext": "dist/esm", | ||
"keywords": [ | ||
@@ -56,4 +68,3 @@ "marko", | ||
"license": "MIT", | ||
"main": "dist/cjs", | ||
"module": "dist/esm", | ||
"main": "dist/index.js", | ||
"peerDependencies": { | ||
@@ -67,3 +78,3 @@ "marko": "^3 || ^4 || ^5" | ||
"scripts": { | ||
"build": "node build.js && tsc", | ||
"build": "node build.mjs && tsc", | ||
"ci:report": "codecov", | ||
@@ -70,0 +81,0 @@ "ci:test": "jest --ci --coverage", |
823
0.37%56827
-34.3%26
4%11
-42.11%+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
Updated
Updated