Merge remote-tracking branch 'origin/main' into sync-6.4-11-30
@ -87,7 +87,7 @@ const config: PlaywrightTestConfig = {
|
|||||||
* Increases the maximum allowed pixel difference to account
|
* Increases the maximum allowed pixel difference to account
|
||||||
* for slight browser rendering inconsistencies.
|
* for slight browser rendering inconsistencies.
|
||||||
*/
|
*/
|
||||||
maxDiffPixelRatio: 0.01
|
maxDiffPixelRatio: 0.005
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
/* Fail the build on CI if you accidentally left test.only in the source code. */
|
/* Fail the build on CI if you accidentally left test.only in the source code. */
|
||||||
|
Before Width: | Height: | Size: 244 KiB After Width: | Height: | Size: 248 KiB |
Before Width: | Height: | Size: 58 KiB After Width: | Height: | Size: 58 KiB |
Before Width: | Height: | Size: 243 KiB After Width: | Height: | Size: 247 KiB |
Before Width: | Height: | Size: 58 KiB After Width: | Height: | Size: 59 KiB |
Before Width: | Height: | Size: 81 KiB After Width: | Height: | Size: 84 KiB |
Before Width: | Height: | Size: 81 KiB After Width: | Height: | Size: 84 KiB |
Before Width: | Height: | Size: 82 KiB After Width: | Height: | Size: 84 KiB |
Before Width: | Height: | Size: 82 KiB After Width: | Height: | Size: 84 KiB |
Before Width: | Height: | Size: 61 KiB After Width: | Height: | Size: 56 KiB |
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 21 KiB |
Before Width: | Height: | Size: 61 KiB After Width: | Height: | Size: 56 KiB |
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 21 KiB |
Before Width: | Height: | Size: 53 KiB After Width: | Height: | Size: 56 KiB |
Before Width: | Height: | Size: 67 KiB After Width: | Height: | Size: 63 KiB |
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 24 KiB |
Before Width: | Height: | Size: 67 KiB After Width: | Height: | Size: 63 KiB |
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 24 KiB |
Before Width: | Height: | Size: 60 KiB After Width: | Height: | Size: 63 KiB |
Before Width: | Height: | Size: 67 KiB After Width: | Height: | Size: 63 KiB |
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 24 KiB |
Before Width: | Height: | Size: 67 KiB After Width: | Height: | Size: 63 KiB |
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 24 KiB |
Before Width: | Height: | Size: 60 KiB After Width: | Height: | Size: 63 KiB |
Before Width: | Height: | Size: 9.7 KiB After Width: | Height: | Size: 9.0 KiB |
Before Width: | Height: | Size: 9.7 KiB After Width: | Height: | Size: 9.0 KiB |
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 25 KiB |
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 25 KiB |
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 25 KiB |
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 25 KiB |
Before Width: | Height: | Size: 9.0 KiB After Width: | Height: | Size: 8.9 KiB |
Before Width: | Height: | Size: 9.0 KiB After Width: | Height: | Size: 8.9 KiB |
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 23 KiB |
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 23 KiB |
Before Width: | Height: | Size: 191 KiB After Width: | Height: | Size: 197 KiB |
Before Width: | Height: | Size: 191 KiB After Width: | Height: | Size: 196 KiB |
Before Width: | Height: | Size: 202 KiB After Width: | Height: | Size: 209 KiB |
Before Width: | Height: | Size: 201 KiB After Width: | Height: | Size: 208 KiB |
Before Width: | Height: | Size: 192 KiB After Width: | Height: | Size: 198 KiB |
Before Width: | Height: | Size: 192 KiB After Width: | Height: | Size: 197 KiB |
Before Width: | Height: | Size: 202 KiB After Width: | Height: | Size: 209 KiB |
Before Width: | Height: | Size: 201 KiB After Width: | Height: | Size: 208 KiB |
Before Width: | Height: | Size: 192 KiB After Width: | Height: | Size: 198 KiB |
Before Width: | Height: | Size: 192 KiB After Width: | Height: | Size: 197 KiB |
Before Width: | Height: | Size: 202 KiB After Width: | Height: | Size: 209 KiB |
Before Width: | Height: | Size: 202 KiB After Width: | Height: | Size: 208 KiB |
Before Width: | Height: | Size: 176 KiB After Width: | Height: | Size: 181 KiB |
Before Width: | Height: | Size: 176 KiB After Width: | Height: | Size: 181 KiB |
Before Width: | Height: | Size: 185 KiB After Width: | Height: | Size: 192 KiB |
Before Width: | Height: | Size: 185 KiB After Width: | Height: | Size: 191 KiB |
Before Width: | Height: | Size: 89 KiB After Width: | Height: | Size: 81 KiB |
Before Width: | Height: | Size: 89 KiB After Width: | Height: | Size: 81 KiB |
Before Width: | Height: | Size: 107 KiB After Width: | Height: | Size: 97 KiB |
Before Width: | Height: | Size: 110 KiB After Width: | Height: | Size: 100 KiB |
Before Width: | Height: | Size: 35 KiB After Width: | Height: | Size: 34 KiB |
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 35 KiB After Width: | Height: | Size: 34 KiB |
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 98 KiB After Width: | Height: | Size: 89 KiB |
Before Width: | Height: | Size: 34 KiB After Width: | Height: | Size: 35 KiB |
Before Width: | Height: | Size: 97 KiB After Width: | Height: | Size: 89 KiB |
Before Width: | Height: | Size: 34 KiB After Width: | Height: | Size: 35 KiB |
Before Width: | Height: | Size: 106 KiB After Width: | Height: | Size: 95 KiB |
Before Width: | Height: | Size: 37 KiB After Width: | Height: | Size: 38 KiB |
Before Width: | Height: | Size: 105 KiB After Width: | Height: | Size: 96 KiB |
Before Width: | Height: | Size: 37 KiB After Width: | Height: | Size: 38 KiB |
Before Width: | Height: | Size: 54 KiB After Width: | Height: | Size: 53 KiB |
Before Width: | Height: | Size: 54 KiB After Width: | Height: | Size: 53 KiB |
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 29 KiB |
Before Width: | Height: | Size: 64 KiB After Width: | Height: | Size: 63 KiB |
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 29 KiB |
Before Width: | Height: | Size: 64 KiB After Width: | Height: | Size: 62 KiB |
Before Width: | Height: | Size: 106 KiB After Width: | Height: | Size: 96 KiB |
Before Width: | Height: | Size: 37 KiB After Width: | Height: | Size: 38 KiB |
Before Width: | Height: | Size: 105 KiB After Width: | Height: | Size: 96 KiB |
Before Width: | Height: | Size: 37 KiB After Width: | Height: | Size: 38 KiB |
@ -74,7 +74,7 @@ test.describe('input: basic', () => {
|
|||||||
// Verifies that the parent item receives .item-has-focus when the input is focused.
|
// Verifies that the parent item receives .item-has-focus when the input is focused.
|
||||||
await expect(item).toHaveClass(/item-has-focus/);
|
await expect(item).toHaveClass(/item-has-focus/);
|
||||||
// Validates the display of an input with an ion-item using lines="full" when focused.
|
// Validates the display of an input with an ion-item using lines="full" when focused.
|
||||||
expect(await item.screenshot()).toMatchSnapshot(
|
expect(await item.screenshot({ animations: 'disabled' })).toMatchSnapshot(
|
||||||
`input-with-lines-full-focused-${page.getSnapshotSettings()}.png`
|
`input-with-lines-full-focused-${page.getSnapshotSettings()}.png`
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
@ -102,7 +102,7 @@ test.describe('input: basic', () => {
|
|||||||
await expect(item).toHaveClass(/item-has-focus/);
|
await expect(item).toHaveClass(/item-has-focus/);
|
||||||
|
|
||||||
// Validates the display of an input with an ion-item using lines="inset" when focused.
|
// Validates the display of an input with an ion-item using lines="inset" when focused.
|
||||||
expect(await item.screenshot()).toMatchSnapshot(
|
expect(await item.screenshot({ animations: 'disabled' })).toMatchSnapshot(
|
||||||
`input-with-lines-inset-focused-${page.getSnapshotSettings()}.png`
|
`input-with-lines-inset-focused-${page.getSnapshotSettings()}.png`
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
@ -130,7 +130,7 @@ test.describe('input: basic', () => {
|
|||||||
await expect(item).toHaveClass(/item-has-focus/);
|
await expect(item).toHaveClass(/item-has-focus/);
|
||||||
|
|
||||||
// Validates the display of an input with an ion-item using lines="none" when focused.
|
// Validates the display of an input with an ion-item using lines="none" when focused.
|
||||||
expect(await item.screenshot()).toMatchSnapshot(
|
expect(await item.screenshot({ animations: 'disabled' })).toMatchSnapshot(
|
||||||
`input-with-lines-none-focused-${page.getSnapshotSettings()}.png`
|
`input-with-lines-none-focused-${page.getSnapshotSettings()}.png`
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
Before Width: | Height: | Size: 901 B After Width: | Height: | Size: 889 B |
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 3.2 KiB |
Before Width: | Height: | Size: 118 KiB After Width: | Height: | Size: 108 KiB |
Before Width: | Height: | Size: 118 KiB After Width: | Height: | Size: 109 KiB |
Before Width: | Height: | Size: 134 KiB After Width: | Height: | Size: 123 KiB |
Before Width: | Height: | Size: 45 KiB After Width: | Height: | Size: 46 KiB |
Before Width: | Height: | Size: 134 KiB After Width: | Height: | Size: 123 KiB |
Before Width: | Height: | Size: 45 KiB After Width: | Height: | Size: 45 KiB |
@ -9,6 +9,8 @@ test.describe('item: reorder', () => {
|
|||||||
|
|
||||||
await page.click('text=Edit');
|
await page.click('text=Edit');
|
||||||
|
|
||||||
|
await page.waitForChanges();
|
||||||
|
|
||||||
expect(await page.screenshot()).toMatchSnapshot(`item-reorder-diff-${page.getSnapshotSettings()}.png`);
|
expect(await page.screenshot()).toMatchSnapshot(`item-reorder-diff-${page.getSnapshotSettings()}.png`);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
Before Width: | Height: | Size: 86 KiB After Width: | Height: | Size: 90 KiB |
Before Width: | Height: | Size: 242 KiB After Width: | Height: | Size: 237 KiB |
Before Width: | Height: | Size: 85 KiB After Width: | Height: | Size: 87 KiB |
Before Width: | Height: | Size: 242 KiB After Width: | Height: | Size: 237 KiB |
Before Width: | Height: | Size: 87 KiB After Width: | Height: | Size: 89 KiB |
Before Width: | Height: | Size: 55 KiB After Width: | Height: | Size: 56 KiB |
Before Width: | Height: | Size: 55 KiB After Width: | Height: | Size: 56 KiB |
Before Width: | Height: | Size: 53 KiB After Width: | Height: | Size: 53 KiB |
Before Width: | Height: | Size: 53 KiB After Width: | Height: | Size: 53 KiB |
Before Width: | Height: | Size: 52 KiB After Width: | Height: | Size: 53 KiB |
Before Width: | Height: | Size: 52 KiB After Width: | Height: | Size: 53 KiB |
@ -1,25 +0,0 @@
|
|||||||
import { newE2EPage } from '@stencil/core/testing';
|
|
||||||
|
|
||||||
test('tabs: basic', async () => {
|
|
||||||
const page = await newE2EPage({
|
|
||||||
url: '/src/components/tabs/test/basic?ionic:_testing=true',
|
|
||||||
});
|
|
||||||
|
|
||||||
let compare = await page.compareScreenshot();
|
|
||||||
expect(compare).toMatchScreenshot();
|
|
||||||
|
|
||||||
const button2 = await page.find('.e2eTabTwoButton');
|
|
||||||
await button2.click();
|
|
||||||
compare = await page.compareScreenshot(`tab two`);
|
|
||||||
expect(compare).toMatchScreenshot();
|
|
||||||
|
|
||||||
const button3 = await page.find('.e2eTabThreeButton');
|
|
||||||
await button3.click();
|
|
||||||
compare = await page.compareScreenshot(`tab three, disabled`);
|
|
||||||
expect(compare).toMatchScreenshot();
|
|
||||||
|
|
||||||
const button4 = await page.find('.e2eTabFourButton');
|
|
||||||
await button4.click();
|
|
||||||
compare = await page.compareScreenshot(`tab four`);
|
|
||||||
expect(compare).toMatchScreenshot();
|
|
||||||
});
|
|
38
core/src/components/tabs/test/basic/tabs.e2e.ts
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
import { expect } from '@playwright/test';
|
||||||
|
import { test } from '@utils/test/playwright';
|
||||||
|
|
||||||
|
test.describe('tabs: basic', () => {
|
||||||
|
test('should show correct tab when clicking the tab button', async ({ page, skip }) => {
|
||||||
|
skip.rtl();
|
||||||
|
skip.mode('ios');
|
||||||
|
await page.goto('/src/components/tabs/test/basic');
|
||||||
|
|
||||||
|
const tabOne = page.locator('ion-tab[tab="tab-one"]');
|
||||||
|
const tabTwo = page.locator('ion-tab[tab="schedule"]');
|
||||||
|
|
||||||
|
// The tab button for tab 3 is disabled so this is never visible
|
||||||
|
const tabThree = page.locator('ion-tab[tab="tab-three"]');
|
||||||
|
|
||||||
|
// Tab Four renders a nested web component
|
||||||
|
const tabFour = page.locator('ion-tab[tab="tab-four"] page-one');
|
||||||
|
|
||||||
|
await expect(tabOne).toBeVisible();
|
||||||
|
await expect(tabTwo).toBeHidden();
|
||||||
|
await expect(tabThree).toBeHidden();
|
||||||
|
await expect(tabFour).toBeHidden();
|
||||||
|
|
||||||
|
await page.click('ion-tab-button[tab="schedule"]');
|
||||||
|
|
||||||
|
await expect(tabOne).toBeHidden();
|
||||||
|
await expect(tabTwo).toBeVisible();
|
||||||
|
await expect(tabThree).toBeHidden();
|
||||||
|
await expect(tabFour).toBeHidden();
|
||||||
|
|
||||||
|
await page.click('ion-tab-button[tab="tab-four"]');
|
||||||
|
|
||||||
|
await expect(tabOne).toBeHidden();
|
||||||
|
await expect(tabTwo).toBeHidden();
|
||||||
|
await expect(tabThree).toBeHidden();
|
||||||
|
await expect(tabFour).toBeVisible();
|
||||||
|
});
|
||||||
|
});
|