feat(select): allow HTML within options #18899
build.yml
on: pull_request
build-core
1m 43s
Matrix: test-core-screenshot
test-core-clean-build
14s
test-core-lint
50s
test-core-spec
1m 1s
verify-screenshots
3s
Matrix: test-angular-e2e
Matrix: test-react-e2e
Matrix: test-react-router-e2e
Matrix: test-vue-e2e
verify-test-angular-e2e
2s
verify-test-react-e2e
3s
verify-test-react-router-e2e
3s
verify-test-vue-e2e
2s
Annotations
24 errors and 16 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
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
|
|
test-react-router-e2e (reactrouter5)
Process completed with exit code 1.
|
|
verify-test-react-router-e2e
Process completed with exit code 1.
|
|
[Mobile Safari] › src/components/router/test/guards/router.e2e.ts:6:9 › router: guards - ios/ltr › guards should be run on initial load:
src/components/router/test/guards/router.e2e.ts#L9
1) [Mobile Safari] › src/components/router/test/guards/router.e2e.ts:6:9 › router: guards - ios/ltr › guards should be run on initial load
Error: expect(received).toContain(expected) // indexOf
Expected substring: "#/child/1"
Received string: "http://localhost:3333/src/components/router/test/guards#/guard-initial-page?ionic:_testing=true&ionic:mode=ios&ionic:theme=ios&rtl=undefined&palette=light"
7 | await page.goto(`/src/components/router/test/guards#/guard-initial-page`, config);
8 |
> 9 | expect(page.url()).toContain('#/child/1');
| ^
10 | });
11 | });
12 | });
at /ionic/src/components/router/test/guards/router.e2e.ts:9:26
|
|
[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
|
|
test-core-screenshot (6, 20)
Process completed with exit code 1.
|
|
[Mobile Firefox] › src/components/tab-bar/test/basic/tab-bar.e2e.ts:9:9 › tab-bar: basic - ionic/md/rtl/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/rtl/light › should not have visual regressions
Retry #2 ───────────────────────────────────────────────────────────────────────────────────────
Error: expect(locator).toHaveScreenshot(expected) failed
Locator: locator('ion-tab-bar')
541 pixels (ratio 0.03 of all image pixels) are different.
Snapshot: tab-bar-default-ionic-md-rtl-light.png
Call log:
- Expect "toHaveScreenshot(tab-bar-default-ionic-md-rtl-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
- 541 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
- 541 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 Firefox] › src/components/tab-bar/test/basic/tab-bar.e2e.ts:9:9 › tab-bar: basic - ionic/md/rtl/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/rtl/light › should not have visual regressions
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Error: expect(locator).toHaveScreenshot(expected) failed
Locator: locator('ion-tab-bar')
541 pixels (ratio 0.03 of all image pixels) are different.
Snapshot: tab-bar-default-ionic-md-rtl-light.png
Call log:
- Expect "toHaveScreenshot(tab-bar-default-ionic-md-rtl-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
- 541 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
- 541 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 Firefox] › src/components/tab-bar/test/basic/tab-bar.e2e.ts:9:9 › tab-bar: basic - ionic/md/rtl/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/rtl/light › should not have visual regressions
Error: expect(locator).toHaveScreenshot(expected) failed
Locator: locator('ion-tab-bar')
541 pixels (ratio 0.03 of all image pixels) are different.
Snapshot: tab-bar-default-ionic-md-rtl-light.png
Call log:
- Expect "toHaveScreenshot(tab-bar-default-ionic-md-rtl-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
- 541 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
- 541 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
|
|
test-core-screenshot (5, 20)
The strategy configuration was canceled because "test-core-screenshot._6_20" failed
|
|
test-core-screenshot (5, 20)
The operation was canceled.
|
|
test-core-screenshot (2, 20)
The strategy configuration was canceled because "test-core-screenshot._6_20" failed
|
|
test-core-screenshot (2, 20)
Process completed with exit code 12.
|
|
test-core-screenshot (2, 20)
The operation was canceled.
|
|
test-core-screenshot (1, 20)
The strategy configuration was canceled because "test-core-screenshot._6_20" failed
|
|
test-core-screenshot (1, 20)
Process completed with exit code 12.
|
|
test-core-screenshot (1, 20)
The operation was canceled.
|
|
test-core-screenshot (4, 20)
The strategy configuration was canceled because "test-core-screenshot._6_20" failed
|
|
test-core-screenshot (4, 20)
Process completed with exit code 12.
|
|
test-core-screenshot (4, 20)
The operation was canceled.
|
|
test-core-screenshot (17, 20)
The strategy configuration was canceled because "test-core-screenshot._6_20" failed
|
|
test-core-screenshot (17, 20)
Process completed with exit code 12.
|
|
test-core-screenshot (17, 20)
The operation was canceled.
|
|
verify-screenshots
Process completed with exit code 1.
|
|
🎭 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
293 passed (2.6m)
|
|
🎭 Playwright Run Summary
368 skipped
324 passed (3.4m)
|
|
🎭 Playwright Run Summary
2 skipped
595 passed (4.1m)
|
|
🎭 Playwright Run Summary
8 skipped
714 passed (4.2m)
|
|
🎭 Playwright Run Summary
1 skipped
711 passed (4.5m)
|
|
🎭 Playwright Run Summary
8 skipped
810 passed (5.3m)
|
|
🎭 Playwright Run Summary
5 skipped
704 passed (5.4m)
|
|
🎭 Playwright Run Summary
36 skipped
870 passed (6.3m)
|
|
🎭 Playwright Run Summary
14 skipped
520 passed (6.5m)
|
|
🎭 Playwright Run Summary
5 skipped
697 passed (6.8m)
|
|
🎭 Playwright Run Summary
10 skipped
707 passed (7.1m)
|
|
🎭 Playwright Run Summary
3 skipped
727 passed (8.2m)
|
|
🎭 Playwright Run Summary
1 flaky
[Mobile Safari] › src/components/router/test/guards/router.e2e.ts:6:9 › router: guards - ios/ltr › guards should be run on initial load
13 skipped
710 passed (8.8m)
|
|
🎭 Playwright Run Summary
1 flaky
[Mobile Safari] › src/components/checkbox/test/a11y/checkbox.e2e.ts:7:9 › checkbox: a11y - ios/ltr › should not have accessibility violations
13 skipped
699 passed (9.0m)
|
|
🎭 Playwright Run Summary
1 failed
[Mobile Firefox] › src/components/tab-bar/test/basic/tab-bar.e2e.ts:9:9 › tab-bar: basic - ionic/md/rtl/light › should not have visual regressions
5 skipped
765 passed (9.2m)
|
|
🎭 Playwright Run Summary
1 skipped
674 passed (9.1m)
|
Artifacts
Produced during runtime
| Name | Size | Digest | |
|---|---|---|---|
|
ionic-angular
|
811 KB |
sha256:f5e63b11826b1f3891be21899b1bd42c945fb4b813fa66d32be5c34ec3c028ec
|
|
|
ionic-angular-server
|
8.55 KB |
sha256:22d30e146942f050c0661f824a5c3f20b6587686460506b1131857ba69c09ab9
|
|
|
ionic-core
|
5.16 MB |
sha256:7ca2e0f6f23af36474ef77e3a0062032c97aa8935eec07fba387b88947e4a75b
|
|
|
ionic-react
|
345 KB |
sha256:f5fae8399c9519b23af0344b1df54c12d29d3ffe1091697f30753be64c8e742b
|
|
|
ionic-react-router
|
27.9 KB |
sha256:3a8a870afc2d2f7ea783ffd5fd5615dbc5cc8146dbf4a12dbc52365f435a2c44
|
|
|
ionic-vue
|
376 KB |
sha256:c9af14d7b0229707d57e4f5409cce2b0978e059a647d18249dea471f4857498e
|
|
|
ionic-vue-router
|
17.1 KB |
sha256:6619d590a3ffe82a805ff2770d1102e0fa3d1a044b99a88e22557edbdc32e11a
|
|
|
test-results-10-20
|
448 KB |
sha256:4952fd6105a19b8ae1c89dc3213b5781f06890d883fe0ab297bb910a678d94a8
|
|
|
test-results-11-20
|
619 KB |
sha256:45dc307c7db68568b09c3c4ae67ef232fd37cd8aa1f588cf33b9990176855943
|
|
|
test-results-12-20
|
535 KB |
sha256:065a5b758073cfdd979c5f8c0559c6690fd53f3f90717d93ccd6985d8ceccdee
|
|
|
test-results-13-20
|
548 KB |
sha256:5f2e6a2a9eb166905d36519e9cd0390ee199e599fff244b9ffe3044f9d43f404
|
|
|
test-results-14-20
|
460 KB |
sha256:dc058bfd1fb334625d061dd477bbe0ca2853e5106779e89be00a87a4649aa186
|
|
|
test-results-15-20
|
2.52 MB |
sha256:b41561cca49bd747079ddf034b2fc2645c705e437095d4f681ab2f973b895a11
|
|
|
test-results-16-20
|
511 KB |
sha256:c8a23a968516f5c5b6f5d0d8123d8e491f6be6c8d8d32220294f983ffef8e0cf
|
|
|
test-results-18-20
|
1.36 MB |
sha256:ae45855a3e8ee243e10348b61214e0a93d71eba632fa97a0504848ef94fbb344
|
|
|
test-results-19-20
|
496 KB |
sha256:5696a8a2494c9e1a2affbe237396dea43337a88c6f62b5e191cbe253c337b2b5
|
|
|
test-results-20-20
|
371 KB |
sha256:3ebb08ca725aab7eac29fa5bb6b6cc59252cbe89c3fa1f58fc4062efec40acc8
|
|
|
test-results-3-20
|
502 KB |
sha256:8be7ee1d350a8e7fb02097c5b28f79a8c522ec093dd9795084f3e5a117de357d
|
|
|
test-results-5-20
|
526 KB |
sha256:a0cfa0cd3370541e0b933af6aa5f0085d2de3eb791474166635cfc700421d251
|
|
|
test-results-6-20
|
2.12 MB |
sha256:f51170ed4d8bf1654261d2f791d408493bed98311d8038cf58c59dca1f01b4da
|
|
|
test-results-7-20
|
1.22 MB |
sha256:48bb23bf80cbe4d9448fd4c405bbfd2e8feebaa880cb7dd67c26037f4cad295b
|
|
|
test-results-8-20
|
482 KB |
sha256:b9a15991d15a72d9a6256cc89395e661fef647641f6734aff43379f5dc01c7af
|
|
|
test-results-9-20
|
573 KB |
sha256:f1cde812375f1352e711d7bf18c89585c3cb15f2d8863ebb7ead69903f6f9037
|
|