|
| 1 | +import document from './helpers/document' |
1 | 2 | import {render} from './helpers/test-utils'
|
2 | 3 |
|
| 4 | +const window = document.defaultView |
| 5 | + |
| 6 | +window.customElements.define( |
| 7 | + 'custom-element', |
| 8 | + class extends window.HTMLElement {}, |
| 9 | +) |
| 10 | + |
3 | 11 | test('.toBeDisabled', () => {
|
4 | 12 | const {queryByTestId} = render(`
|
5 | 13 | <div>
|
@@ -109,6 +117,23 @@ test('.toBeDisabled fieldset>legend', () => {
|
109 | 117 | expect(queryByTestId('outer-fieldset-element')).toBeDisabled()
|
110 | 118 | })
|
111 | 119 |
|
| 120 | +test('.toBeDisabled custom element', () => { |
| 121 | + const {queryByTestId} = render(` |
| 122 | + <custom-element data-testid="disabled-custom-element" disabled=""></custom-element> |
| 123 | + <custom-element data-testid="enabled-custom-element"></custom-element> |
| 124 | + `) |
| 125 | + |
| 126 | + expect(queryByTestId('disabled-custom-element')).toBeDisabled() |
| 127 | + expect(() => { |
| 128 | + expect(queryByTestId('disabled-custom-element')).not.toBeDisabled() |
| 129 | + }).toThrowError('element is disabled') |
| 130 | + |
| 131 | + expect(queryByTestId('enabled-custom-element')).not.toBeDisabled() |
| 132 | + expect(() => { |
| 133 | + expect(queryByTestId('enabled-custom-element')).toBeDisabled() |
| 134 | + }).toThrowError('element is not disabled') |
| 135 | +}) |
| 136 | + |
112 | 137 | test('.toBeEnabled', () => {
|
113 | 138 | const {queryByTestId} = render(`
|
114 | 139 | <div>
|
@@ -241,3 +266,20 @@ test('.toBeEnabled fieldset>legend', () => {
|
241 | 266 | expect(queryByTestId('outer-fieldset-element')).toBeEnabled()
|
242 | 267 | }).toThrowError()
|
243 | 268 | })
|
| 269 | + |
| 270 | +test('.toBeEnabled custom element', () => { |
| 271 | + const {queryByTestId} = render(` |
| 272 | + <custom-element data-testid="disabled-custom-element" disabled=""></custom-element> |
| 273 | + <custom-element data-testid="enabled-custom-element"></custom-element> |
| 274 | + `) |
| 275 | + |
| 276 | + expect(queryByTestId('disabled-custom-element')).not.toBeEnabled() |
| 277 | + expect(() => { |
| 278 | + expect(queryByTestId('disabled-custom-element')).toBeEnabled() |
| 279 | + }).toThrowError('element is not enabled') |
| 280 | + |
| 281 | + expect(queryByTestId('enabled-custom-element')).toBeEnabled() |
| 282 | + expect(() => { |
| 283 | + expect(queryByTestId('enabled-custom-element')).not.toBeEnabled() |
| 284 | + }).toThrowError('element is enabled') |
| 285 | +}) |
0 commit comments