test: add regression tests(ignore InputElement.validity when irrelevant)
This commit is contained in:
parent
bc03ba5c02
commit
934271548d
|
|
@ -494,13 +494,13 @@ test('toHaveAccessibleDescription', async ({ page }) => {
|
||||||
test('toHaveAccessibleErrorMessage', async ({ page }) => {
|
test('toHaveAccessibleErrorMessage', async ({ page }) => {
|
||||||
await page.setContent(`
|
await page.setContent(`
|
||||||
<form>
|
<form>
|
||||||
<div role="textbox" aria-invalid="true" aria-errormessage="error-message"></div>
|
<input role="textbox" aria-invalid="true" aria-errormessage="error-message" />
|
||||||
<div id="error-message">Hello</div>
|
<div id="error-message">Hello</div>
|
||||||
<div id="irrelevant-error">This should not be considered.</div>
|
<div id="irrelevant-error">This should not be considered.</div>
|
||||||
</form>
|
</form>
|
||||||
`);
|
`);
|
||||||
|
|
||||||
const locator = page.locator('div[role="textbox"]');
|
const locator = page.locator('input[role="textbox"]');
|
||||||
await expect(locator).toHaveAccessibleErrorMessage('Hello');
|
await expect(locator).toHaveAccessibleErrorMessage('Hello');
|
||||||
await expect(locator).not.toHaveAccessibleErrorMessage('hello');
|
await expect(locator).not.toHaveAccessibleErrorMessage('hello');
|
||||||
await expect(locator).toHaveAccessibleErrorMessage('hello', { ignoreCase: true });
|
await expect(locator).toHaveAccessibleErrorMessage('hello', { ignoreCase: true });
|
||||||
|
|
@ -513,14 +513,14 @@ test('toHaveAccessibleErrorMessage', async ({ page }) => {
|
||||||
test('toHaveAccessibleErrorMessage should handle multiple aria-errormessage references', async ({ page }) => {
|
test('toHaveAccessibleErrorMessage should handle multiple aria-errormessage references', async ({ page }) => {
|
||||||
await page.setContent(`
|
await page.setContent(`
|
||||||
<form>
|
<form>
|
||||||
<div role="textbox" aria-invalid="true" aria-errormessage="error1 error2" />
|
<input role="textbox" aria-invalid="true" aria-errormessage="error1 error2" />
|
||||||
<div id="error1">First error message.</div>
|
<div id="error1">First error message.</div>
|
||||||
<div id="error2">Second error message.</div>
|
<div id="error2">Second error message.</div>
|
||||||
<div id="irrelevant-error">This should not be considered.</div>
|
<div id="irrelevant-error">This should not be considered.</div>
|
||||||
</form>
|
</form>
|
||||||
`);
|
`);
|
||||||
|
|
||||||
const locator = page.locator('div[role="textbox"]');
|
const locator = page.locator('input[role="textbox"]');
|
||||||
|
|
||||||
await expect(locator).toHaveAccessibleErrorMessage('First error message. Second error message.');
|
await expect(locator).toHaveAccessibleErrorMessage('First error message. Second error message.');
|
||||||
await expect(locator).toHaveAccessibleErrorMessage(/first error message./i);
|
await expect(locator).toHaveAccessibleErrorMessage(/first error message./i);
|
||||||
|
|
@ -528,14 +528,14 @@ test('toHaveAccessibleErrorMessage should handle multiple aria-errormessage refe
|
||||||
await expect(locator).not.toHaveAccessibleErrorMessage(/This should not be considered./i);
|
await expect(locator).not.toHaveAccessibleErrorMessage(/This should not be considered./i);
|
||||||
});
|
});
|
||||||
|
|
||||||
test.describe('toHaveAccessibleErrorMessage should handle aria-invalid attribute', () => {
|
test.describe.only('toHaveAccessibleErrorMessage should handle aria-invalid attribute', () => {
|
||||||
const errorMessageText = 'Error message';
|
const errorMessageText = 'Error message';
|
||||||
|
|
||||||
async function setupPage(page, ariaInvalidValue: string | null) {
|
async function setupPage(page, ariaInvalidValue: string | null) {
|
||||||
const ariaInvalidAttr = ariaInvalidValue === null ? '' : `aria-invalid="${ariaInvalidValue}"`;
|
const ariaInvalidAttr = ariaInvalidValue === null ? '' : `aria-invalid="${ariaInvalidValue}"`;
|
||||||
await page.setContent(`
|
await page.setContent(`
|
||||||
<form>
|
<form>
|
||||||
<div id="node" role="textbox" type="text" ${ariaInvalidAttr} aria-errormessage="error-msg" />
|
<input id="node" role="textbox" ${ariaInvalidAttr} aria-errormessage="error-msg" />
|
||||||
<div id="error-msg">${errorMessageText}</div>
|
<div id="error-msg">${errorMessageText}</div>
|
||||||
</form>
|
</form>
|
||||||
`);
|
`);
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue