@najemi-software/vitest-dom 0.24.0 → 0.25.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/CHANGELOG.md +7 -0
- package/esm/matchers/to-be-checked.d.ts +23 -0
- package/esm/matchers/to-be-checked.js +23 -0
- package/esm/matchers/to-be-checked.js.map +1 -1
- package/esm/matchers/to-be-disabled.d.ts +38 -0
- package/esm/matchers/to-be-disabled.js +38 -0
- package/esm/matchers/to-be-disabled.js.map +1 -1
- package/esm/matchers/to-be-empty-dom-element.d.ts +13 -0
- package/esm/matchers/to-be-empty-dom-element.js +13 -0
- package/esm/matchers/to-be-empty-dom-element.js.map +1 -1
- package/esm/matchers/to-be-empty.d.ts +15 -1
- package/esm/matchers/to-be-empty.js +15 -1
- package/esm/matchers/to-be-empty.js.map +1 -1
- package/esm/matchers/to-be-in-the-document.d.ts +11 -0
- package/esm/matchers/to-be-in-the-document.js +11 -0
- package/esm/matchers/to-be-in-the-document.js.map +1 -1
- package/esm/matchers/to-be-in-the-dom.d.ts +12 -1
- package/esm/matchers/to-be-in-the-dom.js +12 -1
- package/esm/matchers/to-be-in-the-dom.js.map +1 -1
- package/esm/matchers/to-be-invalid.d.ts +36 -0
- package/esm/matchers/to-be-invalid.js +36 -0
- package/esm/matchers/to-be-invalid.js.map +1 -1
- package/esm/matchers/to-be-partially-checked.d.ts +37 -0
- package/esm/matchers/to-be-partially-checked.js +37 -0
- package/esm/matchers/to-be-partially-checked.js.map +1 -1
- package/esm/matchers/to-be-required.d.ts +17 -0
- package/esm/matchers/to-be-required.js +17 -0
- package/esm/matchers/to-be-required.js.map +1 -1
- package/esm/matchers/to-be-visible.d.ts +26 -0
- package/esm/matchers/to-be-visible.js +26 -0
- package/esm/matchers/to-be-visible.js.map +1 -1
- package/esm/matchers/to-contain-element.d.ts +17 -0
- package/esm/matchers/to-contain-element.js +17 -0
- package/esm/matchers/to-contain-element.js.map +1 -1
- package/esm/matchers/to-contain-html.d.ts +10 -0
- package/esm/matchers/to-contain-html.js +10 -0
- package/esm/matchers/to-contain-html.js.map +1 -1
- package/esm/matchers/to-have-accessible-description.d.ts +25 -0
- package/esm/matchers/to-have-accessible-description.js +25 -0
- package/esm/matchers/to-have-accessible-description.js.map +1 -1
- package/esm/matchers/to-have-accessible-errormessage.d.ts +38 -0
- package/esm/matchers/to-have-accessible-errormessage.js +38 -0
- package/esm/matchers/to-have-accessible-errormessage.js.map +1 -1
- package/esm/matchers/to-have-accessible-name.d.ts +30 -0
- package/esm/matchers/to-have-accessible-name.js +30 -0
- package/esm/matchers/to-have-accessible-name.js.map +1 -1
- package/esm/matchers/to-have-attribute.d.ts +22 -0
- package/esm/matchers/to-have-attribute.js +22 -0
- package/esm/matchers/to-have-attribute.js.map +1 -1
- package/esm/matchers/to-have-class.d.ts +25 -0
- package/esm/matchers/to-have-class.js +25 -0
- package/esm/matchers/to-have-class.js.map +1 -1
- package/esm/matchers/to-have-description.d.ts +48 -1
- package/esm/matchers/to-have-description.js +48 -1
- package/esm/matchers/to-have-description.js.map +1 -1
- package/esm/matchers/to-have-display-value.d.ts +41 -0
- package/esm/matchers/to-have-display-value.js +41 -0
- package/esm/matchers/to-have-display-value.js.map +1 -1
- package/esm/matchers/to-have-errormessage.d.ts +40 -0
- package/esm/matchers/to-have-errormessage.js +40 -0
- package/esm/matchers/to-have-errormessage.js.map +1 -1
- package/esm/matchers/to-have-focus.d.ts +16 -0
- package/esm/matchers/to-have-focus.js +16 -0
- package/esm/matchers/to-have-focus.js.map +1 -1
- package/esm/matchers/to-have-form-values.d.ts +20 -0
- package/esm/matchers/to-have-form-values.js +20 -0
- package/esm/matchers/to-have-form-values.js.map +1 -1
- package/esm/matchers/to-have-style.d.ts +22 -0
- package/esm/matchers/to-have-style.js +22 -0
- package/esm/matchers/to-have-style.js.map +1 -1
- package/esm/matchers/to-have-text-content.d.ts +23 -0
- package/esm/matchers/to-have-text-content.js +23 -0
- package/esm/matchers/to-have-text-content.js.map +1 -1
- package/esm/matchers/to-have-value.d.ts +19 -0
- package/esm/matchers/to-have-value.js +19 -0
- package/esm/matchers/to-have-value.js.map +1 -1
- package/esm/matchers.d.ts +0 -624
- package/package.json +1 -1
|
@@ -1,6 +1,53 @@
|
|
|
1
1
|
import { checkHtmlElement, getMessage, normalize, deprecate } from "./utils.js";
|
|
2
2
|
// See algoritm: https://www.w3.org/TR/accname-1.1/#mapping_additional_nd_description
|
|
3
|
-
/**
|
|
3
|
+
/**
|
|
4
|
+
* @deprecated
|
|
5
|
+
* since v5.14.1
|
|
6
|
+
* @description
|
|
7
|
+
* Check the accessible description for an element.
|
|
8
|
+
* This allows you to check whether the given element has a description or not.
|
|
9
|
+
*
|
|
10
|
+
* An element gets its description via the
|
|
11
|
+
* [`aria-describedby` attribute](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/ARIA_Techniques/Using_the_aria-describedby_attribute).
|
|
12
|
+
* Set this to the `id` of one or more other elements. These elements may be nested
|
|
13
|
+
* inside, be outside, or a sibling of the passed in element.
|
|
14
|
+
*
|
|
15
|
+
* Whitespace is normalized. Using multiple ids will
|
|
16
|
+
* [join the referenced elements’ text content separated by a space](https://www.w3.org/TR/accname-1.1/#mapping_additional_nd_description).
|
|
17
|
+
*
|
|
18
|
+
* When a `string` argument is passed through, it will perform a whole
|
|
19
|
+
* case-sensitive match to the description text.
|
|
20
|
+
*
|
|
21
|
+
* To perform a case-insensitive match, you can use a `RegExp` with the `/i`
|
|
22
|
+
* modifier.
|
|
23
|
+
*
|
|
24
|
+
* To perform a partial match, you can pass a `RegExp` or use
|
|
25
|
+
* `expect.stringContaining("partial string")`.
|
|
26
|
+
*
|
|
27
|
+
* @example
|
|
28
|
+
* <button aria-label="Close" aria-describedby="description-close">
|
|
29
|
+
* X
|
|
30
|
+
* </button>
|
|
31
|
+
* <div id="description-close">
|
|
32
|
+
* Closing will discard any changes
|
|
33
|
+
* </div>
|
|
34
|
+
*
|
|
35
|
+
* <button>Delete</button>
|
|
36
|
+
*
|
|
37
|
+
* const closeButton = getByRole('button', {name: 'Close'})
|
|
38
|
+
*
|
|
39
|
+
* expect(closeButton).toHaveDescription('Closing will discard any changes')
|
|
40
|
+
* expect(closeButton).toHaveDescription(/will discard/) // to partially match
|
|
41
|
+
* expect(closeButton).toHaveDescription(expect.stringContaining('will discard')) // to partially match
|
|
42
|
+
* expect(closeButton).toHaveDescription(/^closing/i) // to use case-insensitive match
|
|
43
|
+
* expect(closeButton).not.toHaveDescription('Other description')
|
|
44
|
+
*
|
|
45
|
+
* const deleteButton = getByRole('button', {name: 'Delete'})
|
|
46
|
+
* expect(deleteButton).not.toHaveDescription()
|
|
47
|
+
* expect(deleteButton).toHaveDescription('') // Missing or empty description always becomes a blank string
|
|
48
|
+
* @see
|
|
49
|
+
* [testing-library/jest-dom#tohavedescription](https://github.com/testing-library/jest-dom#tohavedescription)
|
|
50
|
+
*/
|
|
4
51
|
export function toHaveDescription(htmlElement, checkWith) {
|
|
5
52
|
deprecate("toHaveDescription", "Please use toHaveAccessibleDescription.");
|
|
6
53
|
checkHtmlElement(htmlElement, toHaveDescription, this);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"to-have-description.js","sourceRoot":"","sources":["../../src/matchers/to-have-description.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEhF,qFAAqF;AACrF
|
|
1
|
+
{"version":3,"file":"to-have-description.js","sourceRoot":"","sources":["../../src/matchers/to-have-description.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEhF,qFAAqF;AACrF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,MAAM,UAAU,iBAAiB,CAE7B,WAAoB,EACpB,SAA4D;IAE5D,SAAS,CAAC,mBAAmB,EAAE,yCAAyC,CAAC,CAAC;IAE1E,gBAAgB,CAAC,WAAW,EAAE,iBAAiB,EAAE,IAAI,CAAC,CAAC;IAEvD,MAAM,kBAAkB,GAAG,SAAS,KAAK,SAAS,CAAC;IAEnD,MAAM,gBAAgB,GAAG,WAAW,CAAC,YAAY,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC;IAC5E,MAAM,cAAc,GAAG,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACrE,IAAI,WAAW,GAAG,EAAE,CAAC;IACrB,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAG,WAAW,CAAC,aAAa,CAAC;QAC3C,MAAM,cAAc,GAAG,cAAc;aAChC,GAAG,CAAC,CAAC,aAAa,EAAE,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;aAC9D,MAAM,CAAC,CAAC,EAAE,EAAqB,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC;QACpD,WAAW,GAAG,SAAS,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAClF,CAAC;IAED,OAAO;QACH,IAAI,EAAE,kBAAkB;YACpB,CAAC,CAAC,SAAS,YAAY,MAAM;gBACzB,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC;gBAC7B,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,SAAS,CAAC;YACzC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC;QAC1B,OAAO,EAAE,GAAG,EAAE;YACV,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;YACxC,OAAO,UAAU,CACb,IAAI,EACJ,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,oBAAoB,EAAE,SAAS,EAAE,EAAE,CAAC,EACtF,wBAAwB,EAAE,mBAAmB,EAC7C,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,EACnC,UAAU,EACV,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,WAAW,CAAC,CACxC,CAAC;QACN,CAAC;KACJ,CAAC;AACN,CAAC"}
|
|
@@ -1,2 +1,43 @@
|
|
|
1
1
|
import type { MatcherResult, MatcherState } from "./types.js";
|
|
2
|
+
/**
|
|
3
|
+
* @description
|
|
4
|
+
* This allows you to check whether the given form element has the specified displayed value (the one the
|
|
5
|
+
* end user will see). It accepts <input>, <select> and <textarea> elements with the exception of <input type="checkbox">
|
|
6
|
+
* and <input type="radio">, which can be meaningfully matched only using toBeChecked or toHaveFormValues.
|
|
7
|
+
* @example
|
|
8
|
+
* <label for="input-example">First name</label>
|
|
9
|
+
* <input type="text" id="input-example" value="Luca" />
|
|
10
|
+
*
|
|
11
|
+
* <label for="textarea-example">Description</label>
|
|
12
|
+
* <textarea id="textarea-example">An example description here.</textarea>
|
|
13
|
+
*
|
|
14
|
+
* <label for="single-select-example">Fruit</label>
|
|
15
|
+
* <select id="single-select-example">
|
|
16
|
+
* <option value="">Select a fruit...</option>
|
|
17
|
+
* <option value="banana">Banana</option>
|
|
18
|
+
* <option value="ananas">Ananas</option>
|
|
19
|
+
* <option value="avocado">Avocado</option>
|
|
20
|
+
* </select>
|
|
21
|
+
*
|
|
22
|
+
* <label for="mutiple-select-example">Fruits</label>
|
|
23
|
+
* <select id="multiple-select-example" multiple>
|
|
24
|
+
* <option value="">Select a fruit...</option>
|
|
25
|
+
* <option value="banana" selected>Banana</option>
|
|
26
|
+
* <option value="ananas">Ananas</option>
|
|
27
|
+
* <option value="avocado" selected>Avocado</option>
|
|
28
|
+
* </select>
|
|
29
|
+
*
|
|
30
|
+
* const input = screen.getByLabelText('First name')
|
|
31
|
+
* const textarea = screen.getByLabelText('Description')
|
|
32
|
+
* const selectSingle = screen.getByLabelText('Fruit')
|
|
33
|
+
* const selectMultiple = screen.getByLabelText('Fruits')
|
|
34
|
+
*
|
|
35
|
+
* expect(input).toHaveDisplayValue('Luca')
|
|
36
|
+
* expect(textarea).toHaveDisplayValue('An example description here.')
|
|
37
|
+
* expect(selectSingle).toHaveDisplayValue('Select a fruit...')
|
|
38
|
+
* expect(selectMultiple).toHaveDisplayValue(['Banana', 'Avocado'])
|
|
39
|
+
*
|
|
40
|
+
* @see
|
|
41
|
+
* [testing-library/jest-dom#tohavedisplayvalue](https://github.com/testing-library/jest-dom#tohavedisplayvalue)
|
|
42
|
+
*/
|
|
2
43
|
export declare function toHaveDisplayValue(this: MatcherState, htmlElement: Element, expectedValue: string | RegExp | Array<string | RegExp>): MatcherResult;
|
|
@@ -1,4 +1,45 @@
|
|
|
1
1
|
import { checkHtmlElement, getMessage } from "./utils.js";
|
|
2
|
+
/**
|
|
3
|
+
* @description
|
|
4
|
+
* This allows you to check whether the given form element has the specified displayed value (the one the
|
|
5
|
+
* end user will see). It accepts <input>, <select> and <textarea> elements with the exception of <input type="checkbox">
|
|
6
|
+
* and <input type="radio">, which can be meaningfully matched only using toBeChecked or toHaveFormValues.
|
|
7
|
+
* @example
|
|
8
|
+
* <label for="input-example">First name</label>
|
|
9
|
+
* <input type="text" id="input-example" value="Luca" />
|
|
10
|
+
*
|
|
11
|
+
* <label for="textarea-example">Description</label>
|
|
12
|
+
* <textarea id="textarea-example">An example description here.</textarea>
|
|
13
|
+
*
|
|
14
|
+
* <label for="single-select-example">Fruit</label>
|
|
15
|
+
* <select id="single-select-example">
|
|
16
|
+
* <option value="">Select a fruit...</option>
|
|
17
|
+
* <option value="banana">Banana</option>
|
|
18
|
+
* <option value="ananas">Ananas</option>
|
|
19
|
+
* <option value="avocado">Avocado</option>
|
|
20
|
+
* </select>
|
|
21
|
+
*
|
|
22
|
+
* <label for="mutiple-select-example">Fruits</label>
|
|
23
|
+
* <select id="multiple-select-example" multiple>
|
|
24
|
+
* <option value="">Select a fruit...</option>
|
|
25
|
+
* <option value="banana" selected>Banana</option>
|
|
26
|
+
* <option value="ananas">Ananas</option>
|
|
27
|
+
* <option value="avocado" selected>Avocado</option>
|
|
28
|
+
* </select>
|
|
29
|
+
*
|
|
30
|
+
* const input = screen.getByLabelText('First name')
|
|
31
|
+
* const textarea = screen.getByLabelText('Description')
|
|
32
|
+
* const selectSingle = screen.getByLabelText('Fruit')
|
|
33
|
+
* const selectMultiple = screen.getByLabelText('Fruits')
|
|
34
|
+
*
|
|
35
|
+
* expect(input).toHaveDisplayValue('Luca')
|
|
36
|
+
* expect(textarea).toHaveDisplayValue('An example description here.')
|
|
37
|
+
* expect(selectSingle).toHaveDisplayValue('Select a fruit...')
|
|
38
|
+
* expect(selectMultiple).toHaveDisplayValue(['Banana', 'Avocado'])
|
|
39
|
+
*
|
|
40
|
+
* @see
|
|
41
|
+
* [testing-library/jest-dom#tohavedisplayvalue](https://github.com/testing-library/jest-dom#tohavedisplayvalue)
|
|
42
|
+
*/
|
|
2
43
|
export function toHaveDisplayValue(htmlElement, expectedValue) {
|
|
3
44
|
checkHtmlElement(htmlElement, toHaveDisplayValue, this);
|
|
4
45
|
const tagName = htmlElement.tagName.toLowerCase();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"to-have-display-value.js","sourceRoot":"","sources":["../../src/matchers/to-have-display-value.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE1D,MAAM,UAAU,kBAAkB,CAE9B,WAAoB,EACpB,aAAuD;IAEvD,gBAAgB,CAAC,WAAW,EAAE,kBAAkB,EAAE,IAAI,CAAC,CAAC;IACxD,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;IAElD,IAAI,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACrD,MAAM,IAAI,KAAK,CACX,qHAAqH,CACxH,CAAC;IACN,CAAC;IAED,IAAI,OAAO,KAAK,OAAO,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAE,WAAgC,CAAC,IAAI,CAAC,EAAE,CAAC;QAChG,MAAM,IAAI,KAAK,CACX,gEAAiE,WAAgC,CAAC,IAAI,uCAAuC,CAChJ,CAAC;IACN,CAAC;IAED,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IAC/C,MAAM,cAAc,GAAG,iBAAiB,CAAC,aAAa,CAAC,CAAC;IACxD,MAAM,yBAAyB,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CACjE,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAClB,QAAQ,YAAY,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAC3F,CACJ,CAAC,MAAM,CAAC;IAET,MAAM,oBAAoB,GAAG,yBAAyB,KAAK,MAAM,CAAC,MAAM,CAAC;IACzE,MAAM,4BAA4B,GAAG,yBAAyB,KAAK,cAAc,CAAC,MAAM,CAAC;IAEzF,OAAO;QACH,IAAI,EAAE,oBAAoB,IAAI,4BAA4B;QAC1D,OAAO,EAAE,GAAG,EAAE,CACV,UAAU,CACN,IAAI,EACJ,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,qBAAqB,EAAE,SAAS,EAAE,EAAE,CAAC,EACvF,oBAAoB,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,uBAAuB,EACnE,aAAa,EACb,UAAU,EACV,MAAM,CACT;KACR,CAAC;AACN,CAAC;AAED,SAAS,SAAS,CAAC,OAAe,EAAE,WAAoB;IACpD,OAAO,OAAO,KAAK,QAAQ;QACvB,CAAC,CAAC,KAAK,CAAC,IAAI,CAAE,WAAiC,CAAC,OAAO,CAAC;aACjD,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC;aACnC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC;QAChD,CAAC,CAAC,CAAE,WAAsD,CAAC,KAAK,CAAC,CAAC;AAC1E,CAAC;AAED,SAAS,iBAAiB,CAAC,aAAuD;IAC9E,OAAO,aAAa,YAAY,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;AAC5E,CAAC"}
|
|
1
|
+
{"version":3,"file":"to-have-display-value.js","sourceRoot":"","sources":["../../src/matchers/to-have-display-value.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE1D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,MAAM,UAAU,kBAAkB,CAE9B,WAAoB,EACpB,aAAuD;IAEvD,gBAAgB,CAAC,WAAW,EAAE,kBAAkB,EAAE,IAAI,CAAC,CAAC;IACxD,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;IAElD,IAAI,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACrD,MAAM,IAAI,KAAK,CACX,qHAAqH,CACxH,CAAC;IACN,CAAC;IAED,IAAI,OAAO,KAAK,OAAO,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAE,WAAgC,CAAC,IAAI,CAAC,EAAE,CAAC;QAChG,MAAM,IAAI,KAAK,CACX,gEAAiE,WAAgC,CAAC,IAAI,uCAAuC,CAChJ,CAAC;IACN,CAAC;IAED,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IAC/C,MAAM,cAAc,GAAG,iBAAiB,CAAC,aAAa,CAAC,CAAC;IACxD,MAAM,yBAAyB,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CACjE,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAClB,QAAQ,YAAY,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAC3F,CACJ,CAAC,MAAM,CAAC;IAET,MAAM,oBAAoB,GAAG,yBAAyB,KAAK,MAAM,CAAC,MAAM,CAAC;IACzE,MAAM,4BAA4B,GAAG,yBAAyB,KAAK,cAAc,CAAC,MAAM,CAAC;IAEzF,OAAO;QACH,IAAI,EAAE,oBAAoB,IAAI,4BAA4B;QAC1D,OAAO,EAAE,GAAG,EAAE,CACV,UAAU,CACN,IAAI,EACJ,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,qBAAqB,EAAE,SAAS,EAAE,EAAE,CAAC,EACvF,oBAAoB,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,uBAAuB,EACnE,aAAa,EACb,UAAU,EACV,MAAM,CACT;KACR,CAAC;AACN,CAAC;AAED,SAAS,SAAS,CAAC,OAAe,EAAE,WAAoB;IACpD,OAAO,OAAO,KAAK,QAAQ;QACvB,CAAC,CAAC,KAAK,CAAC,IAAI,CAAE,WAAiC,CAAC,OAAO,CAAC;aACjD,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC;aACnC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC;QAChD,CAAC,CAAC,CAAE,WAAsD,CAAC,KAAK,CAAC,CAAC;AAC1E,CAAC;AAED,SAAS,iBAAiB,CAAC,aAAuD;IAC9E,OAAO,aAAa,YAAY,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;AAC5E,CAAC"}
|
|
@@ -1,3 +1,43 @@
|
|
|
1
1
|
import type { expect } from "vitest";
|
|
2
2
|
import type { MatcherResult, MatcherState } from "./types.js";
|
|
3
|
+
/**
|
|
4
|
+
* @description
|
|
5
|
+
*
|
|
6
|
+
* Check whether the given element has an [ARIA error message](https://www.w3.org/TR/wai-aria/#aria-errormessage) or not.
|
|
7
|
+
*
|
|
8
|
+
* Use the `aria-errormessage` attribute to reference another element that contains
|
|
9
|
+
* custom error message text. Multiple ids is **NOT** allowed. Authors MUST use
|
|
10
|
+
* `aria-invalid` in conjunction with `aria-errormessage`. Learn more from the
|
|
11
|
+
* [`aria-errormessage` spec](https://www.w3.org/TR/wai-aria/#aria-errormessage).
|
|
12
|
+
*
|
|
13
|
+
* Whitespace is normalized.
|
|
14
|
+
*
|
|
15
|
+
* When a `string` argument is passed through, it will perform a whole
|
|
16
|
+
* case-sensitive match to the error message text.
|
|
17
|
+
*
|
|
18
|
+
* To perform a case-insensitive match, you can use a `RegExp` with the `/i`
|
|
19
|
+
* modifier.
|
|
20
|
+
*
|
|
21
|
+
* To perform a partial match, you can pass a `RegExp` or use
|
|
22
|
+
* expect.stringContaining("partial string")`.
|
|
23
|
+
*
|
|
24
|
+
* @example
|
|
25
|
+
* <label for="startTime"> Please enter a start time for the meeting: </label>
|
|
26
|
+
* <input id="startTime" type="text" aria-errormessage="msgID" aria-invalid="true" value="11:30 PM" />
|
|
27
|
+
* <span id="msgID" aria-live="assertive" style="visibility:visible">
|
|
28
|
+
* Invalid time: the time must be between 9:00 AM and 5:00 PM"
|
|
29
|
+
* </span>
|
|
30
|
+
*
|
|
31
|
+
*
|
|
32
|
+
* const timeInput = getByLabel('startTime')
|
|
33
|
+
*
|
|
34
|
+
* expect(timeInput).toHaveErrorMessage(
|
|
35
|
+
* 'Invalid time: the time must be between 9:00 AM and 5:00 PM',
|
|
36
|
+
* )
|
|
37
|
+
* expect(timeInput).toHaveErrorMessage(/invalid time/i) // to partially match
|
|
38
|
+
* expect(timeInput).toHaveErrorMessage(expect.stringContaining('Invalid time')) // to partially match
|
|
39
|
+
* expect(timeInput).not.toHaveErrorMessage('Pikachu!')
|
|
40
|
+
* @see
|
|
41
|
+
* [testing-library/jest-dom#tohaveerrormessage](https://github.com/testing-library/jest-dom#tohaveerrormessage)
|
|
42
|
+
*/
|
|
3
43
|
export declare function toHaveErrorMessage(this: MatcherState, htmlElement: Element, checkWith?: string | RegExp | typeof expect.stringContaining): MatcherResult;
|
|
@@ -1,5 +1,45 @@
|
|
|
1
1
|
import { checkHtmlElement, getMessage, normalize } from "./utils.js";
|
|
2
2
|
// See aria-errormessage spec https://www.w3.org/TR/wai-aria-1.2/#aria-errormessage
|
|
3
|
+
/**
|
|
4
|
+
* @description
|
|
5
|
+
*
|
|
6
|
+
* Check whether the given element has an [ARIA error message](https://www.w3.org/TR/wai-aria/#aria-errormessage) or not.
|
|
7
|
+
*
|
|
8
|
+
* Use the `aria-errormessage` attribute to reference another element that contains
|
|
9
|
+
* custom error message text. Multiple ids is **NOT** allowed. Authors MUST use
|
|
10
|
+
* `aria-invalid` in conjunction with `aria-errormessage`. Learn more from the
|
|
11
|
+
* [`aria-errormessage` spec](https://www.w3.org/TR/wai-aria/#aria-errormessage).
|
|
12
|
+
*
|
|
13
|
+
* Whitespace is normalized.
|
|
14
|
+
*
|
|
15
|
+
* When a `string` argument is passed through, it will perform a whole
|
|
16
|
+
* case-sensitive match to the error message text.
|
|
17
|
+
*
|
|
18
|
+
* To perform a case-insensitive match, you can use a `RegExp` with the `/i`
|
|
19
|
+
* modifier.
|
|
20
|
+
*
|
|
21
|
+
* To perform a partial match, you can pass a `RegExp` or use
|
|
22
|
+
* expect.stringContaining("partial string")`.
|
|
23
|
+
*
|
|
24
|
+
* @example
|
|
25
|
+
* <label for="startTime"> Please enter a start time for the meeting: </label>
|
|
26
|
+
* <input id="startTime" type="text" aria-errormessage="msgID" aria-invalid="true" value="11:30 PM" />
|
|
27
|
+
* <span id="msgID" aria-live="assertive" style="visibility:visible">
|
|
28
|
+
* Invalid time: the time must be between 9:00 AM and 5:00 PM"
|
|
29
|
+
* </span>
|
|
30
|
+
*
|
|
31
|
+
*
|
|
32
|
+
* const timeInput = getByLabel('startTime')
|
|
33
|
+
*
|
|
34
|
+
* expect(timeInput).toHaveErrorMessage(
|
|
35
|
+
* 'Invalid time: the time must be between 9:00 AM and 5:00 PM',
|
|
36
|
+
* )
|
|
37
|
+
* expect(timeInput).toHaveErrorMessage(/invalid time/i) // to partially match
|
|
38
|
+
* expect(timeInput).toHaveErrorMessage(expect.stringContaining('Invalid time')) // to partially match
|
|
39
|
+
* expect(timeInput).not.toHaveErrorMessage('Pikachu!')
|
|
40
|
+
* @see
|
|
41
|
+
* [testing-library/jest-dom#tohaveerrormessage](https://github.com/testing-library/jest-dom#tohaveerrormessage)
|
|
42
|
+
*/
|
|
3
43
|
export function toHaveErrorMessage(htmlElement, checkWith) {
|
|
4
44
|
checkHtmlElement(htmlElement, toHaveErrorMessage, this);
|
|
5
45
|
if (!htmlElement.hasAttribute("aria-invalid") || htmlElement.getAttribute("aria-invalid") === "false") {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"to-have-errormessage.js","sourceRoot":"","sources":["../../src/matchers/to-have-errormessage.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAErE,mFAAmF;AACnF,MAAM,UAAU,kBAAkB,CAE9B,WAAoB,EACpB,SAA4D;IAE5D,gBAAgB,CAAC,WAAW,EAAE,kBAAkB,EAAE,IAAI,CAAC,CAAC;IAExD,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,cAAc,CAAC,IAAI,WAAW,CAAC,YAAY,CAAC,cAAc,CAAC,KAAK,OAAO,EAAE,CAAC;QACpG,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QAErC,OAAO;YACH,IAAI,EAAE,KAAK;YACX,OAAO,EAAE,GAAG,EAAE;gBACV,OAAO,UAAU,CACb,IAAI,EACJ,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,GAAG,qBAAqB,EAAE,SAAS,EAAE,EAAE,CAAC,EAClE,yDAAyD,EACzD,qBAAqB,EACrB,UAAU,EACV,WAAW,CAAC,YAAY,CAAC,cAAc,CAAC;oBACpC,CAAC,CAAC,iBAAiB,WAAW,CAAC,YAAY,CAAC,cAAc,CAAC,GAAG;oBAC9D,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC,CACrC,CAAC;YACN,CAAC;SACJ,CAAC;IACN,CAAC;IAED,MAAM,mBAAmB,GAAG,SAAS,KAAK,SAAS,CAAC;IAEpD,MAAM,iBAAiB,GAAG,WAAW,CAAC,YAAY,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC;IAC9E,MAAM,eAAe,GAAG,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAEvE,IAAI,YAAY,GAAG,EAAE,CAAC;IACtB,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,WAAW,CAAC,aAAa,CAAC;QAE3C,MAAM,eAAe,GAAG,eAAe;aAClC,GAAG,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;aAChE,MAAM,CAAC,CAAC,EAAE,EAAqB,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC;QAEpD,YAAY,GAAG,SAAS,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACpF,CAAC;IAED,OAAO;QACH,IAAI,EAAE,mBAAmB;YACrB,CAAC,CAAC,SAAS,YAAY,MAAM;gBACzB,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC;gBAC9B,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,SAAS,CAAC;YAC1C,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC;QAC3B,OAAO,EAAE,GAAG,EAAE;YACV,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;YACxC,OAAO,UAAU,CACb,IAAI,EACJ,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,qBAAqB,EAAE,SAAS,EAAE,EAAE,CAAC,EACvF,wBAAwB,EAAE,qBAAqB,EAC/C,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,EACnC,UAAU,EACV,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,YAAY,CAAC,CACzC,CAAC;QACN,CAAC;KACJ,CAAC;AACN,CAAC"}
|
|
1
|
+
{"version":3,"file":"to-have-errormessage.js","sourceRoot":"","sources":["../../src/matchers/to-have-errormessage.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,18 @@
|
|
|
1
1
|
import type { MatcherResult, MatcherState } from "./types.js";
|
|
2
|
+
/**
|
|
3
|
+
* @description
|
|
4
|
+
* Assert whether an element has focus or not.
|
|
5
|
+
* @example
|
|
6
|
+
* <div>
|
|
7
|
+
* <input type="text" data-testid="element-to-focus" />
|
|
8
|
+
* </div>
|
|
9
|
+
*
|
|
10
|
+
* const input = getByTestId('element-to-focus')
|
|
11
|
+
* input.focus()
|
|
12
|
+
* expect(input).toHaveFocus()
|
|
13
|
+
* input.blur()
|
|
14
|
+
* expect(input).not.toHaveFocus()
|
|
15
|
+
* @see
|
|
16
|
+
* [testing-library/jest-dom#tohavefocus](https://github.com/testing-library/jest-dom#tohavefocus)
|
|
17
|
+
*/
|
|
2
18
|
export declare function toHaveFocus(this: MatcherState, element: Element): MatcherResult;
|
|
@@ -1,4 +1,20 @@
|
|
|
1
1
|
import { checkHtmlElement } from "./utils.js";
|
|
2
|
+
/**
|
|
3
|
+
* @description
|
|
4
|
+
* Assert whether an element has focus or not.
|
|
5
|
+
* @example
|
|
6
|
+
* <div>
|
|
7
|
+
* <input type="text" data-testid="element-to-focus" />
|
|
8
|
+
* </div>
|
|
9
|
+
*
|
|
10
|
+
* const input = getByTestId('element-to-focus')
|
|
11
|
+
* input.focus()
|
|
12
|
+
* expect(input).toHaveFocus()
|
|
13
|
+
* input.blur()
|
|
14
|
+
* expect(input).not.toHaveFocus()
|
|
15
|
+
* @see
|
|
16
|
+
* [testing-library/jest-dom#tohavefocus](https://github.com/testing-library/jest-dom#tohavefocus)
|
|
17
|
+
*/
|
|
2
18
|
export function toHaveFocus(element) {
|
|
3
19
|
checkHtmlElement(element, toHaveFocus, this);
|
|
4
20
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"to-have-focus.js","sourceRoot":"","sources":["../../src/matchers/to-have-focus.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9C,MAAM,UAAU,WAAW,CAAqB,OAAgB;IAC5D,gBAAgB,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;IAE7C,OAAO;QACH,IAAI,EAAE,OAAO,CAAC,aAAa,CAAC,aAAa,KAAK,OAAO;QACrD,OAAO,EAAE,GAAG,EAAE;YACV,OAAO;gBACH,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,SAAS,EAAE,EAAE,CAAC;gBAChF,EAAE;gBACF,GAAG,CAAC,IAAI,CAAC,KAAK;oBACV,CAAC,CAAC,CAAC,8BAA8B,EAAE,KAAK,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC5E,CAAC,CAAC;wBACI,8BAA8B;wBAC9B,KAAK,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE;wBACxC,8BAA8B;wBAC9B,KAAK,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC,EAAE;qBACvE,CAAC;aACX,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjB,CAAC;KACJ,CAAC;AACN,CAAC"}
|
|
1
|
+
{"version":3,"file":"to-have-focus.js","sourceRoot":"","sources":["../../src/matchers/to-have-focus.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9C;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,WAAW,CAAqB,OAAgB;IAC5D,gBAAgB,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;IAE7C,OAAO;QACH,IAAI,EAAE,OAAO,CAAC,aAAa,CAAC,aAAa,KAAK,OAAO;QACrD,OAAO,EAAE,GAAG,EAAE;YACV,OAAO;gBACH,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,SAAS,EAAE,EAAE,CAAC;gBAChF,EAAE;gBACF,GAAG,CAAC,IAAI,CAAC,KAAK;oBACV,CAAC,CAAC,CAAC,8BAA8B,EAAE,KAAK,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC5E,CAAC,CAAC;wBACI,8BAA8B;wBAC9B,KAAK,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE;wBACxC,8BAA8B;wBAC9B,KAAK,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC,EAAE;qBACvE,CAAC;aACX,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjB,CAAC;KACJ,CAAC;AACN,CAAC"}
|
|
@@ -1,2 +1,22 @@
|
|
|
1
1
|
import type { MatcherResult, MatcherState } from "./types.js";
|
|
2
|
+
/**
|
|
3
|
+
* @description
|
|
4
|
+
* Check if a form or fieldset contains form controls for each given name, and having the specified value.
|
|
5
|
+
*
|
|
6
|
+
* Can only be invoked on a form or fieldset element.
|
|
7
|
+
* @example
|
|
8
|
+
* <form data-testid="login-form">
|
|
9
|
+
* <input type="text" name="username" value="jane.doe" />
|
|
10
|
+
* <input type="password" name="password" value="123" />
|
|
11
|
+
* <input type="checkbox" name="rememberMe" checked />
|
|
12
|
+
* <button type="submit">Sign in</button>
|
|
13
|
+
* </form>
|
|
14
|
+
*
|
|
15
|
+
* expect(getByTestId('login-form')).toHaveFormValues({
|
|
16
|
+
* username: 'jane.doe',
|
|
17
|
+
* rememberMe: true,
|
|
18
|
+
* })
|
|
19
|
+
* @see
|
|
20
|
+
* [testing-library/jest-dom#tohaveformvalues](https://github.com/testing-library/jest-dom#tohaveformvalues)
|
|
21
|
+
*/
|
|
2
22
|
export declare function toHaveFormValues(this: MatcherState, formElement: Element, expectedValues: Record<string, unknown>): MatcherResult;
|
|
@@ -40,6 +40,26 @@ function getAllFormValues(container) {
|
|
|
40
40
|
[getPureName(name)]: getFormValue(container, name),
|
|
41
41
|
}), {});
|
|
42
42
|
}
|
|
43
|
+
/**
|
|
44
|
+
* @description
|
|
45
|
+
* Check if a form or fieldset contains form controls for each given name, and having the specified value.
|
|
46
|
+
*
|
|
47
|
+
* Can only be invoked on a form or fieldset element.
|
|
48
|
+
* @example
|
|
49
|
+
* <form data-testid="login-form">
|
|
50
|
+
* <input type="text" name="username" value="jane.doe" />
|
|
51
|
+
* <input type="password" name="password" value="123" />
|
|
52
|
+
* <input type="checkbox" name="rememberMe" checked />
|
|
53
|
+
* <button type="submit">Sign in</button>
|
|
54
|
+
* </form>
|
|
55
|
+
*
|
|
56
|
+
* expect(getByTestId('login-form')).toHaveFormValues({
|
|
57
|
+
* username: 'jane.doe',
|
|
58
|
+
* rememberMe: true,
|
|
59
|
+
* })
|
|
60
|
+
* @see
|
|
61
|
+
* [testing-library/jest-dom#tohaveformvalues](https://github.com/testing-library/jest-dom#tohaveformvalues)
|
|
62
|
+
*/
|
|
43
63
|
export function toHaveFormValues(formElement, expectedValues) {
|
|
44
64
|
checkHtmlElement(formElement, toHaveFormValues, this);
|
|
45
65
|
if (!formElement.elements) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"to-have-form-values.js","sourceRoot":"","sources":["../../src/matchers/to-have-form-values.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"to-have-form-values.js","sourceRoot":"","sources":["../../src/matchers/to-have-form-values.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,24 @@
|
|
|
1
1
|
import type { MatcherResult, MatcherState } from "./types.js";
|
|
2
|
+
/**
|
|
3
|
+
* @description
|
|
4
|
+
* Check if an element has specific css properties with specific values applied.
|
|
5
|
+
*
|
|
6
|
+
* Only matches if the element has *all* the expected properties applied, not just some of them.
|
|
7
|
+
* @example
|
|
8
|
+
* <button
|
|
9
|
+
* data-test-id="submit-button"
|
|
10
|
+
* style="background-color: green; display: none"
|
|
11
|
+
* >
|
|
12
|
+
* submit
|
|
13
|
+
* </button>
|
|
14
|
+
*
|
|
15
|
+
* const button = getByTestId('submit-button')
|
|
16
|
+
* expect(button).toHaveStyle('background-color: green')
|
|
17
|
+
* expect(button).toHaveStyle({
|
|
18
|
+
* 'background-color': 'green',
|
|
19
|
+
* display: 'none'
|
|
20
|
+
* })
|
|
21
|
+
* @see
|
|
22
|
+
* [testing-library/jest-dom#tohavestyle](https://github.com/testing-library/jest-dom#tohavestyle)
|
|
23
|
+
*/
|
|
2
24
|
export declare function toHaveStyle(this: MatcherState, htmlElement: Element, css: string | Record<string, unknown>): MatcherResult;
|
|
@@ -46,6 +46,28 @@ function expectedDiff(diffFn, expected, computedStyles) {
|
|
|
46
46
|
// Remove the "+ Received" annotation because this is a one-way diff
|
|
47
47
|
return (diffOutput ?? "").replace(`${chalk.red("+ Received")}\n`, "");
|
|
48
48
|
}
|
|
49
|
+
/**
|
|
50
|
+
* @description
|
|
51
|
+
* Check if an element has specific css properties with specific values applied.
|
|
52
|
+
*
|
|
53
|
+
* Only matches if the element has *all* the expected properties applied, not just some of them.
|
|
54
|
+
* @example
|
|
55
|
+
* <button
|
|
56
|
+
* data-test-id="submit-button"
|
|
57
|
+
* style="background-color: green; display: none"
|
|
58
|
+
* >
|
|
59
|
+
* submit
|
|
60
|
+
* </button>
|
|
61
|
+
*
|
|
62
|
+
* const button = getByTestId('submit-button')
|
|
63
|
+
* expect(button).toHaveStyle('background-color: green')
|
|
64
|
+
* expect(button).toHaveStyle({
|
|
65
|
+
* 'background-color': 'green',
|
|
66
|
+
* display: 'none'
|
|
67
|
+
* })
|
|
68
|
+
* @see
|
|
69
|
+
* [testing-library/jest-dom#tohavestyle](https://github.com/testing-library/jest-dom#tohavestyle)
|
|
70
|
+
*/
|
|
49
71
|
export function toHaveStyle(htmlElement, css) {
|
|
50
72
|
checkHtmlElement(htmlElement, toHaveStyle, this);
|
|
51
73
|
const parsedCSS = typeof css === "object" ? css : parseCSS(css, toHaveStyle, this);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"to-have-style.js","sourceRoot":"","sources":["../../src/matchers/to-have-style.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"to-have-style.js","sourceRoot":"","sources":["../../src/matchers/to-have-style.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,27 @@
|
|
|
1
1
|
import type { MatcherResult, MatcherState } from "./types.js";
|
|
2
|
+
/**
|
|
3
|
+
* @description
|
|
4
|
+
* Check whether the given element has a text content or not.
|
|
5
|
+
*
|
|
6
|
+
* When a string argument is passed through, it will perform a partial case-sensitive match to the element
|
|
7
|
+
* content.
|
|
8
|
+
*
|
|
9
|
+
* To perform a case-insensitive match, you can use a RegExp with the `/i` modifier.
|
|
10
|
+
*
|
|
11
|
+
* If you want to match the whole content, you can use a RegExp to do it.
|
|
12
|
+
* @example
|
|
13
|
+
* <span data-testid="text-content">Text Content</span>
|
|
14
|
+
*
|
|
15
|
+
* const element = getByTestId('text-content')
|
|
16
|
+
* expect(element).toHaveTextContent('Content')
|
|
17
|
+
* // to match the whole content
|
|
18
|
+
* expect(element).toHaveTextContent(/^Text Content$/)
|
|
19
|
+
* // to use case-insentive match
|
|
20
|
+
* expect(element).toHaveTextContent(/content$/i)
|
|
21
|
+
* expect(element).not.toHaveTextContent('content')
|
|
22
|
+
* @see
|
|
23
|
+
* [testing-library/jest-dom#tohavetextcontent](https://github.com/testing-library/jest-dom#tohavetextcontent)
|
|
24
|
+
*/
|
|
2
25
|
export declare function toHaveTextContent(this: MatcherState, node: Element, checkWith: string | RegExp, options?: {
|
|
3
26
|
normalizeWhitespace: boolean;
|
|
4
27
|
}): MatcherResult;
|
|
@@ -1,4 +1,27 @@
|
|
|
1
1
|
import { getMessage, checkNode, matches, normalize } from "./utils.js";
|
|
2
|
+
/**
|
|
3
|
+
* @description
|
|
4
|
+
* Check whether the given element has a text content or not.
|
|
5
|
+
*
|
|
6
|
+
* When a string argument is passed through, it will perform a partial case-sensitive match to the element
|
|
7
|
+
* content.
|
|
8
|
+
*
|
|
9
|
+
* To perform a case-insensitive match, you can use a RegExp with the `/i` modifier.
|
|
10
|
+
*
|
|
11
|
+
* If you want to match the whole content, you can use a RegExp to do it.
|
|
12
|
+
* @example
|
|
13
|
+
* <span data-testid="text-content">Text Content</span>
|
|
14
|
+
*
|
|
15
|
+
* const element = getByTestId('text-content')
|
|
16
|
+
* expect(element).toHaveTextContent('Content')
|
|
17
|
+
* // to match the whole content
|
|
18
|
+
* expect(element).toHaveTextContent(/^Text Content$/)
|
|
19
|
+
* // to use case-insentive match
|
|
20
|
+
* expect(element).toHaveTextContent(/content$/i)
|
|
21
|
+
* expect(element).not.toHaveTextContent('content')
|
|
22
|
+
* @see
|
|
23
|
+
* [testing-library/jest-dom#tohavetextcontent](https://github.com/testing-library/jest-dom#tohavetextcontent)
|
|
24
|
+
*/
|
|
2
25
|
export function toHaveTextContent(node, checkWith, options = { normalizeWhitespace: true }) {
|
|
3
26
|
checkNode(node, toHaveTextContent, this);
|
|
4
27
|
const textContent = options.normalizeWhitespace
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"to-have-text-content.js","sourceRoot":"","sources":["../../src/matchers/to-have-text-content.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvE,MAAM,UAAU,iBAAiB,CAE7B,IAAa,EACb,SAA0B,EAC1B,UAA4C,EAAE,mBAAmB,EAAE,IAAI,EAAE;IAEzE,SAAS,CAAC,IAAI,EAAE,iBAAiB,EAAE,IAAI,CAAC,CAAC;IAEzC,MAAM,WAAW,GAAG,OAAO,CAAC,mBAAmB;QAC3C,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC;QAC7B,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC,oCAAoC;IAEpF,MAAM,uBAAuB,GAAG,WAAW,KAAK,EAAE,IAAI,SAAS,KAAK,EAAE,CAAC;IAEvE,OAAO;QACH,IAAI,EAAE,CAAC,uBAAuB,IAAI,OAAO,CAAC,WAAW,EAAE,SAAS,CAAC;QACjE,OAAO,EAAE,GAAG,EAAE;YACV,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;YACxC,OAAO,UAAU,CACb,IAAI,EACJ,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,oBAAoB,EAAE,SAAS,EAAE,EAAE,CAAC,EACtF,uBAAuB;gBACnB,CAAC,CAAC,kFAAkF;gBACpF,CAAC,CAAC,oBAAoB,EAAE,oBAAoB,EAChD,SAAS,EACT,UAAU,EACV,WAAW,CACd,CAAC;QACN,CAAC;KACJ,CAAC;AACN,CAAC"}
|
|
1
|
+
{"version":3,"file":"to-have-text-content.js","sourceRoot":"","sources":["../../src/matchers/to-have-text-content.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvE;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,iBAAiB,CAE7B,IAAa,EACb,SAA0B,EAC1B,UAA4C,EAAE,mBAAmB,EAAE,IAAI,EAAE;IAEzE,SAAS,CAAC,IAAI,EAAE,iBAAiB,EAAE,IAAI,CAAC,CAAC;IAEzC,MAAM,WAAW,GAAG,OAAO,CAAC,mBAAmB;QAC3C,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC;QAC7B,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC,oCAAoC;IAEpF,MAAM,uBAAuB,GAAG,WAAW,KAAK,EAAE,IAAI,SAAS,KAAK,EAAE,CAAC;IAEvE,OAAO;QACH,IAAI,EAAE,CAAC,uBAAuB,IAAI,OAAO,CAAC,WAAW,EAAE,SAAS,CAAC;QACjE,OAAO,EAAE,GAAG,EAAE;YACV,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;YACxC,OAAO,UAAU,CACb,IAAI,EACJ,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,oBAAoB,EAAE,SAAS,EAAE,EAAE,CAAC,EACtF,uBAAuB;gBACnB,CAAC,CAAC,kFAAkF;gBACpF,CAAC,CAAC,oBAAoB,EAAE,oBAAoB,EAChD,SAAS,EACT,UAAU,EACV,WAAW,CACd,CAAC;QACN,CAAC;KACJ,CAAC;AACN,CAAC"}
|
|
@@ -1,2 +1,21 @@
|
|
|
1
1
|
import type { MatcherResult, MatcherState } from "./types.js";
|
|
2
|
+
/**
|
|
3
|
+
* @description
|
|
4
|
+
* Check whether the given form element has the specified value.
|
|
5
|
+
*
|
|
6
|
+
* Accepts `<input>`, `<select>`, and `<textarea>` elements with the exception of `<input type="checkbox">` and
|
|
7
|
+
* `<input type="radiobox">`, which can be matched only using
|
|
8
|
+
* [toBeChecked](https://github.com/testing-library/jest-dom#tobechecked) or
|
|
9
|
+
* [toHaveFormValues](https://github.com/testing-library/jest-dom#tohaveformvalues).
|
|
10
|
+
* @example
|
|
11
|
+
* <input
|
|
12
|
+
* type="number"
|
|
13
|
+
* value="5"
|
|
14
|
+
* data-testid="input-number" />
|
|
15
|
+
*
|
|
16
|
+
* const numberInput = getByTestId('input-number')
|
|
17
|
+
* expect(numberInput).toHaveValue(5)
|
|
18
|
+
* @see
|
|
19
|
+
* [testing-library/jest-dom#tohavevalue](https://github.com/testing-library/jest-dom#tohavevalue)
|
|
20
|
+
*/
|
|
2
21
|
export declare function toHaveValue(this: MatcherState, htmlElement: Element, expectedValue?: string | string[] | number | null): MatcherResult;
|
|
@@ -1,5 +1,24 @@
|
|
|
1
1
|
import { isEqualWith } from "lodash-es";
|
|
2
2
|
import { checkHtmlElement, compareArraysAsSet, getMessage, getSingleElementValue } from "./utils.js";
|
|
3
|
+
/**
|
|
4
|
+
* @description
|
|
5
|
+
* Check whether the given form element has the specified value.
|
|
6
|
+
*
|
|
7
|
+
* Accepts `<input>`, `<select>`, and `<textarea>` elements with the exception of `<input type="checkbox">` and
|
|
8
|
+
* `<input type="radiobox">`, which can be matched only using
|
|
9
|
+
* [toBeChecked](https://github.com/testing-library/jest-dom#tobechecked) or
|
|
10
|
+
* [toHaveFormValues](https://github.com/testing-library/jest-dom#tohaveformvalues).
|
|
11
|
+
* @example
|
|
12
|
+
* <input
|
|
13
|
+
* type="number"
|
|
14
|
+
* value="5"
|
|
15
|
+
* data-testid="input-number" />
|
|
16
|
+
*
|
|
17
|
+
* const numberInput = getByTestId('input-number')
|
|
18
|
+
* expect(numberInput).toHaveValue(5)
|
|
19
|
+
* @see
|
|
20
|
+
* [testing-library/jest-dom#tohavevalue](https://github.com/testing-library/jest-dom#tohavevalue)
|
|
21
|
+
*/
|
|
3
22
|
export function toHaveValue(htmlElement, expectedValue) {
|
|
4
23
|
checkHtmlElement(htmlElement, toHaveValue, this);
|
|
5
24
|
if (htmlElement.tagName.toLowerCase() === "input" &&
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"to-have-value.js","sourceRoot":"","sources":["../../src/matchers/to-have-value.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAGxC,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAErG,MAAM,UAAU,WAAW,CAEvB,WAAoB,EACpB,aAAiD;IAEjD,gBAAgB,CAAC,WAAW,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;IAEjD,IACI,WAAW,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,OAAO;QAC7C,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAE,WAAgC,CAAC,IAAI,CAAC,EACxE,CAAC;QACC,MAAM,IAAI,KAAK,CACX,gJAAgJ,CACnJ,CAAC;IACN,CAAC;IAED,MAAM,aAAa,GAAG,qBAAqB,CAAC,WAAW,CAAC,CAAC;IACzD,MAAM,YAAY,GAAG,aAAa,KAAK,SAAS,CAAC;IAEjD,IAAI,kBAAkB,GAAG,aAAa,CAAC;IACvC,IAAI,kBAAkB,GAAG,aAAa,CAAC;IACvC,IAAI,aAAa,IAAI,aAAa,IAAI,aAAa,KAAK,aAAa,EAAE,CAAC;QACpE,kBAAkB,GAAG,GAAG,aAAa,KAAK,OAAO,aAAa,GAAG,CAAC;QAClE,kBAAkB,GAAG,GAAG,aAAa,KAAK,OAAO,aAAa,GAAG,CAAC;IACtE,CAAC;IAED,OAAO;QACH,IAAI,EAAE,YAAY;YACd,CAAC,CAAC,WAAW,CAAC,aAAa,EAAE,aAAa,EAAE,kBAAkB,CAAC;YAC/D,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;QAC5B,OAAO,EAAE,GAAG,EAAE;YACV,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;YACxC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAClC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,cAAc,EACzC,SAAS,EACT,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAClE,CAAC;YACF,OAAO,UAAU,CACb,IAAI,EACJ,OAAO,EACP,wBAAwB,EAAE,aAAa,EACvC,YAAY,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,EAC3C,UAAU,EACV,kBAAkB,CACrB,CAAC;QACN,CAAC;KACJ,CAAC;AACN,CAAC"}
|
|
1
|
+
{"version":3,"file":"to-have-value.js","sourceRoot":"","sources":["../../src/matchers/to-have-value.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAGxC,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAErG;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,WAAW,CAEvB,WAAoB,EACpB,aAAiD;IAEjD,gBAAgB,CAAC,WAAW,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;IAEjD,IACI,WAAW,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,OAAO;QAC7C,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAE,WAAgC,CAAC,IAAI,CAAC,EACxE,CAAC;QACC,MAAM,IAAI,KAAK,CACX,gJAAgJ,CACnJ,CAAC;IACN,CAAC;IAED,MAAM,aAAa,GAAG,qBAAqB,CAAC,WAAW,CAAC,CAAC;IACzD,MAAM,YAAY,GAAG,aAAa,KAAK,SAAS,CAAC;IAEjD,IAAI,kBAAkB,GAAG,aAAa,CAAC;IACvC,IAAI,kBAAkB,GAAG,aAAa,CAAC;IACvC,IAAI,aAAa,IAAI,aAAa,IAAI,aAAa,KAAK,aAAa,EAAE,CAAC;QACpE,kBAAkB,GAAG,GAAG,aAAa,KAAK,OAAO,aAAa,GAAG,CAAC;QAClE,kBAAkB,GAAG,GAAG,aAAa,KAAK,OAAO,aAAa,GAAG,CAAC;IACtE,CAAC;IAED,OAAO;QACH,IAAI,EAAE,YAAY;YACd,CAAC,CAAC,WAAW,CAAC,aAAa,EAAE,aAAa,EAAE,kBAAkB,CAAC;YAC/D,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;QAC5B,OAAO,EAAE,GAAG,EAAE;YACV,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;YACxC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAClC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,cAAc,EACzC,SAAS,EACT,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAClE,CAAC;YACF,OAAO,UAAU,CACb,IAAI,EACJ,OAAO,EACP,wBAAwB,EAAE,aAAa,EACvC,YAAY,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAAO,EAC3C,UAAU,EACV,kBAAkB,CACrB,CAAC;QACN,CAAC;KACJ,CAAC;AACN,CAAC"}
|