/** * Copyright (c) Microsoft Corporation. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { stripAnsi } from 'tests/config/utils'; import { test, expect } from './pageTest'; test('should match', async ({ page }) => { await page.setContent(`

title

`); await expect(page.locator('body')).toMatchAriaSnapshot(` - heading "title" `); }); test('should match in list', async ({ page }) => { await page.setContent(`

title

title 2

`); await expect(page.locator('body')).toMatchAriaSnapshot(` - heading "title" `); }); test('should match list with accessible name', async ({ page }) => { await page.setContent(` `); await expect(page.locator('body')).toMatchAriaSnapshot(` - list "my list": - listitem: one - listitem: two `); }); test('should match deep item', async ({ page }) => { await page.setContent(`

title

title 2

`); await expect(page.locator('body')).toMatchAriaSnapshot(` - heading "title" `); }); test('should match complex', async ({ page }) => { await page.setContent(` `); await expect(page.locator('body')).toMatchAriaSnapshot(` - list: - listitem: - link "link" `); }); test('should match regex', async ({ page }) => { await page.setContent(`

Issues 12

`); await expect(page.locator('body')).toMatchAriaSnapshot(` - heading ${/Issues \d+/} `); }); test('should allow text nodes', async ({ page }) => { await page.setContent(`

Microsoft

Open source projects and samples from Microsoft
`); await expect(page.locator('body')).toMatchAriaSnapshot(` - heading "Microsoft" - text: Open source projects and samples from Microsoft `); }); test('details visibility', async ({ page }) => { await page.setContent(`
Summary
Details
`); await expect(page.locator('body')).toMatchAriaSnapshot(` - group: Summary `); }); test('integration test', async ({ page }) => { await page.setContent(`

Microsoft

Open source projects and samples from Microsoft
`); await expect(page.locator('body')).toMatchAriaSnapshot(` - heading "Microsoft" - text: Open source projects and samples from Microsoft - list: - listitem: - group: Verified - listitem: - link "Sponsor" `); }); test('integration test 2', async ({ page }) => { await page.setContent(`

todos

`); await expect(page.locator('body')).toMatchAriaSnapshot(` - heading "todos" - textbox "What needs to be done?" `); }); test('expected formatter', async ({ page }) => { await page.setContent(`

todos

`); const error = await expect(page.locator('body')).toMatchAriaSnapshot(` - heading "todos" - textbox "Wrong text" `, { timeout: 1 }).catch(e => e); expect(stripAnsi(error.message)).toContain(` Locator: locator('body') - Expected - 2 + Received string + 3 - - heading "todos" + - banner: + - heading "todos" - - textbox "Wrong text" + - textbox "What needs to be done?"`); });