@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
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [0.25.0] - 2026-09-27
|
|
9
|
+
|
|
10
|
+
### Changed
|
|
11
|
+
|
|
12
|
+
- Move matcher docstrings from the TestingLibraryMatchers interface to the matcher functions
|
|
13
|
+
|
|
8
14
|
## [0.24.0] - 2026-09-27
|
|
9
15
|
|
|
10
16
|
### Changed
|
|
@@ -233,6 +239,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
233
239
|
|
|
234
240
|
- Initial release
|
|
235
241
|
|
|
242
|
+
[0.25.0]: https://github.com/Najemi-Software/vitest-dom/compare/v0.24.0...v0.25.0
|
|
236
243
|
[0.24.0]: https://github.com/Najemi-Software/vitest-dom/compare/v0.23.0...v0.24.0
|
|
237
244
|
[0.23.0]: https://github.com/Najemi-Software/vitest-dom/compare/v0.22.0...v0.23.0
|
|
238
245
|
[0.22.0]: https://github.com/Najemi-Software/vitest-dom/compare/v0.21.0...v0.22.0
|
|
@@ -1,2 +1,25 @@
|
|
|
1
1
|
import type { MatcherResult, MatcherState } from "./types.js";
|
|
2
|
+
/**
|
|
3
|
+
* @description
|
|
4
|
+
* Assert whether the given element is checked.
|
|
5
|
+
*
|
|
6
|
+
* It accepts an `input` of type `checkbox` or `radio` and elements with a `role` of `radio` with a valid
|
|
7
|
+
* `aria-checked` attribute of "true" or "false".
|
|
8
|
+
* @example
|
|
9
|
+
* <input
|
|
10
|
+
* type="checkbox"
|
|
11
|
+
* checked
|
|
12
|
+
* data-testid="input-checkbox" />
|
|
13
|
+
* <input
|
|
14
|
+
* type="radio"
|
|
15
|
+
* value="foo"
|
|
16
|
+
* data-testid="input-radio" />
|
|
17
|
+
*
|
|
18
|
+
* const inputCheckbox = getByTestId('input-checkbox')
|
|
19
|
+
* const inputRadio = getByTestId('input-radio')
|
|
20
|
+
* expect(inputCheckbox).toBeChecked()
|
|
21
|
+
* expect(inputRadio).not.toBeChecked()
|
|
22
|
+
* @see
|
|
23
|
+
* [testing-library/jest-dom#tobechecked](https://github.com/testing-library/jest-dom#tobechecked)
|
|
24
|
+
*/
|
|
2
25
|
export declare function toBeChecked(this: MatcherState, element: Element): MatcherResult;
|
|
@@ -10,6 +10,29 @@ const ROLES_SUPPORTING_CHECKED = [
|
|
|
10
10
|
"switch",
|
|
11
11
|
"treeitem",
|
|
12
12
|
];
|
|
13
|
+
/**
|
|
14
|
+
* @description
|
|
15
|
+
* Assert whether the given element is checked.
|
|
16
|
+
*
|
|
17
|
+
* It accepts an `input` of type `checkbox` or `radio` and elements with a `role` of `radio` with a valid
|
|
18
|
+
* `aria-checked` attribute of "true" or "false".
|
|
19
|
+
* @example
|
|
20
|
+
* <input
|
|
21
|
+
* type="checkbox"
|
|
22
|
+
* checked
|
|
23
|
+
* data-testid="input-checkbox" />
|
|
24
|
+
* <input
|
|
25
|
+
* type="radio"
|
|
26
|
+
* value="foo"
|
|
27
|
+
* data-testid="input-radio" />
|
|
28
|
+
*
|
|
29
|
+
* const inputCheckbox = getByTestId('input-checkbox')
|
|
30
|
+
* const inputRadio = getByTestId('input-radio')
|
|
31
|
+
* expect(inputCheckbox).toBeChecked()
|
|
32
|
+
* expect(inputRadio).not.toBeChecked()
|
|
33
|
+
* @see
|
|
34
|
+
* [testing-library/jest-dom#tobechecked](https://github.com/testing-library/jest-dom#tobechecked)
|
|
35
|
+
*/
|
|
13
36
|
export function toBeChecked(element) {
|
|
14
37
|
checkHtmlElement(element, toBeChecked, this);
|
|
15
38
|
const isValidInput = () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"to-be-checked.js","sourceRoot":"","sources":["../../src/matchers/to-be-checked.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE1D,mDAAmD;AACnD,sDAAsD;AACtD,MAAM,wBAAwB,GAAG;IAC7B,UAAU;IACV,kBAAkB;IAClB,eAAe;IACf,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,UAAU;CACb,CAAC;AAEF,MAAM,UAAU,WAAW,CAAqB,OAAgB;IAC5D,gBAAgB,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;IAE7C,MAAM,YAAY,GAAG,GAAG,EAAE;QACtB,OAAO,CACH,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,OAAO;YACzC,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAE,OAA4B,CAAC,IAAI,CAAC,CACrE,CAAC;IACN,CAAC,CAAC;IAEF,MAAM,kBAAkB,GAAG,GAAG,EAAE;QAC5B,OAAO,CACH,mBAAmB,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;YACjD,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CACzE,CAAC;IACN,CAAC,CAAC;IAEF,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,kBAAkB,EAAE,EAAE,CAAC;QAC3C,OAAO;YACH,IAAI,EAAE,KAAK;YACX,OAAO,EAAE,GAAG,EAAE,CACV,qEAAqE,sBAAsB,EAAE,iGAAiG;SACrM,CAAC;IACN,CAAC;IAED,MAAM,SAAS,GAAG,GAAG,EAAE;QACnB,IAAI,YAAY,EAAE;YAAE,OAAQ,OAA4B,CAAC,OAAO,CAAC;QACjE,OAAO,OAAO,CAAC,YAAY,CAAC,cAAc,CAAC,KAAK,MAAM,CAAC;IAC3D,CAAC,CAAC;IAEF,OAAO;QACH,IAAI,EAAE,SAAS,EAAE;QACjB,OAAO,EAAE,GAAG,EAAE;YACV,MAAM,EAAE,GAAG,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC;YACzC,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,oBAAoB,EAAE,WAAW;gBACjC,KAAK,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE;aAC5D,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjB,CAAC;KACJ,CAAC;AACN,CAAC;AAED,SAAS,sBAAsB;IAC3B,OAAO,UAAU,CACb,wBAAwB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,IAAI,GAAG,CAAC,EACxD,EAAE,iBAAiB,EAAE,MAAM,EAAE,CAChC,CAAC;AACN,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAmB;IAC5C,OAAO,IAAI,KAAK,IAAI,IAAI,wBAAwB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACpE,CAAC"}
|
|
1
|
+
{"version":3,"file":"to-be-checked.js","sourceRoot":"","sources":["../../src/matchers/to-be-checked.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE1D,mDAAmD;AACnD,sDAAsD;AACtD,MAAM,wBAAwB,GAAG;IAC7B,UAAU;IACV,kBAAkB;IAClB,eAAe;IACf,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,UAAU;CACb,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,WAAW,CAAqB,OAAgB;IAC5D,gBAAgB,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;IAE7C,MAAM,YAAY,GAAG,GAAG,EAAE;QACtB,OAAO,CACH,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,OAAO;YACzC,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAE,OAA4B,CAAC,IAAI,CAAC,CACrE,CAAC;IACN,CAAC,CAAC;IAEF,MAAM,kBAAkB,GAAG,GAAG,EAAE;QAC5B,OAAO,CACH,mBAAmB,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;YACjD,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CACzE,CAAC;IACN,CAAC,CAAC;IAEF,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,kBAAkB,EAAE,EAAE,CAAC;QAC3C,OAAO;YACH,IAAI,EAAE,KAAK;YACX,OAAO,EAAE,GAAG,EAAE,CACV,qEAAqE,sBAAsB,EAAE,iGAAiG;SACrM,CAAC;IACN,CAAC;IAED,MAAM,SAAS,GAAG,GAAG,EAAE;QACnB,IAAI,YAAY,EAAE;YAAE,OAAQ,OAA4B,CAAC,OAAO,CAAC;QACjE,OAAO,OAAO,CAAC,YAAY,CAAC,cAAc,CAAC,KAAK,MAAM,CAAC;IAC3D,CAAC,CAAC;IAEF,OAAO;QACH,IAAI,EAAE,SAAS,EAAE;QACjB,OAAO,EAAE,GAAG,EAAE;YACV,MAAM,EAAE,GAAG,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC;YACzC,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,oBAAoB,EAAE,WAAW;gBACjC,KAAK,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE;aAC5D,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjB,CAAC;KACJ,CAAC;AACN,CAAC;AAED,SAAS,sBAAsB;IAC3B,OAAO,UAAU,CACb,wBAAwB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,IAAI,GAAG,CAAC,EACxD,EAAE,iBAAiB,EAAE,MAAM,EAAE,CAChC,CAAC;AACN,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAmB;IAC5C,OAAO,IAAI,KAAK,IAAI,IAAI,wBAAwB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACpE,CAAC"}
|
|
@@ -1,3 +1,41 @@
|
|
|
1
1
|
import type { MatcherResult, MatcherState } from "./types.js";
|
|
2
|
+
/**
|
|
3
|
+
* @description
|
|
4
|
+
* Allows you to check whether an element is disabled from the user's perspective.
|
|
5
|
+
*
|
|
6
|
+
* Matches if the element is a form control and the `disabled` attribute is specified on this element or the
|
|
7
|
+
* element is a descendant of a form element with a `disabled` attribute.
|
|
8
|
+
* @example
|
|
9
|
+
* <button
|
|
10
|
+
* data-testid="button"
|
|
11
|
+
* type="submit"
|
|
12
|
+
* disabled
|
|
13
|
+
* >
|
|
14
|
+
* submit
|
|
15
|
+
* </button>
|
|
16
|
+
*
|
|
17
|
+
* expect(getByTestId('button')).toBeDisabled()
|
|
18
|
+
* @see
|
|
19
|
+
* [testing-library/jest-dom#tobedisabled](https://github.com/testing-library/jest-dom#tobedisabled)
|
|
20
|
+
*/
|
|
2
21
|
export declare function toBeDisabled(this: MatcherState, element: Element): MatcherResult;
|
|
22
|
+
/**
|
|
23
|
+
* @description
|
|
24
|
+
* Allows you to check whether an element is not disabled from the user's perspective.
|
|
25
|
+
*
|
|
26
|
+
* Works like `not.toBeDisabled()`.
|
|
27
|
+
*
|
|
28
|
+
* Use this matcher to avoid double negation in your tests.
|
|
29
|
+
* @example
|
|
30
|
+
* <button
|
|
31
|
+
* data-testid="button"
|
|
32
|
+
* type="submit"
|
|
33
|
+
* >
|
|
34
|
+
* submit
|
|
35
|
+
* </button>
|
|
36
|
+
*
|
|
37
|
+
* expect(getByTestId('button')).toBeEnabled()
|
|
38
|
+
* @see
|
|
39
|
+
* [testing-library/jest-dom#tobeenabled](https://github.com/testing-library/jest-dom#tobeenabled)
|
|
40
|
+
*/
|
|
3
41
|
export declare function toBeEnabled(this: MatcherState, element: Element): MatcherResult;
|
|
@@ -39,6 +39,25 @@ function isAncestorDisabled(element) {
|
|
|
39
39
|
function isElementOrAncestorDisabled(element) {
|
|
40
40
|
return canElementBeDisabled(element) && (isElementDisabled(element) || isAncestorDisabled(element));
|
|
41
41
|
}
|
|
42
|
+
/**
|
|
43
|
+
* @description
|
|
44
|
+
* Allows you to check whether an element is disabled from the user's perspective.
|
|
45
|
+
*
|
|
46
|
+
* Matches if the element is a form control and the `disabled` attribute is specified on this element or the
|
|
47
|
+
* element is a descendant of a form element with a `disabled` attribute.
|
|
48
|
+
* @example
|
|
49
|
+
* <button
|
|
50
|
+
* data-testid="button"
|
|
51
|
+
* type="submit"
|
|
52
|
+
* disabled
|
|
53
|
+
* >
|
|
54
|
+
* submit
|
|
55
|
+
* </button>
|
|
56
|
+
*
|
|
57
|
+
* expect(getByTestId('button')).toBeDisabled()
|
|
58
|
+
* @see
|
|
59
|
+
* [testing-library/jest-dom#tobedisabled](https://github.com/testing-library/jest-dom#tobedisabled)
|
|
60
|
+
*/
|
|
42
61
|
export function toBeDisabled(element) {
|
|
43
62
|
checkHtmlElement(element, toBeDisabled, this);
|
|
44
63
|
const isDisabled = isElementOrAncestorDisabled(element);
|
|
@@ -55,6 +74,25 @@ export function toBeDisabled(element) {
|
|
|
55
74
|
},
|
|
56
75
|
};
|
|
57
76
|
}
|
|
77
|
+
/**
|
|
78
|
+
* @description
|
|
79
|
+
* Allows you to check whether an element is not disabled from the user's perspective.
|
|
80
|
+
*
|
|
81
|
+
* Works like `not.toBeDisabled()`.
|
|
82
|
+
*
|
|
83
|
+
* Use this matcher to avoid double negation in your tests.
|
|
84
|
+
* @example
|
|
85
|
+
* <button
|
|
86
|
+
* data-testid="button"
|
|
87
|
+
* type="submit"
|
|
88
|
+
* >
|
|
89
|
+
* submit
|
|
90
|
+
* </button>
|
|
91
|
+
*
|
|
92
|
+
* expect(getByTestId('button')).toBeEnabled()
|
|
93
|
+
* @see
|
|
94
|
+
* [testing-library/jest-dom#tobeenabled](https://github.com/testing-library/jest-dom#tobeenabled)
|
|
95
|
+
*/
|
|
58
96
|
export function toBeEnabled(element) {
|
|
59
97
|
checkHtmlElement(element, toBeEnabled, this);
|
|
60
98
|
const isEnabled = !isElementOrAncestorDisabled(element);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"to-be-disabled.js","sourceRoot":"","sources":["../../src/matchers/to-be-disabled.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"to-be-disabled.js","sourceRoot":"","sources":["../../src/matchers/to-be-disabled.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,15 @@
|
|
|
1
1
|
import type { MatcherResult, MatcherState } from "./types.js";
|
|
2
|
+
/**
|
|
3
|
+
* @description
|
|
4
|
+
* Assert whether an element has content or not.
|
|
5
|
+
* @example
|
|
6
|
+
* <span data-testid="not-empty">
|
|
7
|
+
* <span data-testid="empty"></span>
|
|
8
|
+
* </span>
|
|
9
|
+
*
|
|
10
|
+
* expect(getByTestId('empty')).toBeEmptyDOMElement()
|
|
11
|
+
* expect(getByTestId('not-empty')).not.toBeEmptyDOMElement()
|
|
12
|
+
* @see
|
|
13
|
+
* [testing-library/jest-dom#tobeemptydomelement](https://github.com/testing-library/jest-dom#tobeemptydomelement)
|
|
14
|
+
*/
|
|
2
15
|
export declare function toBeEmptyDOMElement(this: MatcherState, element: Element): MatcherResult;
|
|
@@ -1,4 +1,17 @@
|
|
|
1
1
|
import { checkHtmlElement } from "./utils.js";
|
|
2
|
+
/**
|
|
3
|
+
* @description
|
|
4
|
+
* Assert whether an element has content or not.
|
|
5
|
+
* @example
|
|
6
|
+
* <span data-testid="not-empty">
|
|
7
|
+
* <span data-testid="empty"></span>
|
|
8
|
+
* </span>
|
|
9
|
+
*
|
|
10
|
+
* expect(getByTestId('empty')).toBeEmptyDOMElement()
|
|
11
|
+
* expect(getByTestId('not-empty')).not.toBeEmptyDOMElement()
|
|
12
|
+
* @see
|
|
13
|
+
* [testing-library/jest-dom#tobeemptydomelement](https://github.com/testing-library/jest-dom#tobeemptydomelement)
|
|
14
|
+
*/
|
|
2
15
|
export function toBeEmptyDOMElement(element) {
|
|
3
16
|
checkHtmlElement(element, toBeEmptyDOMElement, this);
|
|
4
17
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"to-be-empty-dom-element.js","sourceRoot":"","sources":["../../src/matchers/to-be-empty-dom-element.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9C,MAAM,UAAU,mBAAmB,CAAqB,OAAgB;IACpE,gBAAgB,CAAC,OAAO,EAAE,mBAAmB,EAAE,IAAI,CAAC,CAAC;IAErD,OAAO;QACH,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC;QAC7B,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,sBAAsB,EAAE,SAAS,EAAE,EAAE,CAAC;gBACxF,EAAE;gBACF,WAAW;gBACX,KAAK,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;aACrD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjB,CAAC;KACJ,CAAC;AACN,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,cAAc,CAAC,OAAgB;IACpC,MAAM,oBAAoB,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC;IAClG,OAAO,oBAAoB,CAAC,MAAM,KAAK,CAAC,CAAC;AAC7C,CAAC"}
|
|
1
|
+
{"version":3,"file":"to-be-empty-dom-element.js","sourceRoot":"","sources":["../../src/matchers/to-be-empty-dom-element.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9C;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,mBAAmB,CAAqB,OAAgB;IACpE,gBAAgB,CAAC,OAAO,EAAE,mBAAmB,EAAE,IAAI,CAAC,CAAC;IAErD,OAAO;QACH,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC;QAC7B,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,sBAAsB,EAAE,SAAS,EAAE,EAAE,CAAC;gBACxF,EAAE;gBACF,WAAW;gBACX,KAAK,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;aACrD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjB,CAAC;KACJ,CAAC;AACN,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,cAAc,CAAC,OAAgB;IACpC,MAAM,oBAAoB,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC;IAClG,OAAO,oBAAoB,CAAC,MAAM,KAAK,CAAC,CAAC;AAC7C,CAAC"}
|
|
@@ -1,3 +1,17 @@
|
|
|
1
1
|
import type { MatcherResult, MatcherState } from "./types.js";
|
|
2
|
-
/**
|
|
2
|
+
/**
|
|
3
|
+
* @deprecated
|
|
4
|
+
* since v5.9.0
|
|
5
|
+
* @description
|
|
6
|
+
* Assert whether an element has content or not.
|
|
7
|
+
* @example
|
|
8
|
+
* <span data-testid="not-empty">
|
|
9
|
+
* <span data-testid="empty"></span>
|
|
10
|
+
* </span>
|
|
11
|
+
*
|
|
12
|
+
* expect(getByTestId('empty')).toBeEmpty()
|
|
13
|
+
* expect(getByTestId('not-empty')).not.toBeEmpty()
|
|
14
|
+
* @see
|
|
15
|
+
* [testing-library/jest-dom#tobeempty](https://github.com/testing-library/jest-dom#tobeempty)
|
|
16
|
+
*/
|
|
3
17
|
export declare function toBeEmpty(this: MatcherState, element: Element): MatcherResult;
|
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
import { checkHtmlElement, deprecate } from "./utils.js";
|
|
2
|
-
/**
|
|
2
|
+
/**
|
|
3
|
+
* @deprecated
|
|
4
|
+
* since v5.9.0
|
|
5
|
+
* @description
|
|
6
|
+
* Assert whether an element has content or not.
|
|
7
|
+
* @example
|
|
8
|
+
* <span data-testid="not-empty">
|
|
9
|
+
* <span data-testid="empty"></span>
|
|
10
|
+
* </span>
|
|
11
|
+
*
|
|
12
|
+
* expect(getByTestId('empty')).toBeEmpty()
|
|
13
|
+
* expect(getByTestId('not-empty')).not.toBeEmpty()
|
|
14
|
+
* @see
|
|
15
|
+
* [testing-library/jest-dom#tobeempty](https://github.com/testing-library/jest-dom#tobeempty)
|
|
16
|
+
*/
|
|
3
17
|
export function toBeEmpty(element) {
|
|
4
18
|
deprecate("toBeEmpty", "Please use instead toBeEmptyDOMElement for finding empty nodes in the DOM.");
|
|
5
19
|
checkHtmlElement(element, toBeEmpty, this);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"to-be-empty.js","sourceRoot":"","sources":["../../src/matchers/to-be-empty.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEzD
|
|
1
|
+
{"version":3,"file":"to-be-empty.js","sourceRoot":"","sources":["../../src/matchers/to-be-empty.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEzD;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,SAAS,CAAqB,OAAgB;IAC1D,SAAS,CAAC,WAAW,EAAE,4EAA4E,CAAC,CAAC;IACrG,gBAAgB,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;IAE3C,OAAO;QACH,IAAI,EAAE,OAAO,CAAC,SAAS,KAAK,EAAE;QAC9B,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,YAAY,EAAE,SAAS,EAAE,EAAE,CAAC;gBAC9E,EAAE;gBACF,WAAW;gBACX,KAAK,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;aACrD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjB,CAAC;KACJ,CAAC;AACN,CAAC"}
|
|
@@ -1,2 +1,13 @@
|
|
|
1
1
|
import type { MatcherResult, MatcherState } from "./types.js";
|
|
2
|
+
/**
|
|
3
|
+
* @description
|
|
4
|
+
* Assert whether an element is present in the document or not.
|
|
5
|
+
* @example
|
|
6
|
+
* <svg data-testid="svg-element"></svg>
|
|
7
|
+
*
|
|
8
|
+
* expect(queryByTestId('svg-element')).toBeInTheDocument()
|
|
9
|
+
* expect(queryByTestId('does-not-exist')).not.toBeInTheDocument()
|
|
10
|
+
* @see
|
|
11
|
+
* [testing-library/jest-dom#tobeinthedocument](https://github.com/testing-library/jest-dom#tobeinthedocument)
|
|
12
|
+
*/
|
|
2
13
|
export declare function toBeInTheDocument(this: MatcherState, element: Element): MatcherResult;
|
|
@@ -1,4 +1,15 @@
|
|
|
1
1
|
import { checkHtmlElement } from "./utils.js";
|
|
2
|
+
/**
|
|
3
|
+
* @description
|
|
4
|
+
* Assert whether an element is present in the document or not.
|
|
5
|
+
* @example
|
|
6
|
+
* <svg data-testid="svg-element"></svg>
|
|
7
|
+
*
|
|
8
|
+
* expect(queryByTestId('svg-element')).toBeInTheDocument()
|
|
9
|
+
* expect(queryByTestId('does-not-exist')).not.toBeInTheDocument()
|
|
10
|
+
* @see
|
|
11
|
+
* [testing-library/jest-dom#tobeinthedocument](https://github.com/testing-library/jest-dom#tobeinthedocument)
|
|
12
|
+
*/
|
|
2
13
|
export function toBeInTheDocument(element) {
|
|
3
14
|
if (element !== null || !this.isNot) {
|
|
4
15
|
checkHtmlElement(element, toBeInTheDocument, this);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"to-be-in-the-document.js","sourceRoot":"","sources":["../../src/matchers/to-be-in-the-document.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9C,MAAM,UAAU,iBAAiB,CAAqB,OAAgB;IAClE,IAAI,OAAO,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QAClC,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,EAAE,IAAI,CAAC,CAAC;IACvD,CAAC;IAED,MAAM,IAAI,GAAG,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,KAAK,OAAO,CAAC,WAAW,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IAE1G,MAAM,UAAU,GAAG,GAAG,EAAE;QACpB,OAAO,mDAAmD,IAAI,CAAC,KAAK,CAAC,SAAS,CAC1E,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAC1B,UAAU,CAAC;IAChB,CAAC,CAAC;IACF,MAAM,aAAa,GAAG,GAAG,EAAE;QACvB,OAAO,4CAA4C,CAAC;IACxD,CAAC,CAAC;IAEF,OAAO;QACH,IAAI;QACJ,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,oBAAoB,EAAE,SAAS,EAAE,EAAE,CAAC;gBACtF,EAAE;gBACF,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;aACzE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjB,CAAC;KACJ,CAAC;AACN,CAAC"}
|
|
1
|
+
{"version":3,"file":"to-be-in-the-document.js","sourceRoot":"","sources":["../../src/matchers/to-be-in-the-document.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9C;;;;;;;;;;GAUG;AACH,MAAM,UAAU,iBAAiB,CAAqB,OAAgB;IAClE,IAAI,OAAO,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QAClC,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,EAAE,IAAI,CAAC,CAAC;IACvD,CAAC;IAED,MAAM,IAAI,GAAG,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,KAAK,OAAO,CAAC,WAAW,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IAE1G,MAAM,UAAU,GAAG,GAAG,EAAE;QACpB,OAAO,mDAAmD,IAAI,CAAC,KAAK,CAAC,SAAS,CAC1E,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAC1B,UAAU,CAAC;IAChB,CAAC,CAAC;IACF,MAAM,aAAa,GAAG,GAAG,EAAE;QACvB,OAAO,4CAA4C,CAAC;IACxD,CAAC,CAAC;IAEF,OAAO;QACH,IAAI;QACJ,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,oBAAoB,EAAE,SAAS,EAAE,EAAE,CAAC;gBACtF,EAAE;gBACF,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;aACzE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjB,CAAC;KACJ,CAAC;AACN,CAAC"}
|
|
@@ -1,3 +1,14 @@
|
|
|
1
1
|
import type { MatcherResult, MatcherState } from "./types.js";
|
|
2
|
-
/**
|
|
2
|
+
/**
|
|
3
|
+
* @deprecated
|
|
4
|
+
* since v1.9.0
|
|
5
|
+
* @description
|
|
6
|
+
* Assert whether a value is a DOM element, or not. Contrary to what its name
|
|
7
|
+
* implies, this matcher only checks that you passed to it a valid DOM
|
|
8
|
+
* element.
|
|
9
|
+
*
|
|
10
|
+
* It does not have a clear definition of what "the DOM" is. Therefore, it
|
|
11
|
+
* does not check whether that element is contained anywhere.
|
|
12
|
+
* @see [testing-library/jest-dom#toBeInTheDom](https://github.com/testing-library/jest-dom#toBeInTheDom)
|
|
13
|
+
*/
|
|
3
14
|
export declare function toBeInTheDOM(this: MatcherState, element: Element, container?: HTMLElement | SVGElement): MatcherResult;
|
|
@@ -1,5 +1,16 @@
|
|
|
1
1
|
import { checkHtmlElement, deprecate } from "./utils.js";
|
|
2
|
-
/**
|
|
2
|
+
/**
|
|
3
|
+
* @deprecated
|
|
4
|
+
* since v1.9.0
|
|
5
|
+
* @description
|
|
6
|
+
* Assert whether a value is a DOM element, or not. Contrary to what its name
|
|
7
|
+
* implies, this matcher only checks that you passed to it a valid DOM
|
|
8
|
+
* element.
|
|
9
|
+
*
|
|
10
|
+
* It does not have a clear definition of what "the DOM" is. Therefore, it
|
|
11
|
+
* does not check whether that element is contained anywhere.
|
|
12
|
+
* @see [testing-library/jest-dom#toBeInTheDom](https://github.com/testing-library/jest-dom#toBeInTheDom)
|
|
13
|
+
*/
|
|
3
14
|
export function toBeInTheDOM(element, container) {
|
|
4
15
|
deprecate("toBeInTheDOM", "Please use toBeInTheDocument for searching the entire document and toContainElement for searching a specific container.");
|
|
5
16
|
if (element) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"to-be-in-the-dom.js","sourceRoot":"","sources":["../../src/matchers/to-be-in-the-dom.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEzD
|
|
1
|
+
{"version":3,"file":"to-be-in-the-dom.js","sourceRoot":"","sources":["../../src/matchers/to-be-in-the-dom.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEzD;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,YAAY,CAExB,OAAgB,EAChB,SAAoC;IAEpC,SAAS,CACL,cAAc,EACd,yHAAyH,CAC5H,CAAC;IAEF,IAAI,OAAO,EAAE,CAAC;QACV,gBAAgB,CAAC,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;IAClD,CAAC;IAED,IAAI,SAAS,EAAE,CAAC;QACZ,gBAAgB,CAAC,SAAS,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;IACpD,CAAC;IAED,OAAO;QACH,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO;QACzD,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,eAAe,EAAE,SAAS,EAAE,EAAE,CAAC;gBACjF,EAAE;gBACF,WAAW;gBACX,KAAK,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE;aAChF,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjB,CAAC;KACJ,CAAC;AACN,CAAC"}
|
|
@@ -1,3 +1,39 @@
|
|
|
1
1
|
import type { MatcherResult, MatcherState } from "./types.js";
|
|
2
|
+
/**
|
|
3
|
+
* @description
|
|
4
|
+
* Check if a form element, or the entire `form`, is currently invalid.
|
|
5
|
+
*
|
|
6
|
+
* An `input`, `select`, `textarea`, or `form` element is invalid if it has an `aria-invalid` attribute with no
|
|
7
|
+
* value or a value of "true", or if the result of `checkValidity()` is false.
|
|
8
|
+
* @example
|
|
9
|
+
* <input data-testid="no-aria-invalid" />
|
|
10
|
+
*
|
|
11
|
+
* <form data-testid="invalid-form">
|
|
12
|
+
* <input required />
|
|
13
|
+
* </form>
|
|
14
|
+
*
|
|
15
|
+
* expect(getByTestId('no-aria-invalid')).not.toBeInvalid()
|
|
16
|
+
* expect(getByTestId('invalid-form')).toBeInvalid()
|
|
17
|
+
* @see
|
|
18
|
+
* [testing-library/jest-dom#tobeinvalid](https://github.com/testing-library/jest-dom#tobeinvalid)
|
|
19
|
+
*/
|
|
2
20
|
export declare function toBeInvalid(this: MatcherState, element: Element): MatcherResult;
|
|
21
|
+
/**
|
|
22
|
+
* @description
|
|
23
|
+
* Allows you to check if a form element is currently required.
|
|
24
|
+
*
|
|
25
|
+
* An `input`, `select`, `textarea`, or `form` element is invalid if it has an `aria-invalid` attribute with no
|
|
26
|
+
* value or a value of "false", or if the result of `checkValidity()` is true.
|
|
27
|
+
* @example
|
|
28
|
+
* <input data-testid="aria-invalid" aria-invalid />
|
|
29
|
+
*
|
|
30
|
+
* <form data-testid="valid-form">
|
|
31
|
+
* <input />
|
|
32
|
+
* </form>
|
|
33
|
+
*
|
|
34
|
+
* expect(getByTestId('no-aria-invalid')).not.toBeValid()
|
|
35
|
+
* expect(getByTestId('invalid-form')).toBeInvalid()
|
|
36
|
+
* @see
|
|
37
|
+
* [testing-library/jest-dom#tobevalid](https://github.com/testing-library/jest-dom#tobevalid)
|
|
38
|
+
*/
|
|
3
39
|
export declare function toBeValid(this: MatcherState, element: Element): MatcherResult;
|
|
@@ -15,6 +15,24 @@ function isElementInvalid(element) {
|
|
|
15
15
|
return isHaveAriaInvalid;
|
|
16
16
|
}
|
|
17
17
|
}
|
|
18
|
+
/**
|
|
19
|
+
* @description
|
|
20
|
+
* Check if a form element, or the entire `form`, is currently invalid.
|
|
21
|
+
*
|
|
22
|
+
* An `input`, `select`, `textarea`, or `form` element is invalid if it has an `aria-invalid` attribute with no
|
|
23
|
+
* value or a value of "true", or if the result of `checkValidity()` is false.
|
|
24
|
+
* @example
|
|
25
|
+
* <input data-testid="no-aria-invalid" />
|
|
26
|
+
*
|
|
27
|
+
* <form data-testid="invalid-form">
|
|
28
|
+
* <input required />
|
|
29
|
+
* </form>
|
|
30
|
+
*
|
|
31
|
+
* expect(getByTestId('no-aria-invalid')).not.toBeInvalid()
|
|
32
|
+
* expect(getByTestId('invalid-form')).toBeInvalid()
|
|
33
|
+
* @see
|
|
34
|
+
* [testing-library/jest-dom#tobeinvalid](https://github.com/testing-library/jest-dom#tobeinvalid)
|
|
35
|
+
*/
|
|
18
36
|
export function toBeInvalid(element) {
|
|
19
37
|
checkHtmlElement(element, toBeInvalid, this);
|
|
20
38
|
const isInvalid = isElementInvalid(element);
|
|
@@ -31,6 +49,24 @@ export function toBeInvalid(element) {
|
|
|
31
49
|
},
|
|
32
50
|
};
|
|
33
51
|
}
|
|
52
|
+
/**
|
|
53
|
+
* @description
|
|
54
|
+
* Allows you to check if a form element is currently required.
|
|
55
|
+
*
|
|
56
|
+
* An `input`, `select`, `textarea`, or `form` element is invalid if it has an `aria-invalid` attribute with no
|
|
57
|
+
* value or a value of "false", or if the result of `checkValidity()` is true.
|
|
58
|
+
* @example
|
|
59
|
+
* <input data-testid="aria-invalid" aria-invalid />
|
|
60
|
+
*
|
|
61
|
+
* <form data-testid="valid-form">
|
|
62
|
+
* <input />
|
|
63
|
+
* </form>
|
|
64
|
+
*
|
|
65
|
+
* expect(getByTestId('no-aria-invalid')).not.toBeValid()
|
|
66
|
+
* expect(getByTestId('invalid-form')).toBeInvalid()
|
|
67
|
+
* @see
|
|
68
|
+
* [testing-library/jest-dom#tobevalid](https://github.com/testing-library/jest-dom#tobevalid)
|
|
69
|
+
*/
|
|
34
70
|
export function toBeValid(element) {
|
|
35
71
|
checkHtmlElement(element, toBeValid, this);
|
|
36
72
|
const isValid = !isElementInvalid(element);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"to-be-invalid.js","sourceRoot":"","sources":["../../src/matchers/to-be-invalid.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEtD,MAAM,SAAS,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;AAE1D,SAAS,0BAA0B,CAAC,OAAgB;IAChD,OAAO,OAAO,CAAC,YAAY,CAAC,cAAc,CAAC,IAAI,OAAO,CAAC,YAAY,CAAC,cAAc,CAAC,KAAK,OAAO,CAAC;AACpG,CAAC;AAED,SAAS,wBAAwB,CAC7B,OAAgB;IAEhB,OAAO,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;AAC/C,CAAC;AAED,SAAS,gBAAgB,CAAC,OAAgB;IACtC,MAAM,iBAAiB,GAAG,0BAA0B,CAAC,OAAO,CAAC,CAAC;IAC9D,IAAI,wBAAwB,CAAC,OAAO,CAAC,EAAE,CAAC;QACpC,OAAO,iBAAiB,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;IACzD,CAAC;SAAM,CAAC;QACJ,OAAO,iBAAiB,CAAC;IAC7B,CAAC;AACL,CAAC;AAED,MAAM,UAAU,WAAW,CAAqB,OAAgB;IAC5D,gBAAgB,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;IAE7C,MAAM,SAAS,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAE5C,OAAO;QACH,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,GAAG,EAAE;YACV,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC;YACvC,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,oBAAoB,EAAE,qBAAqB;gBAC3C,KAAK,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE;aAC5D,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjB,CAAC;KACJ,CAAC;AACN,CAAC;AAED,MAAM,UAAU,SAAS,CAAqB,OAAgB;IAC1D,gBAAgB,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;IAE3C,MAAM,OAAO,GAAG,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAE3C,OAAO;QACH,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,GAAG,EAAE;YACV,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC;YACrC,OAAO;gBACH,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE,CAAC;gBAC9E,EAAE;gBACF,oBAAoB,EAAE,mBAAmB;gBACzC,KAAK,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE;aAC5D,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjB,CAAC;KACJ,CAAC;AACN,CAAC"}
|
|
1
|
+
{"version":3,"file":"to-be-invalid.js","sourceRoot":"","sources":["../../src/matchers/to-be-invalid.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEtD,MAAM,SAAS,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;AAE1D,SAAS,0BAA0B,CAAC,OAAgB;IAChD,OAAO,OAAO,CAAC,YAAY,CAAC,cAAc,CAAC,IAAI,OAAO,CAAC,YAAY,CAAC,cAAc,CAAC,KAAK,OAAO,CAAC;AACpG,CAAC;AAED,SAAS,wBAAwB,CAC7B,OAAgB;IAEhB,OAAO,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;AAC/C,CAAC;AAED,SAAS,gBAAgB,CAAC,OAAgB;IACtC,MAAM,iBAAiB,GAAG,0BAA0B,CAAC,OAAO,CAAC,CAAC;IAC9D,IAAI,wBAAwB,CAAC,OAAO,CAAC,EAAE,CAAC;QACpC,OAAO,iBAAiB,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;IACzD,CAAC;SAAM,CAAC;QACJ,OAAO,iBAAiB,CAAC;IAC7B,CAAC;AACL,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,WAAW,CAAqB,OAAgB;IAC5D,gBAAgB,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;IAE7C,MAAM,SAAS,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAE5C,OAAO;QACH,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,GAAG,EAAE;YACV,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC;YACvC,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,oBAAoB,EAAE,qBAAqB;gBAC3C,KAAK,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE;aAC5D,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjB,CAAC;KACJ,CAAC;AACN,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,SAAS,CAAqB,OAAgB;IAC1D,gBAAgB,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;IAE3C,MAAM,OAAO,GAAG,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAE3C,OAAO;QACH,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,GAAG,EAAE;YACV,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC;YACrC,OAAO;gBACH,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE,CAAC;gBAC9E,EAAE;gBACF,oBAAoB,EAAE,mBAAmB;gBACzC,KAAK,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE;aAC5D,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjB,CAAC;KACJ,CAAC;AACN,CAAC"}
|
|
@@ -1,2 +1,39 @@
|
|
|
1
1
|
import type { MatcherResult, MatcherState } from "./types.js";
|
|
2
|
+
/**
|
|
3
|
+
* @description
|
|
4
|
+
* This allows you to check whether the given element is partially checked.
|
|
5
|
+
* It accepts an input of type checkbox and elements with a role of checkbox
|
|
6
|
+
* with a aria-checked="mixed", or input of type checkbox with indeterminate
|
|
7
|
+
* set to true
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* <input type="checkbox" aria-checked="mixed" data-testid="aria-checkbox-mixed" />
|
|
11
|
+
* <input type="checkbox" checked data-testid="input-checkbox-checked" />
|
|
12
|
+
* <input type="checkbox" data-testid="input-checkbox-unchecked" />
|
|
13
|
+
* <div role="checkbox" aria-checked="true" data-testid="aria-checkbox-checked" />
|
|
14
|
+
* <div
|
|
15
|
+
* role="checkbox"
|
|
16
|
+
* aria-checked="false"
|
|
17
|
+
* data-testid="aria-checkbox-unchecked"
|
|
18
|
+
* />
|
|
19
|
+
* <input type="checkbox" data-testid="input-checkbox-indeterminate" />
|
|
20
|
+
*
|
|
21
|
+
* const ariaCheckboxMixed = getByTestId('aria-checkbox-mixed')
|
|
22
|
+
* const inputCheckboxChecked = getByTestId('input-checkbox-checked')
|
|
23
|
+
* const inputCheckboxUnchecked = getByTestId('input-checkbox-unchecked')
|
|
24
|
+
* const ariaCheckboxChecked = getByTestId('aria-checkbox-checked')
|
|
25
|
+
* const ariaCheckboxUnchecked = getByTestId('aria-checkbox-unchecked')
|
|
26
|
+
* const inputCheckboxIndeterminate = getByTestId('input-checkbox-indeterminate')
|
|
27
|
+
*
|
|
28
|
+
* expect(ariaCheckboxMixed).toBePartiallyChecked()
|
|
29
|
+
* expect(inputCheckboxChecked).not.toBePartiallyChecked()
|
|
30
|
+
* expect(inputCheckboxUnchecked).not.toBePartiallyChecked()
|
|
31
|
+
* expect(ariaCheckboxChecked).not.toBePartiallyChecked()
|
|
32
|
+
* expect(ariaCheckboxUnchecked).not.toBePartiallyChecked()
|
|
33
|
+
*
|
|
34
|
+
* inputCheckboxIndeterminate.indeterminate = true
|
|
35
|
+
* expect(inputCheckboxIndeterminate).toBePartiallyChecked()
|
|
36
|
+
* @see
|
|
37
|
+
* [testing-library/jest-dom#tobepartiallychecked](https://github.com/testing-library/jest-dom#tobepartiallychecked)
|
|
38
|
+
*/
|
|
2
39
|
export declare function toBePartiallyChecked(this: MatcherState, element: Element): MatcherResult;
|
|
@@ -1,4 +1,41 @@
|
|
|
1
1
|
import { checkHtmlElement } from "./utils.js";
|
|
2
|
+
/**
|
|
3
|
+
* @description
|
|
4
|
+
* This allows you to check whether the given element is partially checked.
|
|
5
|
+
* It accepts an input of type checkbox and elements with a role of checkbox
|
|
6
|
+
* with a aria-checked="mixed", or input of type checkbox with indeterminate
|
|
7
|
+
* set to true
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* <input type="checkbox" aria-checked="mixed" data-testid="aria-checkbox-mixed" />
|
|
11
|
+
* <input type="checkbox" checked data-testid="input-checkbox-checked" />
|
|
12
|
+
* <input type="checkbox" data-testid="input-checkbox-unchecked" />
|
|
13
|
+
* <div role="checkbox" aria-checked="true" data-testid="aria-checkbox-checked" />
|
|
14
|
+
* <div
|
|
15
|
+
* role="checkbox"
|
|
16
|
+
* aria-checked="false"
|
|
17
|
+
* data-testid="aria-checkbox-unchecked"
|
|
18
|
+
* />
|
|
19
|
+
* <input type="checkbox" data-testid="input-checkbox-indeterminate" />
|
|
20
|
+
*
|
|
21
|
+
* const ariaCheckboxMixed = getByTestId('aria-checkbox-mixed')
|
|
22
|
+
* const inputCheckboxChecked = getByTestId('input-checkbox-checked')
|
|
23
|
+
* const inputCheckboxUnchecked = getByTestId('input-checkbox-unchecked')
|
|
24
|
+
* const ariaCheckboxChecked = getByTestId('aria-checkbox-checked')
|
|
25
|
+
* const ariaCheckboxUnchecked = getByTestId('aria-checkbox-unchecked')
|
|
26
|
+
* const inputCheckboxIndeterminate = getByTestId('input-checkbox-indeterminate')
|
|
27
|
+
*
|
|
28
|
+
* expect(ariaCheckboxMixed).toBePartiallyChecked()
|
|
29
|
+
* expect(inputCheckboxChecked).not.toBePartiallyChecked()
|
|
30
|
+
* expect(inputCheckboxUnchecked).not.toBePartiallyChecked()
|
|
31
|
+
* expect(ariaCheckboxChecked).not.toBePartiallyChecked()
|
|
32
|
+
* expect(ariaCheckboxUnchecked).not.toBePartiallyChecked()
|
|
33
|
+
*
|
|
34
|
+
* inputCheckboxIndeterminate.indeterminate = true
|
|
35
|
+
* expect(inputCheckboxIndeterminate).toBePartiallyChecked()
|
|
36
|
+
* @see
|
|
37
|
+
* [testing-library/jest-dom#tobepartiallychecked](https://github.com/testing-library/jest-dom#tobepartiallychecked)
|
|
38
|
+
*/
|
|
2
39
|
export function toBePartiallyChecked(element) {
|
|
3
40
|
checkHtmlElement(element, toBePartiallyChecked, this);
|
|
4
41
|
const isValidInput = () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"to-be-partially-checked.js","sourceRoot":"","sources":["../../src/matchers/to-be-partially-checked.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9C,MAAM,UAAU,oBAAoB,CAAqB,OAAgB;IACrE,gBAAgB,CAAC,OAAO,EAAE,oBAAoB,EAAE,IAAI,CAAC,CAAC;IAEtD,MAAM,YAAY,GAAG,GAAG,EAAE;QACtB,OAAO,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,OAAO,IAAK,OAA4B,CAAC,IAAI,KAAK,UAAU,CAAC;IAC1G,CAAC,CAAC;IAEF,MAAM,kBAAkB,GAAG,GAAG,EAAE;QAC5B,OAAO,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,UAAU,CAAC;IACvD,CAAC,CAAC;IAEF,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,kBAAkB,EAAE,EAAE,CAAC;QAC3C,OAAO;YACH,IAAI,EAAE,KAAK;YACX,OAAO,EAAE,GAAG,EAAE,CACV,2KAA2K;SAClL,CAAC;IACN,CAAC;IAED,MAAM,kBAAkB,GAAG,GAAG,EAAE;QAC5B,MAAM,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,cAAc,CAAC,KAAK,OAAO,CAAC;QAErE,IAAI,YAAY,EAAE,EAAE,CAAC;YACjB,OAAQ,OAA4B,CAAC,aAAa,IAAI,WAAW,CAAC;QACtE,CAAC;QAED,OAAO,WAAW,CAAC;IACvB,CAAC,CAAC;IAEF,OAAO;QACH,IAAI,EAAE,kBAAkB,EAAE;QAC1B,OAAO,EAAE,GAAG,EAAE;YACV,MAAM,EAAE,GAAG,kBAAkB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC;YAClD,OAAO;gBACH,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,uBAAuB,EAAE,SAAS,EAAE,EAAE,CAAC;gBACzF,EAAE;gBACF,oBAAoB,EAAE,qBAAqB;gBAC3C,KAAK,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE;aAC5D,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjB,CAAC;KACJ,CAAC;AACN,CAAC"}
|
|
1
|
+
{"version":3,"file":"to-be-partially-checked.js","sourceRoot":"","sources":["../../src/matchers/to-be-partially-checked.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,MAAM,UAAU,oBAAoB,CAAqB,OAAgB;IACrE,gBAAgB,CAAC,OAAO,EAAE,oBAAoB,EAAE,IAAI,CAAC,CAAC;IAEtD,MAAM,YAAY,GAAG,GAAG,EAAE;QACtB,OAAO,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,OAAO,IAAK,OAA4B,CAAC,IAAI,KAAK,UAAU,CAAC;IAC1G,CAAC,CAAC;IAEF,MAAM,kBAAkB,GAAG,GAAG,EAAE;QAC5B,OAAO,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,UAAU,CAAC;IACvD,CAAC,CAAC;IAEF,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,kBAAkB,EAAE,EAAE,CAAC;QAC3C,OAAO;YACH,IAAI,EAAE,KAAK;YACX,OAAO,EAAE,GAAG,EAAE,CACV,2KAA2K;SAClL,CAAC;IACN,CAAC;IAED,MAAM,kBAAkB,GAAG,GAAG,EAAE;QAC5B,MAAM,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,cAAc,CAAC,KAAK,OAAO,CAAC;QAErE,IAAI,YAAY,EAAE,EAAE,CAAC;YACjB,OAAQ,OAA4B,CAAC,aAAa,IAAI,WAAW,CAAC;QACtE,CAAC;QAED,OAAO,WAAW,CAAC;IACvB,CAAC,CAAC;IAEF,OAAO;QACH,IAAI,EAAE,kBAAkB,EAAE;QAC1B,OAAO,EAAE,GAAG,EAAE;YACV,MAAM,EAAE,GAAG,kBAAkB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC;YAClD,OAAO;gBACH,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,uBAAuB,EAAE,SAAS,EAAE,EAAE,CAAC;gBACzF,EAAE;gBACF,oBAAoB,EAAE,qBAAqB;gBAC3C,KAAK,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE;aAC5D,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjB,CAAC;KACJ,CAAC;AACN,CAAC"}
|
|
@@ -1,2 +1,19 @@
|
|
|
1
1
|
import type { MatcherResult, MatcherState } from "./types.js";
|
|
2
|
+
/**
|
|
3
|
+
* @description
|
|
4
|
+
* This allows you to check if a form element is currently required.
|
|
5
|
+
*
|
|
6
|
+
* An element is required if it is having a `required` or `aria-required="true"` attribute.
|
|
7
|
+
* @example
|
|
8
|
+
* <input data-testid="required-input" required />
|
|
9
|
+
* <div
|
|
10
|
+
* data-testid="supported-role"
|
|
11
|
+
* role="tree"
|
|
12
|
+
* required />
|
|
13
|
+
*
|
|
14
|
+
* expect(getByTestId('required-input')).toBeRequired()
|
|
15
|
+
* expect(getByTestId('supported-role')).not.toBeRequired()
|
|
16
|
+
* @see
|
|
17
|
+
* [testing-library/jest-dom#toberequired](https://github.com/testing-library/jest-dom#toberequired)
|
|
18
|
+
*/
|
|
2
19
|
export declare function toBeRequired(this: MatcherState, element: Element): MatcherResult;
|
|
@@ -21,6 +21,23 @@ function isElementRequiredByARIA(element) {
|
|
|
21
21
|
(element.hasAttribute("role") &&
|
|
22
22
|
SUPPORTED_ARIA_ROLES.includes(element.getAttribute("role") ?? ""))));
|
|
23
23
|
}
|
|
24
|
+
/**
|
|
25
|
+
* @description
|
|
26
|
+
* This allows you to check if a form element is currently required.
|
|
27
|
+
*
|
|
28
|
+
* An element is required if it is having a `required` or `aria-required="true"` attribute.
|
|
29
|
+
* @example
|
|
30
|
+
* <input data-testid="required-input" required />
|
|
31
|
+
* <div
|
|
32
|
+
* data-testid="supported-role"
|
|
33
|
+
* role="tree"
|
|
34
|
+
* required />
|
|
35
|
+
*
|
|
36
|
+
* expect(getByTestId('required-input')).toBeRequired()
|
|
37
|
+
* expect(getByTestId('supported-role')).not.toBeRequired()
|
|
38
|
+
* @see
|
|
39
|
+
* [testing-library/jest-dom#toberequired](https://github.com/testing-library/jest-dom#toberequired)
|
|
40
|
+
*/
|
|
24
41
|
export function toBeRequired(element) {
|
|
25
42
|
checkHtmlElement(element, toBeRequired, this);
|
|
26
43
|
const isRequired = isRequiredOnFormTagsExceptInput(element) ||
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"to-be-required.js","sourceRoot":"","sources":["../../src/matchers/to-be-required.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEtD,wCAAwC;AACxC,MAAM,SAAS,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;AAEzC,MAAM,cAAc,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;AAEvD,MAAM,uBAAuB,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AAEzF,MAAM,oBAAoB,GAAG,CAAC,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;AAE1F,SAAS,+BAA+B,CAAC,OAAgB;IACrD,OAAO,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;AACnF,CAAC;AAED,SAAS,0BAA0B,CAAC,OAAgB;IAChD,OAAO,CACH,MAAM,CAAC,OAAO,CAAC,KAAK,OAAO;QAC3B,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC;QAChC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC;YAC1B,CAAC,uBAAuB,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;YACtE,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CACrC,CAAC;AACN,CAAC;AAED,SAAS,uBAAuB,CAAC,OAAgB;IAC7C,OAAO,CACH,OAAO,CAAC,YAAY,CAAC,eAAe,CAAC;QACrC,OAAO,CAAC,YAAY,CAAC,eAAe,CAAC,KAAK,MAAM;QAChD,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACrC,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC;gBACzB,oBAAoB,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAC9E,CAAC;AACN,CAAC;AAED,MAAM,UAAU,YAAY,CAAqB,OAAgB;IAC7D,gBAAgB,CAAC,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;IAE9C,MAAM,UAAU,GACZ,+BAA+B,CAAC,OAAO,CAAC;QACxC,0BAA0B,CAAC,OAAO,CAAC;QACnC,uBAAuB,CAAC,OAAO,CAAC,CAAC;IAErC,OAAO;QACH,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,GAAG,EAAE;YACV,MAAM,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC;YACxC,OAAO;gBACH,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,SAAS,EAAE,EAAE,CAAC;gBACjF,EAAE;gBACF,oBAAoB,EAAE,YAAY;gBAClC,KAAK,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE;aAC5D,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjB,CAAC;KACJ,CAAC;AACN,CAAC"}
|
|
1
|
+
{"version":3,"file":"to-be-required.js","sourceRoot":"","sources":["../../src/matchers/to-be-required.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEtD,wCAAwC;AACxC,MAAM,SAAS,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;AAEzC,MAAM,cAAc,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;AAEvD,MAAM,uBAAuB,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AAEzF,MAAM,oBAAoB,GAAG,CAAC,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;AAE1F,SAAS,+BAA+B,CAAC,OAAgB;IACrD,OAAO,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;AACnF,CAAC;AAED,SAAS,0BAA0B,CAAC,OAAgB;IAChD,OAAO,CACH,MAAM,CAAC,OAAO,CAAC,KAAK,OAAO;QAC3B,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC;QAChC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC;YAC1B,CAAC,uBAAuB,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;YACtE,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CACrC,CAAC;AACN,CAAC;AAED,SAAS,uBAAuB,CAAC,OAAgB;IAC7C,OAAO,CACH,OAAO,CAAC,YAAY,CAAC,eAAe,CAAC;QACrC,OAAO,CAAC,YAAY,CAAC,eAAe,CAAC,KAAK,MAAM;QAChD,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACrC,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC;gBACzB,oBAAoB,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAC9E,CAAC;AACN,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,YAAY,CAAqB,OAAgB;IAC7D,gBAAgB,CAAC,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;IAE9C,MAAM,UAAU,GACZ,+BAA+B,CAAC,OAAO,CAAC;QACxC,0BAA0B,CAAC,OAAO,CAAC;QACnC,uBAAuB,CAAC,OAAO,CAAC,CAAC;IAErC,OAAO;QACH,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,GAAG,EAAE;YACV,MAAM,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC;YACxC,OAAO;gBACH,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,SAAS,EAAE,EAAE,CAAC;gBACjF,EAAE;gBACF,oBAAoB,EAAE,YAAY;gBAClC,KAAK,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE;aAC5D,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjB,CAAC;KACJ,CAAC;AACN,CAAC"}
|