fix(modal): dismiss modal when parent element is removed from DOM #16661
build.yml
on: pull_request
build-core
1m 9s
Matrix: test-core-screenshot
test-core-clean-build
21s
test-core-lint
46s
test-core-spec
40s
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
4s
verify-test-react-router-e2e
2s
verify-test-vue-e2e
2s
Annotations
7 errors and 20 notices
|
[Mobile Chrome] › src/components/datetime/test/locale/datetime.e2e.ts:30:11 › datetime: locale - md/ltr › en-US › time picker should not have visual regressions:
src/components/datetime/test/locale/datetime.e2e.ts#L166
2) [Mobile Chrome] › src/components/datetime/test/locale/datetime.e2e.ts:30:11 › datetime: locale - md/ltr › en-US › time picker should not have visual regressions
Error: expect(locator).toHaveScreenshot(expected)
97 pixels (ratio 0.01 of all image pixels) are different.
Expected: /ionic/src/components/datetime/test/locale/datetime.e2e.ts-snapshots/datetime-locale-en-US-time-diff-md-ltr-Mobile-Chrome-linux.png
Received: /ionic/test-results/src-components-datetime-te-50df4-not-have-visual-regressions-Mobile-Chrome/datetime-locale-en-US-time-diff-md-ltr-actual.png
Diff: /ionic/test-results/src-components-datetime-te-50df4-not-have-visual-regressions-Mobile-Chrome/datetime-locale-en-US-time-diff-md-ltr-diff.png
Call log:
- Expect "toHaveScreenshot(datetime-locale-en-US-time-diff-md-ltr.png)" with timeout 5000ms
- verifying given screenshot expectation
- waiting for locator('ion-datetime')
- locator resolved to <ion-datetime max="2022" locale="en-US" presentation="time" show-default-title="true" show-default-buttons="true" value="2022-04-19T04:20:00" class="ion-color ion-color-primary md datetime-presentation-time datetime-size-fixed hydrated datetime-ready">…</ion-datetime>
- 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
- 97 pixels (ratio 0.01 of all image pixels) are different.
- waiting 100ms before taking screenshot
- waiting for locator('ion-datetime')
- locator resolved to <ion-datetime max="2022" locale="en-US" presentation="time" show-default-title="true" show-default-buttons="true" value="2022-04-19T04:20:00" class="ion-color ion-color-primary md datetime-presentation-time datetime-size-fixed hydrated datetime-ready">…</ion-datetime>
- 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
- 97 pixels (ratio 0.01 of all image pixels) are different.
164 | async expectLocalizedPicker(screenshot: ScreenshotFn, modifier?: string) {
165 | const modifierString = modifier === undefined ? '' : `-${modifier}`;
> 166 | await expect(this.datetime).toHaveScreenshot(screenshot(`datetime-locale-${this.locale}${modifierString}-diff`));
| ^
167 | }
168 | }
169 |
at DatetimeLocaleFixture.expectLocalizedPicker (/ionic/src/components/datetime/test/locale/datetime.e2e.ts:166:33)
at DatetimeLocaleFixture.expectLocalizedTimePicker (/ionic/src/components/datetime/test/locale/datetime.e2e.ts:161:16)
at /ionic/src/components/datetime/test/locale/datetime.e2e.ts:32:31
|
|
[Mobile Chrome] › src/components/datetime/test/datetime.e2e.ts:35:9 › datetime: switching months with different number of days - md/ltr › should adjust the selected day when moving to a month with a different number of days:
src/components/datetime/test/datetime.e2e.ts#L49
1) [Mobile Chrome] › src/components/datetime/test/datetime.e2e.ts:35:9 › datetime: switching months with different number of days - md/ltr › should adjust the selected day when moving to a month with a different number of days
Error: Timed out 5000ms waiting for expect(locator).toHaveJSProperty(expected)
Locator: locator('ion-datetime')
Expected: "2022-02-28"
Received: "2021-02-28"
Call log:
- Expect "toHaveJSProperty" with timeout 5000ms
- waiting for locator('ion-datetime')
9 × locator resolved to <ion-datetime locale="en-US" value="2022-01-31" presentation="date" class="ion-color ion-color-primary md datetime-presentation-date datetime-size-fixed datetime-grid hydrated datetime-ready show-month-and-year month-year-picker-open">…</ion-datetime>
- unexpected value "2021-02-28"
47 | await ionChange.next();
48 | await expect(ionChange).toHaveReceivedEventTimes(1);
> 49 | await expect(datetime).toHaveJSProperty('value', '2022-02-28');
| ^
50 | });
51 | });
52 | });
at /ionic/src/components/datetime/test/datetime.e2e.ts:49:30
|
|
[Mobile Chrome] › src/components/radio/test/a11y/radio.e2e.ts:130:11 › radio: a11y - md/ltr/dark › radio: keyboard navigation - md/ltr/dark › using arrow keys should move between enabled radios within group:
src/components/radio/test/a11y/radio.e2e.ts#L134
3) [Mobile Chrome] › src/components/radio/test/a11y/radio.e2e.ts:130:11 › radio: a11y - md/ltr/dark › radio: keyboard navigation - md/ltr/dark › using arrow keys should move between enabled radios within group
Error: Timed out 5000ms waiting for expect(locator).toBeFocused()
Locator: locator('#first-group ion-radio').first()
Expected: focused
Received: inactive
Call log:
- Expect "toBeFocused" with timeout 5000ms
- waiting for locator('#first-group ion-radio').first()
9 × locator resolved to <ion-radio value="huey" role="radio" tabindex="0" aria-checked="true" class="md in-item radio-checked radio-label-placement-start hydrated">Huey</ion-radio>
- unexpected value "inactive"
132 |
133 | await pageUtils.pressKeys('Tab');
> 134 | await expect(firstGroupRadios.nth(0)).toBeFocused();
| ^
135 |
136 | await page.keyboard.press('ArrowDown');
137 | await expect(firstGroupRadios.nth(1)).toBeFocused();
at /ionic/src/components/radio/test/a11y/radio.e2e.ts:134:47
|
|
[Mobile Chrome] › src/components/radio/test/a11y/radio.e2e.ts:130:11 › radio: a11y - md/ltr › radio: keyboard navigation - md/ltr › using arrow keys should move between enabled radios within group:
src/components/radio/test/a11y/radio.e2e.ts#L134
2) [Mobile Chrome] › src/components/radio/test/a11y/radio.e2e.ts:130:11 › radio: a11y - md/ltr › radio: keyboard navigation - md/ltr › using arrow keys should move between enabled radios within group
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Error: Timed out 5000ms waiting for expect(locator).toBeFocused()
Locator: locator('#first-group ion-radio').first()
Expected: focused
Received: inactive
Call log:
- Expect "toBeFocused" with timeout 5000ms
- waiting for locator('#first-group ion-radio').first()
9 × locator resolved to <ion-radio value="huey" role="radio" tabindex="0" aria-checked="true" class="md in-item radio-checked radio-label-placement-start hydrated">Huey</ion-radio>
- unexpected value "inactive"
132 |
133 | await pageUtils.pressKeys('Tab');
> 134 | await expect(firstGroupRadios.nth(0)).toBeFocused();
| ^
135 |
136 | await page.keyboard.press('ArrowDown');
137 | await expect(firstGroupRadios.nth(1)).toBeFocused();
at /ionic/src/components/radio/test/a11y/radio.e2e.ts:134:47
|
|
[Mobile Chrome] › src/components/radio/test/a11y/radio.e2e.ts:130:11 › radio: a11y - md/ltr › radio: keyboard navigation - md/ltr › using arrow keys should move between enabled radios within group:
src/components/radio/test/a11y/radio.e2e.ts#L134
2) [Mobile Chrome] › src/components/radio/test/a11y/radio.e2e.ts:130:11 › radio: a11y - md/ltr › radio: keyboard navigation - md/ltr › using arrow keys should move between enabled radios within group
Error: Timed out 5000ms waiting for expect(locator).toBeFocused()
Locator: locator('#first-group ion-radio').first()
Expected: focused
Received: inactive
Call log:
- Expect "toBeFocused" with timeout 5000ms
- waiting for locator('#first-group ion-radio').first()
9 × locator resolved to <ion-radio value="huey" role="radio" tabindex="0" aria-checked="true" class="md in-item radio-checked radio-label-placement-start hydrated">Huey</ion-radio>
- unexpected value "inactive"
132 |
133 | await pageUtils.pressKeys('Tab');
> 134 | await expect(firstGroupRadios.nth(0)).toBeFocused();
| ^
135 |
136 | await page.keyboard.press('ArrowDown');
137 | await expect(firstGroupRadios.nth(1)).toBeFocused();
at /ionic/src/components/radio/test/a11y/radio.e2e.ts:134:47
|
|
[Mobile Chrome] › src/components/radio/test/a11y/radio.e2e.ts:117:11 › radio: a11y - md/ltr › radio: keyboard navigation - md/ltr › tabbing should switch between radio groups:
src/components/radio/test/a11y/radio.e2e.ts#L122
1) [Mobile Chrome] › src/components/radio/test/a11y/radio.e2e.ts:117:11 › radio: a11y - md/ltr › radio: keyboard navigation - md/ltr › tabbing should switch between radio groups
Error: Timed out 5000ms waiting for expect(locator).toBeFocused()
Locator: locator('#first-group ion-radio').first()
Expected: focused
Received: inactive
Call log:
- Expect "toBeFocused" with timeout 5000ms
- waiting for locator('#first-group ion-radio').first()
9 × locator resolved to <ion-radio value="huey" role="radio" tabindex="0" aria-checked="true" class="md in-item radio-checked radio-label-placement-start hydrated">Huey</ion-radio>
- unexpected value "inactive"
120 |
121 | await pageUtils.pressKeys('Tab');
> 122 | await expect(firstGroupRadios.nth(0)).toBeFocused();
| ^
123 |
124 | await pageUtils.pressKeys('Tab');
125 | await expect(secondGroupRadios.nth(0)).toBeFocused();
at /ionic/src/components/radio/test/a11y/radio.e2e.ts:122:47
|
|
[Mobile Safari] › src/components/input-otp/test/separators/input-otp.e2e.ts:90:9 › input-otp: separators functionality - ios/ltr › should render separators after the second and third input box:
src/components/input-otp/test/separators/input-otp.e2e.ts#L99
1) [Mobile Safari] › src/components/input-otp/test/separators/input-otp.e2e.ts:90:9 › input-otp: separators functionality - ios/ltr › should render separators after the second and third input box
Error: expect(received).toBe(expected) // Object.is equality
Expected: true
Received: false
97 |
98 | await expect(await hasSeparatorAfter(page, 0)).toBe(false);
> 99 | await expect(await hasSeparatorAfter(page, 1)).toBe(true);
| ^
100 | await expect(await hasSeparatorAfter(page, 2)).toBe(true);
101 | await expect(await hasSeparatorAfter(page, 3)).toBe(false);
102 | });
at /ionic/src/components/input-otp/test/separators/input-otp.e2e.ts:99:54
|
|
🎭 Playwright Run Summary
512 passed (2.9m)
|
|
🎭 Playwright Run Summary
216 skipped
303 passed (2.9m)
|
|
🎭 Playwright Run Summary
542 passed (3.3m)
|
|
🎭 Playwright Run Summary
2 flaky
[Mobile Chrome] › src/components/datetime/test/datetime.e2e.ts:35:9 › datetime: switching months with different number of days - md/ltr › should adjust the selected day when moving to a month with a different number of days
[Mobile Chrome] › src/components/datetime/test/locale/datetime.e2e.ts:30:11 › datetime: locale - md/ltr › en-US › time picker should not have visual regressions
512 passed (3.2m)
|
|
🎭 Playwright Run Summary
5 skipped
523 passed (3.4m)
|
|
🎭 Playwright Run Summary
212 skipped
302 passed (3.7m)
|
|
🎭 Playwright Run Summary
3 flaky
[Mobile Chrome] › src/components/radio/test/a11y/radio.e2e.ts:117:11 › radio: a11y - md/ltr › radio: keyboard navigation - md/ltr › tabbing should switch between radio groups
[Mobile Chrome] › src/components/radio/test/a11y/radio.e2e.ts:130:11 › radio: a11y - md/ltr › radio: keyboard navigation - md/ltr › using arrow keys should move between enabled radios within group
[Mobile Chrome] › src/components/radio/test/a11y/radio.e2e.ts:130:11 › radio: a11y - md/ltr/dark › radio: keyboard navigation - md/ltr/dark › using arrow keys should move between enabled radios within group
4 skipped
511 passed (4.0m)
|
|
🎭 Playwright Run Summary
627 passed (4.1m)
|
|
🎭 Playwright Run Summary
10 skipped
493 passed (4.8m)
|
|
🎭 Playwright Run Summary
1 flaky
[Mobile Safari] › src/components/input-otp/test/separators/input-otp.e2e.ts:90:9 › input-otp: separators functionality - ios/ltr › should render separators after the second and third input box
5 skipped
509 passed (5.2m)
|
|
🎭 Playwright Run Summary
14 skipped
375 passed (5.1m)
|
|
🎭 Playwright Run Summary
1 skipped
515 passed (6.1m)
|
|
🎭 Playwright Run Summary
5 skipped
506 passed (6.3m)
|
|
🎭 Playwright Run Summary
10 skipped
530 passed (6.8m)
|
|
🎭 Playwright Run Summary
524 passed (6.9m)
|
|
🎭 Playwright Run Summary
4 skipped
528 passed (6.9m)
|
|
🎭 Playwright Run Summary
5 skipped
500 passed (7.1m)
|
|
🎭 Playwright Run Summary
14 skipped
509 passed (7.6m)
|
|
🎭 Playwright Run Summary
7 skipped
506 passed (7.9m)
|
|
🎭 Playwright Run Summary
2 skipped
533 passed (8.8m)
|
Artifacts
Produced during runtime
| Name | Size | Digest | |
|---|---|---|---|
|
ionic-angular
Expired
|
651 KB |
sha256:774cea57aa49208200093b150f1dd7e48900da2e0a391899402700f03174113b
|
|
|
ionic-angular-server
Expired
|
8.55 KB |
sha256:b8ca974f697b90a78291c603384a327096c601ffb6014ff1d7216c421677be97
|
|
|
ionic-core
Expired
|
4.48 MB |
sha256:f982d192b23253eb55c0c6e77baae4a613fa3ed117d81b9d25cbf8a9411b1059
|
|
|
ionic-react
Expired
|
200 KB |
sha256:ce61226c4423180589a68be5d97e3ba32ea986fbbf59943512247de5730fc878
|
|
|
ionic-react-router
Expired
|
27.9 KB |
sha256:713dd6eafbb800418ae103733557172dd0e545eb7a76233a7d5f7ec1f7975b96
|
|
|
ionic-vue
Expired
|
221 KB |
sha256:0828781cf9a3e000d214c458ef26081f3026ce7d4cdaa5a8c18bbdd458cb36b0
|
|
|
ionic-vue-router
Expired
|
17 KB |
sha256:dd2caef329a6eb7f14d678e76fe3f72a09d7d0b0f1f92dd1d203f227b9b20fe1
|
|
|
test-results-1-20
Expired
|
430 KB |
sha256:12f10e0a52e0842d291bd243d19748451aaaa07d2da8d526101d09ea30886fbd
|
|
|
test-results-10-20
Expired
|
433 KB |
sha256:838973b28d976a036e2e7fcfc23d48eb6b517c8a8b51f9a7443c5b0b086a11fe
|
|
|
test-results-11-20
Expired
|
2.34 MB |
sha256:ab4346a560f4f9272126e282c8bfba9a06574d96519fe38e326395acf6886465
|
|
|
test-results-12-20
Expired
|
449 KB |
sha256:806b6da8df4ac956f7e04d75206c32680b3a9332165376aae0bf2bc81cac25a1
|
|
|
test-results-13-20
Expired
|
431 KB |
sha256:12a3183df8df0fea9a1d9768c10f425d21e8bd492a500d1ba0ab78ea1ab2c925
|
|
|
test-results-14-20
Expired
|
389 KB |
sha256:64a18855e27bbd6fed19bca6fee4238898e20c5d7867d8f2a336cfd91cce8b2d
|
|
|
test-results-15-20
Expired
|
429 KB |
sha256:9658e811534bac8d7dd11b851292408d4475e97145760799c87eaf387b47d988
|
|
|
test-results-16-20
Expired
|
1.14 MB |
sha256:21def887b58250d68ec4c1ea2d65527cc4c3ee7aea7bc7b29529f63f0ebf0c21
|
|
|
test-results-17-20
Expired
|
517 KB |
sha256:aa8815d846e800aa41e8122e81e929a215dca5efd98abc397be1fbd792767f40
|
|
|
test-results-18-20
Expired
|
500 KB |
sha256:240ee99d10f85cca70266c47f418794ed6f739eb34ae2e91d7f99bd52ddde042
|
|
|
test-results-19-20
Expired
|
385 KB |
sha256:cc3d02e6f460cd160989342aabdf1aa3974b4f13dae886868d886a237affc9cf
|
|
|
test-results-2-20
Expired
|
465 KB |
sha256:d70dd8c034598cc5889b90800104395c3542c1b02dd14fcd58b60dc1988c1c5d
|
|
|
test-results-20-20
Expired
|
344 KB |
sha256:365045f64295f3448b418d341524dbf10fcc7fe60fcd9087ba6911f1d575d28e
|
|
|
test-results-3-20
Expired
|
411 KB |
sha256:29898f8f558abe1abd769d487941516682208c5981446db7ac01e483514db0e6
|
|
|
test-results-4-20
Expired
|
526 KB |
sha256:08bbbdc016166a293cbb8b2deb1dfcd103af26d31448391211f04f9e3e35a3df
|
|
|
test-results-5-20
Expired
|
446 KB |
sha256:44e40738103e619caabf190139f6cd7528074ba311bc74d1d9fb3387bf865fa1
|
|
|
test-results-6-20
Expired
|
418 KB |
sha256:87fea4843f58099ea697702d53d4c1036338f631b16a8a5ee867907ec3c484f4
|
|
|
test-results-7-20
Expired
|
352 KB |
sha256:3f16ed26f7d1fa87198156bc2f467d3931a757521af2a6d0bedfdeda157c5a67
|
|
|
test-results-8-20
Expired
|
1.74 MB |
sha256:78f9415b6167c347e21adfcb378c441a7fb3e9d17acddbb17f5675ba3f971cac
|
|
|
test-results-9-20
Expired
|
435 KB |
sha256:ce4d7ef6339826156703b72249ebfc55798b36c67afc8ca27acfb23092cdf54c
|
|