feat(tab-bar): add hideOnScroll for ionic theme #18945
build.yml
on: pull_request
build-core
1m 37s
Matrix: test-core-screenshot
test-core-clean-build
18s
test-core-lint
57s
test-core-spec
49s
verify-screenshots
4s
Matrix: test-angular-e2e
Matrix: test-react-e2e
Matrix: test-react-router-e2e
Matrix: test-vue-e2e
verify-test-angular-e2e
3s
verify-test-react-e2e
3s
verify-test-react-router-e2e
2s
verify-test-vue-e2e
2s
Annotations
9 errors and 20 notices
|
[Mobile Chrome] › src/components/action-sheet/test/a11y/action-sheet.e2e.ts:158:9 › action-sheet: radio buttons - ios/ltr › should navigate radio buttons with keyboard:
src/components/action-sheet/test/a11y/action-sheet.e2e.ts#L188
1) [Mobile Chrome] › src/components/action-sheet/test/a11y/action-sheet.e2e.ts:158:9 › action-sheet: radio buttons - ios/ltr › should navigate radio buttons with keyboard
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Error: expect(received).toBe(expected) // Object.is equality
Expected: "Cancel"
Received: "Option 1"
186 |
187 | focusedElement = await page.evaluate(() => document.activeElement?.textContent?.trim());
> 188 | expect(focusedElement).toBe('Cancel');
| ^
189 | });
190 | });
191 | });
at /ionic/src/components/action-sheet/test/a11y/action-sheet.e2e.ts:188:30
|
|
[Mobile Chrome] › src/components/action-sheet/test/a11y/action-sheet.e2e.ts:158:9 › action-sheet: radio buttons - ios/ltr › should navigate radio buttons with keyboard:
src/components/action-sheet/test/a11y/action-sheet.e2e.ts#L188
1) [Mobile Chrome] › src/components/action-sheet/test/a11y/action-sheet.e2e.ts:158:9 › action-sheet: radio buttons - ios/ltr › should navigate radio buttons with keyboard
Error: expect(received).toBe(expected) // Object.is equality
Expected: "Cancel"
Received: "Option 1"
186 |
187 | focusedElement = await page.evaluate(() => document.activeElement?.textContent?.trim());
> 188 | expect(focusedElement).toBe('Cancel');
| ^
189 | });
190 | });
191 | });
at /ionic/src/components/action-sheet/test/a11y/action-sheet.e2e.ts:188:30
|
|
[Mobile Chrome] › src/components/segment/test/segment-events.e2e.ts:10:11 › segment: events: ionChange - ios/ltr › when the segment is activated by keyboard navigation › should emit when there is no initial value:
src/components/segment/test/segment-events.e2e.ts#L37
1) [Mobile Chrome] › src/components/segment/test/segment-events.e2e.ts:10:11 › segment: events: ionChange - ios/ltr › when the segment is activated by keyboard navigation › should emit when there is no initial value
Error: expect(received).toBe(expected) // Object.is equality
Expected: "2"
Received: undefined
35 | await page.keyboard.press('Enter');
36 |
> 37 | expect(await segment.evaluate((el: HTMLIonSegmentElement) => el.value)).toBe('2');
| ^
38 |
39 | expect(ionChangeSpy).toHaveReceivedEventTimes(1);
40 | expect(ionChangeSpy).toHaveReceivedEventDetail({ value: '2' });
at /ionic/src/components/segment/test/segment-events.e2e.ts:37:81
|
|
[Mobile Firefox] › src/components/tab-bar/test/basic/tab-bar.e2e.ts:9:9 › tab-bar: basic - ionic/md/ltr/light › should not have visual regressions:
src/components/tab-bar/test/basic/tab-bar.e2e.ts#L45
1) [Mobile Firefox] › src/components/tab-bar/test/basic/tab-bar.e2e.ts:9:9 › tab-bar: basic - ionic/md/ltr/light › should not have visual regressions
Error: expect(locator).toHaveScreenshot(expected) failed
Locator: locator('ion-tab-bar')
533 pixels (ratio 0.03 of all image pixels) are different.
Snapshot: tab-bar-default-ionic-md-ltr-light.png
Call log:
- Expect "toHaveScreenshot(tab-bar-default-ionic-md-ltr-light.png)" with timeout 5000ms
- verifying given screenshot expectation
- waiting for locator('ion-tab-bar')
- locator resolved to <ion-tab-bar role="tablist" selected-tab="2" class="ionic tab-bar-full tab-bar-round hydrated">…</ion-tab-bar>
- taking element screenshot
- disabled all CSS animations
- waiting for fonts to load...
- fonts loaded
- attempting scroll into view action
- waiting for element to be stable
- 533 pixels (ratio 0.03 of all image pixels) are different.
- waiting 100ms before taking screenshot
- waiting for locator('ion-tab-bar')
- locator resolved to <ion-tab-bar role="tablist" selected-tab="2" class="ionic tab-bar-full tab-bar-round hydrated">…</ion-tab-bar>
- taking element screenshot
- disabled all CSS animations
- waiting for fonts to load...
- fonts loaded
- attempting scroll into view action
- waiting for element to be stable
- captured a stable screenshot
- 533 pixels (ratio 0.03 of all image pixels) are different.
43 | const tabBar = page.locator('ion-tab-bar');
44 |
> 45 | await expect(tabBar).toHaveScreenshot(screenshot(`tab-bar-default`));
| ^
46 | });
47 | });
48 | });
at /ionic/src/components/tab-bar/test/basic/tab-bar.e2e.ts:45:28
|
|
[Mobile Safari] › src/components/datetime/test/set-value/datetime.e2e.ts:54:9 › datetime: set-value - ios/ltr › should scroll to new month when value is initially set and then updated:
src/components/datetime/test/set-value/datetime.e2e.ts#L63
3) [Mobile Safari] › src/components/datetime/test/set-value/datetime.e2e.ts:54:9 › datetime: set-value - ios/ltr › should scroll to new month when value is initially set and then updated
Error: expect(locator).toHaveText(expected) failed
Locator: locator('ion-datetime').locator('.calendar-month-year')
Expected pattern: /May 2021/
Received string: "November 2021"
Timeout: 5000ms
Call log:
- Expect "toHaveText" with timeout 5000ms
- waiting for locator('ion-datetime').locator('.calendar-month-year')
9 × locator resolved to <div class="calendar-month-year">…</div>
- unexpected value "November 2021"
61 |
62 | const calendarHeader = datetime.locator('.calendar-month-year');
> 63 | await expect(calendarHeader).toHaveText(/May 2021/);
| ^
64 | });
65 | });
66 | });
at /ionic/src/components/datetime/test/set-value/datetime.e2e.ts:63:36
|
|
[Mobile Safari] › src/components/datetime/test/multiple/datetime.e2e.ts:161:9 › datetime: multiple date selection (functionality) - md/ltr › should scroll to new month when value is updated with multiple dates in the same month:
src/components/datetime/test/multiple/datetime.e2e.ts#L174
2) [Mobile Safari] › src/components/datetime/test/multiple/datetime.e2e.ts:161:9 › datetime: multiple date selection (functionality) - md/ltr › should scroll to new month when value is updated with multiple dates in the same month
Error: expect(locator).toHaveText(expected) failed
Locator: locator('ion-datetime').locator('.calendar-month-year')
Expected pattern: /June 2022/
Received string: "May 2022"
Timeout: 5000ms
Call log:
- Expect "toHaveText" with timeout 5000ms
- waiting for locator('ion-datetime').locator('.calendar-month-year')
9 × locator resolved to <div class="calendar-month-year">…</div>
- unexpected value "May 2022"
172 |
173 | const monthYear = datetime.locator('.calendar-month-year');
> 174 | await expect(monthYear).toHaveText(/June 2022/);
| ^
175 | });
176 |
177 | test('with buttons, should only update value when confirm is called', async ({ page }) => {
at /ionic/src/components/datetime/test/multiple/datetime.e2e.ts:174:31
|
|
[Mobile Safari] › src/components/checkbox/test/a11y/checkbox.e2e.ts:7:9 › checkbox: a11y - ios/ltr › should not have accessibility violations:
src/components/checkbox/test/a11y/checkbox.e2e.ts#L23
1) [Mobile Safari] › src/components/checkbox/test/a11y/checkbox.e2e.ts:7:9 › checkbox: a11y - ios/ltr › should not have accessibility violations
Error: expect(received).toEqual(expected) // deep equality
- Expected - 1
+ Received + 69
- Array []
+ Array [
+ Object {
+ "description": "Ensure every ARIA toggle field has an accessible name",
+ "help": "ARIA toggle fields must have an accessible name",
+ "helpUrl": "https://dequeuniversity.com/rules/axe/4.11/aria-toggle-field-name?application=playwright",
+ "id": "aria-toggle-field-name",
+ "impact": "serious",
+ "nodes": Array [
+ Object {
+ "all": Array [],
+ "any": Array [
+ Object {
+ "data": null,
+ "id": "has-visible-text",
+ "impact": "serious",
+ "message": "Element does not have text that is visible to screen readers",
+ "relatedNodes": Array [],
+ },
+ Object {
+ "data": null,
+ "id": "aria-label",
+ "impact": "serious",
+ "message": "aria-label attribute does not exist or is empty",
+ "relatedNodes": Array [],
+ },
+ Object {
+ "data": null,
+ "id": "aria-labelledby",
+ "impact": "serious",
+ "message": "aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty",
+ "relatedNodes": Array [],
+ },
+ Object {
+ "data": Object {
+ "messageKey": "noAttr",
+ },
+ "id": "non-empty-title",
+ "impact": "serious",
+ "message": "Element has no title attribute",
+ "relatedNodes": Array [],
+ },
+ ],
+ "failureSummary": "Fix any of the following:
+ Element does not have text that is visible to screen readers
+ aria-label attribute does not exist or is empty
+ aria-labelledby attribute does not exist, references elements that do not exist or references elements that are empty
+ Element has no title attribute",
+ "html": "<ion-checkbox role=\"checkbox\" aria-checked=\"false\" tabindex=\"0\" class=\"ios in-item ion-focusable interactive checkbox-label-placement-start checkbox-shape-soft hydrated\">Checkbox in item<input type=\"hidden\" class=\"aux-input\" name=\"ion-cb-3\" value=\"\"></ion-checkbox>",
+ "impact": "serious",
+ "none": Array [],
+ "target": Array [
+ ".in-item",
+ ],
+ },
+ ],
+ "tags": Array [
+ "cat.aria",
+ "wcag2a",
+ "wcag412",
+ "TTv5",
+ "TT5.c",
+ "EN-301-549",
+ "EN-9.4.1.2",
+ "ACT",
+ "RGAAv4",
+ "RGAA-7.1.1",
+ ],
+ },
+ ]
21 |
22 | const results = await new AxeBuilder({ page }).analyze();
> 23 | expect(results.violations).toEqual([]);
| ^
24 | });
25 | });
26 | });
at /ionic/src/components/checkbox/test/a11y/checkbox.e2e.ts:23:34
|
|
[Mobile Firefox] › src/components/action-sheet/test/a11y/action-sheet.e2e.ts:158:9 › action-sheet: radio buttons - ios/ltr › should navigate radio buttons with keyboard:
src/components/action-sheet/test/a11y/action-sheet.e2e.ts#L188
1) [Mobile Firefox] › src/components/action-sheet/test/a11y/action-sheet.e2e.ts:158:9 › action-sheet: radio buttons - ios/ltr › should navigate radio buttons with keyboard
Error: expect(received).toBe(expected) // Object.is equality
Expected: "Cancel"
Received: "Option 1"
186 |
187 | focusedElement = await page.evaluate(() => document.activeElement?.textContent?.trim());
> 188 | expect(focusedElement).toBe('Cancel');
| ^
189 | });
190 | });
191 | });
at /ionic/src/components/action-sheet/test/a11y/action-sheet.e2e.ts:188:30
|
|
[Mobile Safari] › src/components/item-sliding/test/shapes/item-sliding.e2e.ts:10:9 › item-sliding: shapes - ionic/md/ltr/light › should not have visual regressions when not expanded:
src/components/item-sliding/test/shapes/item-sliding.e2e.ts#L26
1) [Mobile Safari] › src/components/item-sliding/test/shapes/item-sliding.e2e.ts:10:9 › item-sliding: shapes - ionic/md/ltr/light › should not have visual regressions when not expanded
Error: expect(locator).toHaveScreenshot(expected) failed
Locator: locator('#round')
749 pixels (ratio 0.03 of all image pixels) are different.
Snapshot: item-sliding-round-ionic-md-ltr-light.png
Call log:
- Expect "toHaveScreenshot(item-sliding-round-ionic-md-ltr-light.png)" with timeout 5000ms
- verifying given screenshot expectation
- waiting for locator('#round')
- locator resolved to <ion-item-sliding id="round" class="md hydrated item-sliding-active-slide item-sliding-active-options-end item-sliding-active-swipe-end">…</ion-item-sliding>
- taking element screenshot
- disabled all CSS animations
- waiting for fonts to load...
- fonts loaded
- attempting scroll into view action
- waiting for element to be stable
- 749 pixels (ratio 0.03 of all image pixels) are different.
- waiting 100ms before taking screenshot
- waiting for locator('#round')
- locator resolved to <ion-item-sliding id="round" class="md hydrated item-sliding-active-slide item-sliding-active-options-end item-sliding-active-swipe-end">…</ion-item-sliding>
- taking element screenshot
- disabled all CSS animations
- waiting for fonts to load...
- fonts loaded
- attempting scroll into view action
- waiting for element to be stable
- captured a stable screenshot
- 749 pixels (ratio 0.03 of all image pixels) are different.
24 | await page.waitForChanges();
25 |
> 26 | await expect(item).toHaveScreenshot(screenshot(`item-sliding-${itemID}`));
| ^
27 | }
28 | });
29 | });
at /ionic/src/components/item-sliding/test/shapes/item-sliding.e2e.ts:26:28
|
|
🎭 Playwright Run Summary
1 flaky
[Mobile Chrome] › src/components/action-sheet/test/a11y/action-sheet.e2e.ts:158:9 › action-sheet: radio buttons - ios/ltr › should navigate radio buttons with keyboard
360 skipped
351 passed (3.1m)
|
|
🎭 Playwright Run Summary
368 skipped
324 passed (3.5m)
|
|
🎭 Playwright Run Summary
2 skipped
589 passed (4.0m)
|
|
🎭 Playwright Run Summary
8 skipped
719 passed (4.1m)
|
|
🎭 Playwright Run Summary
1 flaky
[Mobile Chrome] › src/components/segment/test/segment-events.e2e.ts:10:11 › segment: events: ionChange - ios/ltr › when the segment is activated by keyboard navigation › should emit when there is no initial value
1 skipped
709 passed (4.4m)
|
|
🎭 Playwright Run Summary
5 skipped
702 passed (5.4m)
|
|
🎭 Playwright Run Summary
8 skipped
810 passed (5.4m)
|
|
🎭 Playwright Run Summary
14 skipped
501 passed (6.1m)
|
|
🎭 Playwright Run Summary
5 skipped
697 passed (6.7m)
|
|
🎭 Playwright Run Summary
36 skipped
870 passed (6.6m)
|
|
🎭 Playwright Run Summary
10 skipped
707 passed (7.2m)
|
|
🎭 Playwright Run Summary
3 skipped
701 passed (8.4m)
|
|
🎭 Playwright Run Summary
13 skipped
706 passed (8.9m)
|
|
🎭 Playwright Run Summary
1 flaky
[Mobile Firefox] › src/components/tab-bar/test/basic/tab-bar.e2e.ts:9:9 › tab-bar: basic - ionic/md/ltr/light › should not have visual regressions
5 skipped
702 passed (9.0m)
|
|
🎭 Playwright Run Summary
1 skipped
665 passed (9.2m)
|
|
🎭 Playwright Run Summary
3 flaky
[Mobile Safari] › src/components/checkbox/test/a11y/checkbox.e2e.ts:7:9 › checkbox: a11y - ios/ltr › should not have accessibility violations
[Mobile Safari] › src/components/datetime/test/multiple/datetime.e2e.ts:161:9 › datetime: multiple date selection (functionality) - md/ltr › should scroll to new month when value is updated with multiple dates in the same month
[Mobile Safari] › src/components/datetime/test/set-value/datetime.e2e.ts:54:9 › datetime: set-value - ios/ltr › should scroll to new month when value is initially set and then updated
13 skipped
716 passed (9.4m)
|
|
🎭 Playwright Run Summary
1 flaky
[Mobile Firefox] › src/components/action-sheet/test/a11y/action-sheet.e2e.ts:158:9 › action-sheet: radio buttons - ios/ltr › should navigate radio buttons with keyboard
4 skipped
745 passed (9.8m)
|
|
🎭 Playwright Run Summary
1 flaky
[Mobile Safari] › src/components/item-sliding/test/shapes/item-sliding.e2e.ts:10:9 › item-sliding: shapes - ionic/md/ltr/light › should not have visual regressions when not expanded
5 skipped
698 passed (9.9m)
|
|
🎭 Playwright Run Summary
18 skipped
662 passed (10.3m)
|
|
🎭 Playwright Run Summary
15 skipped
744 passed (11.1m)
|
Artifacts
Produced during runtime
| Name | Size | Digest | |
|---|---|---|---|
|
ionic-angular
|
819 KB |
sha256:88860cff0d6fb1d927c7b12561dcc47f55096d057016ed684da6ddc36f612d5c
|
|
|
ionic-angular-server
|
8.55 KB |
sha256:dbf41c7b4eac2668fb1338cfd04a29cd33c9f6a7f00fd8502fedc602af567b15
|
|
|
ionic-core
|
5.13 MB |
sha256:e5511172ebc52fd953891ccde15cf08bcc4f73d43d806d638da92e9a237648d3
|
|
|
ionic-react
|
353 KB |
sha256:2705884f8038e779cc8fa0b9d2dbaf6457d8d158334e1971abf2d8f031c74b93
|
|
|
ionic-react-router
|
27.9 KB |
sha256:db6f5388ac2200502385cec6cf8f9441fab50ee9dce012bd5be6b6a44d693926
|
|
|
ionic-vue
|
384 KB |
sha256:9c73fdf7b8d0aa22edcea7b02ff8140d45cb6f2679b134fc9ba9d418f955f01d
|
|
|
ionic-vue-router
|
17.1 KB |
sha256:7789b601654cacde9fdb2e1560e68d66340fa8fdcdf8e6c4428078cf3fef2228
|
|
|
test-results-1-20
|
1.33 MB |
sha256:59a5dfa0f8f4f2260bbbdb11e686ca23907a4bbbfb17443fbe8dbd00eef3d6dc
|
|
|
test-results-10-20
|
443 KB |
sha256:8ab14a864a01cbd8874d193435c3431c41d9a1d75b3762614c263ad0f61cbc40
|
|
|
test-results-11-20
|
617 KB |
sha256:fa78133c61e10622b5b1ffd2754ca4761c3c7ffbc8add19bbf4ab0afdcae639d
|
|
|
test-results-12-20
|
1.29 MB |
sha256:e6e0d743c4fbbf2fab8fd988e89643dc8675e47072b32c6e88ee77756a01ca5d
|
|
|
test-results-13-20
|
550 KB |
sha256:ff035b1d26974de606cacd1194b986f44ea5e74cae7560dd4979ff8a80b6d815
|
|
|
test-results-14-20
|
452 KB |
sha256:e0c137f2ca0f4f970b1038f5a8128f9226ac12af245994261cbdeb36d3780c8b
|
|
|
test-results-15-20
|
3.32 MB |
sha256:f77d63864e8cfe3c2191559ac4c04683abd739a9cbc78bb5c134322792342625
|
|
|
test-results-16-20
|
511 KB |
sha256:10c0e439740e498e815360aa4f498ef6ed0698acd9f2a21a728ce943e55770c7
|
|
|
test-results-17-20
|
1.49 MB |
sha256:952a136f5fc6de42dcc9f1f7b10ae3c128699aff20d29106fe26ffb07b634207
|
|
|
test-results-18-20
|
601 KB |
sha256:792c09669da62c7317a82fce3cbca60c82a01af32c7c2f44b0b4891111164865
|
|
|
test-results-19-20
|
497 KB |
sha256:56193a190042bb7b4d7a30daecabdb4bf954c21536a16d67bd079a9a169f7716
|
|
|
test-results-2-20
|
546 KB |
sha256:532f557e419c15b84b8dc7589cd683130babdbeba3bfa4f8e1a0fbe30e8a33f5
|
|
|
test-results-20-20
|
371 KB |
sha256:a86be6075699a3aa3cdfef6aa89af47e9a47a777cc7f12da67070a5347e917db
|
|
|
test-results-3-20
|
491 KB |
sha256:5370b8b63943b7c9c04fd58b9550d9becaedc9243be4fc644af957a1e7137dff
|
|
|
test-results-4-20
|
643 KB |
sha256:27b2f0ecfd013d80bd69d30ea5e4d05c39167d27a0896f1342d85d3eaf21a9ed
|
|
|
test-results-5-20
|
521 KB |
sha256:3796b620ad3cf192d14132e8ceee63f21e07f3c39c4723fdcbd62535e957b323
|
|
|
test-results-6-20
|
1.33 MB |
sha256:20970c150eeb7ed1e0c047b192499a511e1cb8d335b5faef01157eed87364807
|
|
|
test-results-7-20
|
1.71 MB |
sha256:da84684b02e12bc1bcaa3b5679e60c03df3fb4c848265192007a8d8874d3a378
|
|
|
test-results-8-20
|
486 KB |
sha256:bb4b0fc02526152e976297e3d62354242b9136acbb5cd5e4d5411b16b00452d3
|
|
|
test-results-9-20
|
574 KB |
sha256:432a63b871ed0b5016e3251469d418d86efb4d64a61df51c0b7bcd9bd7221388
|
|