mirror of
https://github.com/gosticks/DefinitelyTyped.git
synced 2026-10-04 23:07:06 +00:00
Add @testing-library/jest-dom (#37792)
* Add @testing-library/jest-dom * Fix global test * Update jest-dom typings for (future) v5 - Remove module typings - Sync global typings with latest version Apply suggestions from code review Co-Authored-By: Sebastian Silbermann <silbermann.sebastian@gmail.com> Co-authored-by: Sebastian Silbermann <silbermann.sebastian@gmail.com>
This commit is contained in:
committed by
John Reilly
co-authored by
Sebastian Silbermann
parent
4ab4fa9c80
commit
903eaaf06d
+36
@@ -0,0 +1,36 @@
|
||||
// Type definitions for @testing-library/jest-dom 5.0
|
||||
// Project: https://github.com/testing-library/jest-dom
|
||||
// Definitions by: Ernesto García <https://github.com/gnapse>
|
||||
// John Gozde <https://github.com/jgoz>
|
||||
// Seth Macpherson <https://github.com/smacpherson64>
|
||||
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
||||
// TypeScript Version: 3.0
|
||||
|
||||
/// <reference types="jest" />
|
||||
|
||||
declare namespace jest {
|
||||
interface Matchers<R, T> {
|
||||
/**
|
||||
* @deprecated
|
||||
*/
|
||||
toBeInTheDOM(container?: HTMLElement | SVGElement): R;
|
||||
toBeInTheDocument(): R;
|
||||
toBeVisible(): R;
|
||||
toBeEmpty(): R;
|
||||
toBeDisabled(): R;
|
||||
toBeEnabled(): R;
|
||||
toBeInvalid(): R;
|
||||
toBeRequired(): R;
|
||||
toBeValid(): R;
|
||||
toContainElement(element: HTMLElement | SVGElement | null): R;
|
||||
toContainHTML(htmlText: string): R;
|
||||
toHaveAttribute(attr: string, value?: unknown): R;
|
||||
toHaveClass(...classNames: string[]): R;
|
||||
toHaveFocus(): R;
|
||||
toHaveFormValues(expectedValues: Record<string, unknown>): R;
|
||||
toHaveStyle(css: string): R;
|
||||
toHaveTextContent(text: string | RegExp, options?: { normalizeWhitespace: boolean }): R;
|
||||
toHaveValue(value?: string | string[] | number): R;
|
||||
toBeChecked(): R;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,65 @@
|
||||
const element: HTMLElement = document.body;
|
||||
|
||||
expect(element).toBeInTheDOM();
|
||||
expect(element).toBeInTheDOM(document.body);
|
||||
expect(element).toBeInTheDocument();
|
||||
expect(element).toBeVisible();
|
||||
expect(element).toBeEmpty();
|
||||
expect(element).toBeDisabled();
|
||||
expect(element).toBeEnabled();
|
||||
expect(element).toBeInvalid();
|
||||
expect(element).toBeRequired();
|
||||
expect(element).toBeValid();
|
||||
expect(element).toContainElement(document.body);
|
||||
expect(element).toContainElement(null);
|
||||
expect(element).toContainHTML('body');
|
||||
expect(element).toHaveAttribute('attr');
|
||||
expect(element).toHaveAttribute('attr', true);
|
||||
expect(element).toHaveAttribute('attr', 'yes');
|
||||
expect(element).toHaveClass();
|
||||
expect(element).toHaveClass('cls1');
|
||||
expect(element).toHaveClass('cls1', 'cls2', 'cls3', 'cls4');
|
||||
expect(element).toHaveFocus();
|
||||
expect(element).toHaveFormValues({ foo: 'bar', baz: 1 });
|
||||
expect(element).toHaveStyle('display: block');
|
||||
expect(element).toHaveTextContent('Text');
|
||||
expect(element).toHaveTextContent(/Text/);
|
||||
expect(element).toHaveTextContent('Text', { normalizeWhitespace: true });
|
||||
expect(element).toHaveTextContent(/Text/, { normalizeWhitespace: true });
|
||||
expect(element).toHaveValue();
|
||||
expect(element).toHaveValue('str');
|
||||
expect(element).toHaveValue(['str1', 'str2']);
|
||||
expect(element).toHaveValue(1);
|
||||
expect(element).toBeChecked();
|
||||
|
||||
expect(element).not.toBeInTheDOM();
|
||||
expect(element).not.toBeInTheDOM(document.body);
|
||||
expect(element).not.toBeInTheDocument();
|
||||
expect(element).not.toBeVisible();
|
||||
expect(element).not.toBeEmpty();
|
||||
expect(element).not.toBeDisabled();
|
||||
expect(element).not.toBeEnabled();
|
||||
expect(element).not.toBeInvalid();
|
||||
expect(element).not.toBeRequired();
|
||||
expect(element).not.toBeValid();
|
||||
expect(element).not.toContainElement(document.body);
|
||||
expect(element).not.toContainElement(null);
|
||||
expect(element).not.toContainHTML('body');
|
||||
expect(element).not.toHaveAttribute('attr');
|
||||
expect(element).not.toHaveAttribute('attr', true);
|
||||
expect(element).not.toHaveAttribute('attr', 'yes');
|
||||
expect(element).not.toHaveClass();
|
||||
expect(element).not.toHaveClass('cls1');
|
||||
expect(element).not.toHaveClass('cls1', 'cls2', 'cls3', 'cls4');
|
||||
expect(element).not.toHaveFocus();
|
||||
expect(element).not.toHaveFormValues({ foo: 'bar', baz: 1 });
|
||||
expect(element).not.toHaveStyle('display: block');
|
||||
expect(element).not.toHaveTextContent('Text');
|
||||
expect(element).not.toHaveTextContent(/Text/);
|
||||
expect(element).not.toHaveTextContent('Text', { normalizeWhitespace: true });
|
||||
expect(element).not.toHaveTextContent(/Text/, { normalizeWhitespace: true });
|
||||
expect(element).not.toHaveValue();
|
||||
expect(element).not.toHaveValue('str');
|
||||
expect(element).not.toHaveValue(['str1', 'str2']);
|
||||
expect(element).not.toHaveValue(1);
|
||||
expect(element).not.toBeChecked();
|
||||
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"module": "commonjs",
|
||||
"lib": ["es6", "dom"],
|
||||
"noImplicitAny": true,
|
||||
"noImplicitThis": true,
|
||||
"strictNullChecks": true,
|
||||
"strictFunctionTypes": true,
|
||||
"baseUrl": "../",
|
||||
"typeRoots": ["../"],
|
||||
"target": "es6",
|
||||
"types": [],
|
||||
"noEmit": true,
|
||||
"forceConsistentCasingInFileNames": true,
|
||||
"paths": {
|
||||
"@testing-library/jest-dom": ["testing-library__jest-dom"]
|
||||
}
|
||||
},
|
||||
"files": [
|
||||
"index.d.ts",
|
||||
"test/testing-library__jest-dom-global-tests.ts"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"extends": "dtslint/dt.json"
|
||||
}
|
||||
Reference in New Issue
Block a user