diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 9c263b8cbc..6a56927376 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -8,4 +8,8 @@ updates: allow: - dependency-name: "@playwright/test" - dependency-name: "@axe-core/playwright" + - dependency-name: "@stencil/angular-output-target" - dependency-name: "@stencil/core" + - dependency-name: "@stencil/react-output-target" + - dependency-name: "@stencil/sass" + - dependency-name: "@stencil/vue-output-target" diff --git a/.github/ionic-issue-bot.yml b/.github/ionic-issue-bot.yml index c62a98b9e5..8db735ce2d 100644 --- a/.github/ionic-issue-bot.yml +++ b/.github/ionic-issue-bot.yml @@ -34,6 +34,18 @@ comment: For a guide on how to create a good reproduction, see our [Contributing Guide](https://ionicframework.com/docs/contributing/how-to-contribute#creating-a-good-code-reproduction). + - label: "community feedback wanted" + message: > + This issue has been labeled as `community feedback wanted`. This label is added to issues that we would like to hear from the community on before moving forward with any final decision on the feature request. + + + If the requested feature is something you would find useful for your applications, please react to the original post with 👍 (`+1`). If you would like to provide an additional use case for the feature, please post a comment. + + + The team will review this feedback and make a final decision. Any decision will be posted on this thread, but please note that we may ultimately decide not to pursue this feature. + + + Thank you! dryRun: false closeAndLock: diff --git a/.github/workflows/actions/test-core-screenshot/action.yml b/.github/workflows/actions/test-core-screenshot/action.yml index 8686caf579..afb213fcb1 100644 --- a/.github/workflows/actions/test-core-screenshot/action.yml +++ b/.github/workflows/actions/test-core-screenshot/action.yml @@ -7,8 +7,6 @@ inputs: description: 'Playwright total number of test shards (ex: 4)' update: description: 'Whether or not to update the reference snapshots' - commandModifier: - description: 'Command modifier to run. This is should only be used to temporarily run legacy E2E tests as we migrate to the generator infrastructure.' runs: using: 'composite' @@ -27,7 +25,7 @@ runs: working-directory: ./core - name: Test if: inputs.update != 'true' - run: npm run test.e2e${{ inputs.commandModifier }} -- --shard=${{ inputs.shard }}/${{ inputs.totalShards }} + run: npm run test.e2e -- --shard=${{ inputs.shard }}/${{ inputs.totalShards }} shell: bash working-directory: ./core - name: Test and Update @@ -49,14 +47,14 @@ runs: # which is why we not using the upload-archive # composite step here. run: | - npm run test.e2e${{ inputs.commandModifier }} -- --shard=${{ inputs.shard }}/${{ inputs.totalShards }} --update-snapshots + npm run test.e2e -- --shard=${{ inputs.shard }}/${{ inputs.totalShards }} --update-snapshots git add src/\*.png --force mkdir updated-screenshots cd ../ && rsync -R --progress $(git diff --name-only --cached) core/updated-screenshots if [ -d core/updated-screenshots/core ]; then echo "hasUpdatedScreenshots=$(echo 'true')" >> $GITHUB_OUTPUT cd core/updated-screenshots - zip -q -r ../../UpdatedScreenshots${{ inputs.commandModifier }}-${{ inputs.shard }}-${{ inputs.totalShards }}.zip core + zip -q -r ../../UpdatedScreenshots-${{ inputs.shard }}-${{ inputs.totalShards }}.zip core fi shell: bash working-directory: ./core @@ -64,8 +62,8 @@ runs: if: inputs.update == 'true' && steps.test-and-update.outputs.hasUpdatedScreenshots == 'true' uses: actions/upload-artifact@v3 with: - name: updated-screenshots${{ inputs.commandModifier }}-${{ inputs.shard }}-${{ inputs.totalShards }} - path: UpdatedScreenshots${{ inputs.commandModifier }}-${{ inputs.shard }}-${{ inputs.totalShards }}.zip + name: updated-screenshots-${{ inputs.shard }}-${{ inputs.totalShards }} + path: UpdatedScreenshots-${{ inputs.shard }}-${{ inputs.totalShards }}.zip - name: Archive Test Results # The always() ensures that this step # runs even if the previous step fails. @@ -76,6 +74,6 @@ runs: if: always() uses: ./.github/workflows/actions/upload-archive with: - name: test-results${{ inputs.commandModifier }}-${{ inputs.shard }}-${{ inputs.totalShards }} - output: core/TestResults${{ inputs.commandModifier }}-${{ inputs.shard }}-${{ inputs.totalShards }}.zip + name: test-results-${{ inputs.shard }}-${{ inputs.totalShards }} + output: core/TestResults-${{ inputs.shard }}-${{ inputs.totalShards }}.zip paths: core/playwright-report diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 268eee3d81..3ca6263334 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -81,45 +81,6 @@ jobs: if: ${{ needs.test-core-screenshot.result != 'success' }} run: exit 1 - test-core-screenshot-legacy: - strategy: - matrix: - # Divide the tests into n buckets - # and run those buckets in parallel. - # To increase the number of shards, - # add new items to the shard array - # and change the value of totalShards - # to be the length of the shard array. - shard: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20] - totalShards: [20] - needs: [build-core] - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - uses: ./.github/workflows/actions/test-core-screenshot - with: - shard: ${{ matrix.shard }} - totalShards: ${{ matrix.totalShards }} - commandModifier: '.legacy' - - # Screenshots are required to pass - # in order for the branch to be merge - # eligible. However, the screenshot tests - # are run on n runners where n can change - # over time. The verify-screenshots step allows - # us to have a required status check for screenshot - # results without having to manually add each - # matrix run in the branch protection rules - # Source: https://github.community/t/status-check-for-a-matrix-jobs/127354 - verify-screenshots-legacy: - if: ${{ always() }} - needs: test-core-screenshot-legacy - runs-on: ubuntu-latest - steps: - - name: Check build matrix status - if: ${{ needs.test-core-screenshot-legacy.result != 'success' }} - run: exit 1 - build-vue: needs: [build-core] runs-on: ubuntu-latest diff --git a/.github/workflows/stencil-nightly.yml b/.github/workflows/stencil-nightly.yml index 46b2f0732e..b81d20a04e 100644 --- a/.github/workflows/stencil-nightly.yml +++ b/.github/workflows/stencil-nightly.yml @@ -87,45 +87,6 @@ jobs: if: ${{ needs.test-core-screenshot.result != 'success' }} run: exit 1 - test-core-screenshot-legacy: - strategy: - matrix: - # Divide the tests into n buckets - # and run those buckets in parallel. - # To increase the number of shards, - # add new items to the shard array - # and change the value of totalShards - # to be the length of the shard array. - shard: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20] - totalShards: [20] - needs: [build-core-with-stencil-nightly] - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - uses: ./.github/workflows/actions/test-core-screenshot - with: - shard: ${{ matrix.shard }} - totalShards: ${{ matrix.totalShards }} - commandModifier: '.legacy' - - # Screenshots are required to pass - # in order for the branch to be merge - # eligible. However, the screenshot tests - # are run on n runners where n can change - # over time. The verify-screenshots step allows - # us to have a required status check for screenshot - # results without having to manually add each - # matrix run in the branch protection rules - # Source: https://github.community/t/status-check-for-a-matrix-jobs/127354 - verify-screenshots-legacy: - if: ${{ always() }} - needs: test-core-screenshot-legacy - runs-on: ubuntu-latest - steps: - - name: Check build matrix status - if: ${{ needs.test-core-screenshot-legacy.result != 'success' }} - run: exit 1 - build-vue: needs: [build-core-with-stencil-nightly] runs-on: ubuntu-latest diff --git a/CHANGELOG.md b/CHANGELOG.md index f4905d58fb..23baef7783 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,23 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [7.0.6](https://github.com/ionic-team/ionic-framework/compare/v7.0.5...v7.0.6) (2023-05-11) + + +### Bug Fixes + +* **content:** prevent forceUpdate in SSR ([#27440](https://github.com/ionic-team/ionic-framework/issues/27440)) ([e930988](https://github.com/ionic-team/ionic-framework/commit/e9309880d18cf03c1c139b00fe4b80794804e3de)), closes [#27411](https://github.com/ionic-team/ionic-framework/issues/27411) +* **item-sliding:** options display on rtl ([#27203](https://github.com/ionic-team/ionic-framework/issues/27203)) ([b16fd1d](https://github.com/ionic-team/ionic-framework/commit/b16fd1d6f962f8fb6a57eb8301ecd904e1ca2153)), closes [#26103](https://github.com/ionic-team/ionic-framework/issues/26103) [#25285](https://github.com/ionic-team/ionic-framework/issues/25285) +* **modal, popover:** wait for contents to mount ([#27344](https://github.com/ionic-team/ionic-framework/issues/27344)) ([c98ad6f](https://github.com/ionic-team/ionic-framework/commit/c98ad6f16ab147024fb74c179218fd8ff7f87db1)), closes [#27343](https://github.com/ionic-team/ionic-framework/issues/27343) +* **overlays:** assign incremental id to overlay host ([#27278](https://github.com/ionic-team/ionic-framework/issues/27278)) ([9313a91](https://github.com/ionic-team/ionic-framework/commit/9313a914b7802dd4327caa970906ea18e882a3ce)) +* **range:** round value to same number of decimal places as props to avoid floating point rounding errors ([#27375](https://github.com/ionic-team/ionic-framework/issues/27375)) ([6e83ba4](https://github.com/ionic-team/ionic-framework/commit/6e83ba4051922da0a179a370d5baa0c57df8b01d)), closes [#21968](https://github.com/ionic-team/ionic-framework/issues/21968) +* **react:** remove incorrect class key from IonicReactProps ([#27432](https://github.com/ionic-team/ionic-framework/issues/27432)) ([415c44c](https://github.com/ionic-team/ionic-framework/commit/415c44c0adc231367727c14f355c982afc385172)) +* **types:** export DatetimeHighlightStyle ([#27360](https://github.com/ionic-team/ionic-framework/issues/27360)) ([a37cdb1](https://github.com/ionic-team/ionic-framework/commit/a37cdb1c5ddab96e2e95369cc4e4b04a5ef0c5c7)), closes [#27353](https://github.com/ionic-team/ionic-framework/issues/27353) + + + + + ## [7.0.5](https://github.com/ionic-team/ionic-framework/compare/v7.0.4...v7.0.5) (2023-05-03) diff --git a/angular/CHANGELOG.md b/angular/CHANGELOG.md index 8f97a36b95..c924d46142 100644 --- a/angular/CHANGELOG.md +++ b/angular/CHANGELOG.md @@ -3,6 +3,18 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [7.0.6](https://github.com/ionic-team/ionic-framework/compare/v7.0.5...v7.0.6) (2023-05-11) + + +### Bug Fixes + +* **modal, popover:** wait for contents to mount ([#27344](https://github.com/ionic-team/ionic-framework/issues/27344)) ([c98ad6f](https://github.com/ionic-team/ionic-framework/commit/c98ad6f16ab147024fb74c179218fd8ff7f87db1)), closes [#27343](https://github.com/ionic-team/ionic-framework/issues/27343) +* **overlays:** assign incremental id to overlay host ([#27278](https://github.com/ionic-team/ionic-framework/issues/27278)) ([9313a91](https://github.com/ionic-team/ionic-framework/commit/9313a914b7802dd4327caa970906ea18e882a3ce)) + + + + + ## [7.0.5](https://github.com/ionic-team/ionic-framework/compare/v7.0.4...v7.0.5) (2023-05-03) **Note:** Version bump only for package @ionic/angular diff --git a/angular/package-lock.json b/angular/package-lock.json index 3e84f93b78..57ad899bba 100644 --- a/angular/package-lock.json +++ b/angular/package-lock.json @@ -1,15 +1,15 @@ { "name": "@ionic/angular", - "version": "7.0.5", + "version": "7.0.6", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@ionic/angular", - "version": "7.0.5", + "version": "7.0.6", "license": "MIT", "dependencies": { - "@ionic/core": "^7.0.5", + "@ionic/core": "^7.0.6", "ionicons": "^7.0.0", "jsonc-parser": "^3.0.0", "tslib": "^2.3.0" @@ -1227,9 +1227,9 @@ "dev": true }, "node_modules/@ionic/core": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/@ionic/core/-/core-7.0.5.tgz", - "integrity": "sha512-dcuE/PEF+GHsPEsLppUASSwWnzVcxFZE7uPMDzTwUPMOFTTaRgWbPxIly/4/VRbV6GSL6MEcuVVxhEdWjSODTg==", + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/@ionic/core/-/core-7.0.6.tgz", + "integrity": "sha512-ssZs8QzyNPmGCUdK5i5OupA7BDmOjJEOhqfpNGbxwXX3YQ08naVDjNxYn/VSW9O1zSyfecJqJz0Akw/LdKIN/Q==", "dependencies": { "@stencil/core": "^3.2.2", "ionicons": "^7.1.0", @@ -8104,9 +8104,9 @@ "dev": true }, "@ionic/core": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/@ionic/core/-/core-7.0.5.tgz", - "integrity": "sha512-dcuE/PEF+GHsPEsLppUASSwWnzVcxFZE7uPMDzTwUPMOFTTaRgWbPxIly/4/VRbV6GSL6MEcuVVxhEdWjSODTg==", + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/@ionic/core/-/core-7.0.6.tgz", + "integrity": "sha512-ssZs8QzyNPmGCUdK5i5OupA7BDmOjJEOhqfpNGbxwXX3YQ08naVDjNxYn/VSW9O1zSyfecJqJz0Akw/LdKIN/Q==", "requires": { "@stencil/core": "^3.2.2", "ionicons": "^7.1.0", diff --git a/angular/package.json b/angular/package.json index 390539e01c..a782870661 100644 --- a/angular/package.json +++ b/angular/package.json @@ -1,6 +1,6 @@ { "name": "@ionic/angular", - "version": "7.0.5", + "version": "7.0.6", "description": "Angular specific wrappers for @ionic/core", "keywords": [ "ionic", @@ -47,7 +47,7 @@ } }, "dependencies": { - "@ionic/core": "^7.0.5", + "@ionic/core": "^7.0.6", "ionicons": "^7.0.0", "jsonc-parser": "^3.0.0", "tslib": "^2.3.0" diff --git a/core/CHANGELOG.md b/core/CHANGELOG.md index bf5867b49a..444b046bbf 100644 --- a/core/CHANGELOG.md +++ b/core/CHANGELOG.md @@ -3,6 +3,22 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [7.0.6](https://github.com/ionic-team/ionic-framework/compare/v7.0.5...v7.0.6) (2023-05-11) + + +### Bug Fixes + +* **content:** prevent forceUpdate in SSR ([#27440](https://github.com/ionic-team/ionic-framework/issues/27440)) ([e930988](https://github.com/ionic-team/ionic-framework/commit/e9309880d18cf03c1c139b00fe4b80794804e3de)), closes [#27411](https://github.com/ionic-team/ionic-framework/issues/27411) +* **item-sliding:** options display on rtl ([#27203](https://github.com/ionic-team/ionic-framework/issues/27203)) ([b16fd1d](https://github.com/ionic-team/ionic-framework/commit/b16fd1d6f962f8fb6a57eb8301ecd904e1ca2153)), closes [#26103](https://github.com/ionic-team/ionic-framework/issues/26103) [#25285](https://github.com/ionic-team/ionic-framework/issues/25285) +* **modal, popover:** wait for contents to mount ([#27344](https://github.com/ionic-team/ionic-framework/issues/27344)) ([c98ad6f](https://github.com/ionic-team/ionic-framework/commit/c98ad6f16ab147024fb74c179218fd8ff7f87db1)), closes [#27343](https://github.com/ionic-team/ionic-framework/issues/27343) +* **overlays:** assign incremental id to overlay host ([#27278](https://github.com/ionic-team/ionic-framework/issues/27278)) ([9313a91](https://github.com/ionic-team/ionic-framework/commit/9313a914b7802dd4327caa970906ea18e882a3ce)) +* **range:** round value to same number of decimal places as props to avoid floating point rounding errors ([#27375](https://github.com/ionic-team/ionic-framework/issues/27375)) ([6e83ba4](https://github.com/ionic-team/ionic-framework/commit/6e83ba4051922da0a179a370d5baa0c57df8b01d)), closes [#21968](https://github.com/ionic-team/ionic-framework/issues/21968) +* **types:** export DatetimeHighlightStyle ([#27360](https://github.com/ionic-team/ionic-framework/issues/27360)) ([a37cdb1](https://github.com/ionic-team/ionic-framework/commit/a37cdb1c5ddab96e2e95369cc4e4b04a5ef0c5c7)), closes [#27353](https://github.com/ionic-team/ionic-framework/issues/27353) + + + + + ## [7.0.5](https://github.com/ionic-team/ionic-framework/compare/v7.0.4...v7.0.5) (2023-05-03) diff --git a/core/package-lock.json b/core/package-lock.json index 886d6abf27..ae59303f60 100644 --- a/core/package-lock.json +++ b/core/package-lock.json @@ -1,12 +1,12 @@ { "name": "@ionic/core", - "version": "7.0.5", + "version": "7.0.6", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@ionic/core", - "version": "7.0.5", + "version": "7.0.6", "license": "MIT", "dependencies": { "@stencil/core": "^3.2.2", @@ -18,13 +18,13 @@ "@ionic/eslint-config": "^0.3.0", "@ionic/prettier-config": "^2.0.0", "@jest/core": "^27.5.1", - "@playwright/test": "^1.32.3", + "@playwright/test": "^1.33.0", "@rollup/plugin-node-resolve": "^8.4.0", "@rollup/plugin-virtual": "^2.0.3", "@stencil/angular-output-target": "^0.6.0", "@stencil/react-output-target": "^0.5.0", - "@stencil/sass": "^3.0.0", - "@stencil/vue-output-target": "^0.8.2", + "@stencil/sass": "^3.0.2", + "@stencil/vue-output-target": "^0.8.4", "@types/jest": "^27.5.2", "@types/node": "^14.6.0", "@typescript-eslint/eslint-plugin": "^5.17.0", @@ -1501,13 +1501,13 @@ } }, "node_modules/@playwright/test": { - "version": "1.32.3", - "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.32.3.tgz", - "integrity": "sha512-BvWNvK0RfBriindxhLVabi8BRe3X0J9EVjKlcmhxjg4giWBD/xleLcg2dz7Tx0agu28rczjNIPQWznwzDwVsZQ==", + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.33.0.tgz", + "integrity": "sha512-YunBa2mE7Hq4CfPkGzQRK916a4tuZoVx/EpLjeWlTVOnD4S2+fdaQZE0LJkbfhN5FTSKNLdcl7MoT5XB37bTkg==", "dev": true, "dependencies": { "@types/node": "*", - "playwright-core": "1.32.3" + "playwright-core": "1.33.0" }, "bin": { "playwright": "cli.js" @@ -1615,18 +1615,18 @@ } }, "node_modules/@stencil/sass": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@stencil/sass/-/sass-3.0.0.tgz", - "integrity": "sha512-P9NuT5G2ncy+BkQ0fAS+KDuwN+BlDr17yEAHCaEejGZDXK4hhhsxjm0ea8KCwEdDbzui4GDF6DS3VNDtUB6Hzg==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@stencil/sass/-/sass-3.0.2.tgz", + "integrity": "sha512-T8hQreosCjZ6yZ7wJgZBrA1ytL4JMluY1dX6S1a/YgXclanvncvk6nGEpxRVVwRAvtkru0F5Qs+oheiL8nifRA==", "dev": true, "peerDependencies": { "@stencil/core": ">=2.0.0 || >=3.0.0-beta.0" } }, "node_modules/@stencil/vue-output-target": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/@stencil/vue-output-target/-/vue-output-target-0.8.2.tgz", - "integrity": "sha512-Z+igq/pz7z9bSRH0tVxHvD/m13B6MPM+i2DZRboGt3uyTKeD1vLZQz3BLCfPeBtEXp2Xlz4d18Z8d7c4abFKbg==", + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/@stencil/vue-output-target/-/vue-output-target-0.8.4.tgz", + "integrity": "sha512-3iESCce7D/2lNVYGM+ukwW/NLFAfeAOcaMFXaK0R1Ub0mZ2YwL9N1rxr9Y8UGfdUzkpi66XIo0jNm3V9YlZ+Ig==", "dev": true, "peerDependencies": { "@stencil/core": "^2.9.0 || ^3.0.0" @@ -8150,14 +8150,14 @@ } }, "node_modules/playwright": { - "version": "1.32.3", - "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.32.3.tgz", - "integrity": "sha512-h/ylpgoj6l/EjkfUDyx8cdOlfzC96itPpPe8BXacFkqpw/YsuxkpPyVbzEq4jw+bAJh5FLgh31Ljg2cR6HV3uw==", + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.33.0.tgz", + "integrity": "sha512-+zzU3V2TslRX2ETBRgQKsKytYBkJeLZ2xzUj4JohnZnxQnivoUvOvNbRBYWSYykQTO0Y4zb8NwZTYFUO+EpPBQ==", "dev": true, "hasInstallScript": true, "peer": true, "dependencies": { - "playwright-core": "1.32.3" + "playwright-core": "1.33.0" }, "bin": { "playwright": "cli.js" @@ -8167,9 +8167,9 @@ } }, "node_modules/playwright-core": { - "version": "1.32.3", - "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.32.3.tgz", - "integrity": "sha512-SB+cdrnu74ZIn5Ogh/8278ngEh9NEEV0vR4sJFmK04h2iZpybfbqBY0bX6+BLYWVdV12JLLI+JEFtSnYgR+mWg==", + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.33.0.tgz", + "integrity": "sha512-aizyPE1Cj62vAECdph1iaMILpT0WUDCq3E6rW6I+dleSbBoGbktvJtzS6VHkZ4DKNEOG9qJpiom/ZxO+S15LAw==", "dev": true, "bin": { "playwright": "cli.js" @@ -11398,14 +11398,14 @@ } }, "@playwright/test": { - "version": "1.32.3", - "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.32.3.tgz", - "integrity": "sha512-BvWNvK0RfBriindxhLVabi8BRe3X0J9EVjKlcmhxjg4giWBD/xleLcg2dz7Tx0agu28rczjNIPQWznwzDwVsZQ==", + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.33.0.tgz", + "integrity": "sha512-YunBa2mE7Hq4CfPkGzQRK916a4tuZoVx/EpLjeWlTVOnD4S2+fdaQZE0LJkbfhN5FTSKNLdcl7MoT5XB37bTkg==", "dev": true, "requires": { "@types/node": "*", "fsevents": "2.3.2", - "playwright-core": "1.32.3" + "playwright-core": "1.33.0" } }, "@rollup/plugin-node-resolve": { @@ -11479,16 +11479,16 @@ "requires": {} }, "@stencil/sass": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@stencil/sass/-/sass-3.0.0.tgz", - "integrity": "sha512-P9NuT5G2ncy+BkQ0fAS+KDuwN+BlDr17yEAHCaEejGZDXK4hhhsxjm0ea8KCwEdDbzui4GDF6DS3VNDtUB6Hzg==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@stencil/sass/-/sass-3.0.2.tgz", + "integrity": "sha512-T8hQreosCjZ6yZ7wJgZBrA1ytL4JMluY1dX6S1a/YgXclanvncvk6nGEpxRVVwRAvtkru0F5Qs+oheiL8nifRA==", "dev": true, "requires": {} }, "@stencil/vue-output-target": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/@stencil/vue-output-target/-/vue-output-target-0.8.2.tgz", - "integrity": "sha512-Z+igq/pz7z9bSRH0tVxHvD/m13B6MPM+i2DZRboGt3uyTKeD1vLZQz3BLCfPeBtEXp2Xlz4d18Z8d7c4abFKbg==", + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/@stencil/vue-output-target/-/vue-output-target-0.8.4.tgz", + "integrity": "sha512-3iESCce7D/2lNVYGM+ukwW/NLFAfeAOcaMFXaK0R1Ub0mZ2YwL9N1rxr9Y8UGfdUzkpi66XIo0jNm3V9YlZ+Ig==", "dev": true, "requires": {} }, @@ -16275,19 +16275,19 @@ } }, "playwright": { - "version": "1.32.3", - "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.32.3.tgz", - "integrity": "sha512-h/ylpgoj6l/EjkfUDyx8cdOlfzC96itPpPe8BXacFkqpw/YsuxkpPyVbzEq4jw+bAJh5FLgh31Ljg2cR6HV3uw==", + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.33.0.tgz", + "integrity": "sha512-+zzU3V2TslRX2ETBRgQKsKytYBkJeLZ2xzUj4JohnZnxQnivoUvOvNbRBYWSYykQTO0Y4zb8NwZTYFUO+EpPBQ==", "dev": true, "peer": true, "requires": { - "playwright-core": "1.32.3" + "playwright-core": "1.33.0" } }, "playwright-core": { - "version": "1.32.3", - "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.32.3.tgz", - "integrity": "sha512-SB+cdrnu74ZIn5Ogh/8278ngEh9NEEV0vR4sJFmK04h2iZpybfbqBY0bX6+BLYWVdV12JLLI+JEFtSnYgR+mWg==", + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.33.0.tgz", + "integrity": "sha512-aizyPE1Cj62vAECdph1iaMILpT0WUDCq3E6rW6I+dleSbBoGbktvJtzS6VHkZ4DKNEOG9qJpiom/ZxO+S15LAw==", "dev": true }, "postcss": { diff --git a/core/package.json b/core/package.json index ab0c003461..0141e812ef 100644 --- a/core/package.json +++ b/core/package.json @@ -1,6 +1,6 @@ { "name": "@ionic/core", - "version": "7.0.5", + "version": "7.0.6", "description": "Base components for Ionic", "keywords": [ "ionic", @@ -40,13 +40,13 @@ "@ionic/eslint-config": "^0.3.0", "@ionic/prettier-config": "^2.0.0", "@jest/core": "^27.5.1", - "@playwright/test": "^1.32.3", + "@playwright/test": "^1.33.0", "@rollup/plugin-node-resolve": "^8.4.0", "@rollup/plugin-virtual": "^2.0.3", "@stencil/angular-output-target": "^0.6.0", "@stencil/react-output-target": "^0.5.0", - "@stencil/sass": "^3.0.0", - "@stencil/vue-output-target": "^0.8.2", + "@stencil/sass": "^3.0.2", + "@stencil/vue-output-target": "^0.8.4", "@types/jest": "^27.5.2", "@types/node": "^14.6.0", "@typescript-eslint/eslint-plugin": "^5.17.0", @@ -90,8 +90,7 @@ "test": "npm run test.spec && npm run test.e2e", "test.spec": "stencil test --spec --max-workers=2", "test.spec.debug": "npx --node-arg=\"--inspect-brk\" stencil test --spec", - "test.e2e": "npx playwright test --config playwright.config.ts", - "test.e2e.legacy": "npx playwright test --config playwright.config-legacy.ts", + "test.e2e": "npx playwright test", "test.watch": "jest --watch --no-cache", "test.treeshake": "node scripts/treeshaking.js dist/index.js", "validate": "npm run lint && npm run test && npm run build && npm run test.treeshake" diff --git a/core/playwright.config-legacy.ts b/core/playwright.config-legacy.ts deleted file mode 100644 index 6f0b4374d2..0000000000 --- a/core/playwright.config-legacy.ts +++ /dev/null @@ -1,119 +0,0 @@ -import type { PlaywrightTestConfig, PlaywrightTestOptions, PlaywrightWorkerOptions, Project } from '@playwright/test'; -import { devices, expect } from '@playwright/test'; - -import { matchers } from './src/utils/test/playwright'; - -expect.extend(matchers); - -const projects: Project[] = [ - { - /** - * This is really just desktop Firefox - * but with a mobile viewport. - */ - name: 'Mobile Firefox', - use: { - browserName: 'firefox', - /** - * This is the Pixel 5 configuration. - * We can't use devices['Pixel 5'] - * because the "isMobile" option is - * not supported on Firefox. - */ - viewport: { - width: 393, - height: 727 - }, - }, - }, - { - name: 'Mobile Chrome', - use: { - browserName: 'chromium', - ...devices['Pixel 5'] - } - }, - { - name: 'Mobile Safari', - use: { - browserName: 'webkit', - ...devices['iPhone 12'] - } - } -]; - -const modes = ['ios', 'md']; - -const generateProjects = () => { - const projectsWithMetadata: Project[] = []; - - modes.forEach(mode => { - projects.forEach(project => { - projectsWithMetadata.push({ - ...project, - metadata: { - mode, - rtl: false, - _testing: true - } - }); - projectsWithMetadata.push({ - ...project, - metadata: { - mode, - rtl: true, - _testing: true - } - }); - }); - }); - - return projectsWithMetadata; -} - -/** - * See https://playwright.dev/docs/test-configuration. - */ -const config: PlaywrightTestConfig = { - testMatch: '*.e2e-legacy.ts', - expect: { - /** - * Maximum time expect() should wait for the condition to be met. - * For example in `await expect(locator).toHaveText();` - */ - timeout: 5000 - }, - /* Fail the build on CI if you accidentally left test.only in the source code. */ - forbidOnly: !!process.env.CI, - /* Fail fast on CI */ - maxFailures: process.env.CI ? 1 : 0, - /* Flaky test should be either addressed or disabled until we can address them */ - retries: 0, - /* Opt out of parallel tests on CI. */ - workers: process.env.CI ? 1 : undefined, - /* Reporter to use. See https://playwright.dev/docs/test-reporters */ - reporter: 'html', - /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ - use: { - /* Maximum time each action such as `click()` can take. Defaults to 0 (no limit). */ - actionTimeout: 0, - /** - * All failed tests should create - * a trace file for easier debugging. - * - * See https://playwright.dev/docs/trace-viewer - */ - trace: 'retain-on-failure', - baseURL: 'http://localhost:3333', - }, - - /* Configure projects for major browsers */ - projects: generateProjects(), - webServer: { - command: 'serve -p 3333', - port: 3333, - reuseExistingServer: !process.env.CI - } -}; - -export default config; diff --git a/core/playwright.config.ts b/core/playwright.config.ts index a302972a1f..eab4388588 100644 --- a/core/playwright.config.ts +++ b/core/playwright.config.ts @@ -52,7 +52,13 @@ const config: PlaywrightTestConfig = { * Maximum time expect() should wait for the condition to be met. * For example in `await expect(locator).toHaveText();` */ - timeout: 5000 + timeout: 5000, + toHaveScreenshot: { + threshold: 0.1 + }, + toMatchSnapshot: { + threshold: 0.1 + } }, /* Fail the build on CI if you accidentally left test.only in the source code. */ forbidOnly: !!process.env.CI, diff --git a/core/src/components/action-sheet/test/basic/action-sheet.e2e.ts b/core/src/components/action-sheet/test/basic/action-sheet.e2e.ts index 2483a0b8f4..d422c55247 100644 --- a/core/src/components/action-sheet/test/basic/action-sheet.e2e.ts +++ b/core/src/components/action-sheet/test/basic/action-sheet.e2e.ts @@ -6,7 +6,7 @@ import { ActionSheetFixture } from './fixture'; /** * This behavior does not vary across modes/directions */ -configs({ mode: ['ios'], directions: ['ltr'] }).forEach(({ config, title }) => { +configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ config, title }) => { test.describe(title('action sheet: data'), () => { let actionSheetFixture!: ActionSheetFixture; test.beforeEach(async ({ page }) => { @@ -42,7 +42,7 @@ configs({ mode: ['ios'], directions: ['ltr'] }).forEach(({ config, title }) => { /** * This behavior does not vary across modes/directions */ -configs({ mode: ['ios'], directions: ['ltr'] }).forEach(({ config, title }) => { +configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ config, title }) => { test.describe(title('action sheet: variant functionality'), () => { let actionSheetFixture!: ActionSheetFixture; test.beforeEach(async ({ page }) => { @@ -78,7 +78,7 @@ configs({ mode: ['ios'], directions: ['ltr'] }).forEach(({ config, title }) => { /** * This behavior does not vary across modes/directions */ -configs({ mode: ['ios'], directions: ['ltr'] }).forEach(({ config, title }) => { +configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ config, title }) => { test.describe(title('action sheet: focus trap'), () => { test('it should trap focus in action sheet', async ({ page, browserName }) => { await page.goto(`/src/components/action-sheet/test/basic`, config); diff --git a/core/src/components/button/test/clear/button.e2e.ts-snapshots/button-clear-md-ltr-Mobile-Chrome-linux.png b/core/src/components/button/test/clear/button.e2e.ts-snapshots/button-clear-md-ltr-Mobile-Chrome-linux.png index 440f2d7e0d..c5266048cb 100644 Binary files a/core/src/components/button/test/clear/button.e2e.ts-snapshots/button-clear-md-ltr-Mobile-Chrome-linux.png and b/core/src/components/button/test/clear/button.e2e.ts-snapshots/button-clear-md-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/button/test/clear/button.e2e.ts-snapshots/button-clear-md-ltr-Mobile-Firefox-linux.png b/core/src/components/button/test/clear/button.e2e.ts-snapshots/button-clear-md-ltr-Mobile-Firefox-linux.png index 3c57c597b2..da4eff3103 100644 Binary files a/core/src/components/button/test/clear/button.e2e.ts-snapshots/button-clear-md-ltr-Mobile-Firefox-linux.png and b/core/src/components/button/test/clear/button.e2e.ts-snapshots/button-clear-md-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/button/test/clear/button.e2e.ts-snapshots/button-clear-md-rtl-Mobile-Chrome-linux.png b/core/src/components/button/test/clear/button.e2e.ts-snapshots/button-clear-md-rtl-Mobile-Chrome-linux.png index cf9749d9c7..d11cfb3385 100644 Binary files a/core/src/components/button/test/clear/button.e2e.ts-snapshots/button-clear-md-rtl-Mobile-Chrome-linux.png and b/core/src/components/button/test/clear/button.e2e.ts-snapshots/button-clear-md-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/button/test/clear/button.e2e.ts-snapshots/button-clear-md-rtl-Mobile-Firefox-linux.png b/core/src/components/button/test/clear/button.e2e.ts-snapshots/button-clear-md-rtl-Mobile-Firefox-linux.png index c8dbde64af..d4f23c9157 100644 Binary files a/core/src/components/button/test/clear/button.e2e.ts-snapshots/button-clear-md-rtl-Mobile-Firefox-linux.png and b/core/src/components/button/test/clear/button.e2e.ts-snapshots/button-clear-md-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/button/test/outline/button.e2e.ts-snapshots/button-outline-md-ltr-Mobile-Chrome-linux.png b/core/src/components/button/test/outline/button.e2e.ts-snapshots/button-outline-md-ltr-Mobile-Chrome-linux.png index ba00db8aaf..0a9e00c503 100644 Binary files a/core/src/components/button/test/outline/button.e2e.ts-snapshots/button-outline-md-ltr-Mobile-Chrome-linux.png and b/core/src/components/button/test/outline/button.e2e.ts-snapshots/button-outline-md-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/button/test/outline/button.e2e.ts-snapshots/button-outline-md-ltr-Mobile-Firefox-linux.png b/core/src/components/button/test/outline/button.e2e.ts-snapshots/button-outline-md-ltr-Mobile-Firefox-linux.png index 88a236341b..71d7a99821 100644 Binary files a/core/src/components/button/test/outline/button.e2e.ts-snapshots/button-outline-md-ltr-Mobile-Firefox-linux.png and b/core/src/components/button/test/outline/button.e2e.ts-snapshots/button-outline-md-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/button/test/outline/button.e2e.ts-snapshots/button-outline-md-rtl-Mobile-Chrome-linux.png b/core/src/components/button/test/outline/button.e2e.ts-snapshots/button-outline-md-rtl-Mobile-Chrome-linux.png index 28c97ad2ab..2aee0faf51 100644 Binary files a/core/src/components/button/test/outline/button.e2e.ts-snapshots/button-outline-md-rtl-Mobile-Chrome-linux.png and b/core/src/components/button/test/outline/button.e2e.ts-snapshots/button-outline-md-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/button/test/outline/button.e2e.ts-snapshots/button-outline-md-rtl-Mobile-Firefox-linux.png b/core/src/components/button/test/outline/button.e2e.ts-snapshots/button-outline-md-rtl-Mobile-Firefox-linux.png index b1fac9ee96..8b06b5a56e 100644 Binary files a/core/src/components/button/test/outline/button.e2e.ts-snapshots/button-outline-md-rtl-Mobile-Firefox-linux.png and b/core/src/components/button/test/outline/button.e2e.ts-snapshots/button-outline-md-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/checkbox/checkbox.md.vars.scss b/core/src/components/checkbox/checkbox.md.vars.scss index fb875fe275..6e79d3f6fb 100644 --- a/core/src/components/checkbox/checkbox.md.vars.scss +++ b/core/src/components/checkbox/checkbox.md.vars.scss @@ -38,7 +38,7 @@ $checkbox-md-icon-border-style: solid !default; $checkbox-md-icon-border-radius: 2px !default; /// @prop - Border color of the checkbox icon when off -$checkbox-md-icon-border-color-off: rgba($text-color-rgb, .51) !default; +$checkbox-md-icon-border-color-off: rgb($text-color-rgb, 0.60) !default; /// @prop - Border color of the checkbox icon when on $checkbox-md-icon-border-color-on: ion-color(primary, base) !default; diff --git a/core/src/components/content/content.tsx b/core/src/components/content/content.tsx index ca6a3a5e2b..f0de55608e 100644 --- a/core/src/components/content/content.tsx +++ b/core/src/components/content/content.tsx @@ -1,5 +1,5 @@ import type { ComponentInterface, EventEmitter } from '@stencil/core'; -import { Component, Element, Event, Host, Listen, Method, Prop, forceUpdate, h, readTask } from '@stencil/core'; +import { Build, Component, Element, Event, Host, Listen, Method, Prop, forceUpdate, h, readTask } from '@stencil/core'; import { componentOnReady } from '@utils/helpers'; import { isPlatform } from '@utils/platform'; import { isRTL } from '@utils/rtl'; @@ -172,11 +172,21 @@ export class Content implements ComponentInterface { } private resize() { - if (this.fullscreen) { - readTask(() => this.readDimensions()); - } else if (this.cTop !== 0 || this.cBottom !== 0) { - this.cTop = this.cBottom = 0; - forceUpdate(this); + /** + * Only force update if the component is rendered in a browser context. + * Using `forceUpdate` in a server context with pre-rendering can lead to an infinite loop. + * The `hydrateDocument` function in `@stencil/core` will render the `ion-content`, but + * `forceUpdate` will trigger another render, locking up the server. + * + * TODO: Remove if STENCIL-834 determines Stencil will account for this. + */ + if (Build.isBrowser) { + if (this.fullscreen) { + readTask(() => this.readDimensions()); + } else if (this.cTop !== 0 || this.cBottom !== 0) { + this.cTop = this.cBottom = 0; + forceUpdate(this); + } } } diff --git a/core/src/components/header/test/condense/header.e2e.ts-snapshots/header-condense-large-title-collapsed-diff-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/header/test/condense/header.e2e.ts-snapshots/header-condense-large-title-collapsed-diff-ios-ltr-Mobile-Firefox-linux.png index bc54f9aad1..6e483c3bef 100644 Binary files a/core/src/components/header/test/condense/header.e2e.ts-snapshots/header-condense-large-title-collapsed-diff-ios-ltr-Mobile-Firefox-linux.png and b/core/src/components/header/test/condense/header.e2e.ts-snapshots/header-condense-large-title-collapsed-diff-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/input/test/input.spec.ts b/core/src/components/input/test/input.spec.ts index f07d46c8f0..599c305aec 100644 --- a/core/src/components/input/test/input.spec.ts +++ b/core/src/components/input/test/input.spec.ts @@ -1,14 +1,46 @@ import { newSpecPage } from '@stencil/core/testing'; import { Input } from '../input'; -it('should inherit attributes', async () => { - const page = await newSpecPage({ - components: [Input], - html: '', +describe('input: rendering', () => { + it('should inherit attributes', async () => { + const page = await newSpecPage({ + components: [Input], + html: '', + }); + + const nativeEl = page.body.querySelector('ion-input input'); + expect(nativeEl.getAttribute('title')).toBe('my title'); + expect(nativeEl.getAttribute('tabindex')).toBe('-1'); + expect(nativeEl.getAttribute('data-form-type')).toBe('password'); }); - const nativeEl = page.body.querySelector('ion-input input'); - expect(nativeEl.getAttribute('title')).toBe('my title'); - expect(nativeEl.getAttribute('tabindex')).toBe('-1'); - expect(nativeEl.getAttribute('data-form-type')).toBe('password'); + it('should render bottom content when helper text is defined', async () => { + const page = await newSpecPage({ + components: [Input], + html: ``, + }); + + const bottomContent = page.body.querySelector('ion-input .input-bottom'); + expect(bottomContent).not.toBe(null); + }); + + it('should render bottom content when helper text is undefined', async () => { + const page = await newSpecPage({ + components: [Input], + html: ``, + }); + + const bottomContent = page.body.querySelector('ion-input .input-bottom'); + expect(bottomContent).toBe(null); + }); + + it('should render bottom content when helper text is empty string', async () => { + const page = await newSpecPage({ + components: [Input], + html: ``, + }); + + const bottomContent = page.body.querySelector('ion-input .input-bottom'); + expect(bottomContent).toBe(null); + }); }); diff --git a/core/src/components/input/test/input.spec.tsx b/core/src/components/input/test/input.spec.tsx deleted file mode 100644 index 84637011b8..0000000000 --- a/core/src/components/input/test/input.spec.tsx +++ /dev/null @@ -1,32 +0,0 @@ -import { newSpecPage } from '@stencil/core/testing'; -import { Input } from '../input'; - -it('should render bottom content when helper text is defined', async () => { - const page = await newSpecPage({ - components: [Input], - html: ``, - }); - - const bottomContent = page.body.querySelector('ion-input .input-bottom'); - expect(bottomContent).not.toBe(null); -}); - -it('should render bottom content when helper text is undefined', async () => { - const page = await newSpecPage({ - components: [Input], - html: ``, - }); - - const bottomContent = page.body.querySelector('ion-input .input-bottom'); - expect(bottomContent).toBe(null); -}); - -it('should render bottom content when helper text is empty string', async () => { - const page = await newSpecPage({ - components: [Input], - html: ``, - }); - - const bottomContent = page.body.querySelector('ion-input .input-bottom'); - expect(bottomContent).toBe(null); -}); diff --git a/core/src/components/input/test/legacy/basic/input.e2e.ts-snapshots/input-with-placeholder-md-ltr-Mobile-Chrome-linux.png b/core/src/components/input/test/legacy/basic/input.e2e.ts-snapshots/input-with-placeholder-md-ltr-Mobile-Chrome-linux.png index 469c3e8d0d..edf00cb2ba 100644 Binary files a/core/src/components/input/test/legacy/basic/input.e2e.ts-snapshots/input-with-placeholder-md-ltr-Mobile-Chrome-linux.png and b/core/src/components/input/test/legacy/basic/input.e2e.ts-snapshots/input-with-placeholder-md-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/input/test/states/input.e2e.ts-snapshots/input-disabled-ios-ltr-Mobile-Safari-linux.png b/core/src/components/input/test/states/input.e2e.ts-snapshots/input-disabled-ios-ltr-Mobile-Safari-linux.png index 37f8dc6ff8..7c684827f9 100644 Binary files a/core/src/components/input/test/states/input.e2e.ts-snapshots/input-disabled-ios-ltr-Mobile-Safari-linux.png and b/core/src/components/input/test/states/input.e2e.ts-snapshots/input-disabled-ios-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/input/test/states/input.e2e.ts-snapshots/input-disabled-md-ltr-Mobile-Safari-linux.png b/core/src/components/input/test/states/input.e2e.ts-snapshots/input-disabled-md-ltr-Mobile-Safari-linux.png index 357cf2bda6..d2038b9167 100644 Binary files a/core/src/components/input/test/states/input.e2e.ts-snapshots/input-disabled-md-ltr-Mobile-Safari-linux.png and b/core/src/components/input/test/states/input.e2e.ts-snapshots/input-disabled-md-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/item/test/disabled/item.e2e.ts-snapshots/item-disabled-diff-md-ltr-Mobile-Chrome-linux.png b/core/src/components/item/test/disabled/item.e2e.ts-snapshots/item-disabled-diff-md-ltr-Mobile-Chrome-linux.png index 2f3a1e84ec..b8f99992a4 100644 Binary files a/core/src/components/item/test/disabled/item.e2e.ts-snapshots/item-disabled-diff-md-ltr-Mobile-Chrome-linux.png and b/core/src/components/item/test/disabled/item.e2e.ts-snapshots/item-disabled-diff-md-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/item/test/disabled/item.e2e.ts-snapshots/item-disabled-diff-md-ltr-Mobile-Firefox-linux.png b/core/src/components/item/test/disabled/item.e2e.ts-snapshots/item-disabled-diff-md-ltr-Mobile-Firefox-linux.png index afe935fe28..b721dc135e 100644 Binary files a/core/src/components/item/test/disabled/item.e2e.ts-snapshots/item-disabled-diff-md-ltr-Mobile-Firefox-linux.png and b/core/src/components/item/test/disabled/item.e2e.ts-snapshots/item-disabled-diff-md-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/item/test/disabled/item.e2e.ts-snapshots/item-disabled-diff-md-ltr-Mobile-Safari-linux.png b/core/src/components/item/test/disabled/item.e2e.ts-snapshots/item-disabled-diff-md-ltr-Mobile-Safari-linux.png index b95fc3fdb5..633a259ea1 100644 Binary files a/core/src/components/item/test/disabled/item.e2e.ts-snapshots/item-disabled-diff-md-ltr-Mobile-Safari-linux.png and b/core/src/components/item/test/disabled/item.e2e.ts-snapshots/item-disabled-diff-md-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/item/test/inputs/item.e2e-legacy.ts-snapshots/item-inputs-disabled-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/item/test/inputs/item.e2e-legacy.ts-snapshots/item-inputs-disabled-ios-rtl-Mobile-Chrome-linux.png deleted file mode 100644 index 6ee319a827..0000000000 Binary files a/core/src/components/item/test/inputs/item.e2e-legacy.ts-snapshots/item-inputs-disabled-ios-rtl-Mobile-Chrome-linux.png and /dev/null differ diff --git a/core/src/components/item/test/inputs/item.e2e-legacy.ts-snapshots/item-inputs-disabled-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/item/test/inputs/item.e2e-legacy.ts-snapshots/item-inputs-disabled-ios-rtl-Mobile-Firefox-linux.png deleted file mode 100644 index 13e03c141a..0000000000 Binary files a/core/src/components/item/test/inputs/item.e2e-legacy.ts-snapshots/item-inputs-disabled-ios-rtl-Mobile-Firefox-linux.png and /dev/null differ diff --git a/core/src/components/item/test/inputs/item.e2e-legacy.ts-snapshots/item-inputs-disabled-ios-rtl-Mobile-Safari-linux.png b/core/src/components/item/test/inputs/item.e2e-legacy.ts-snapshots/item-inputs-disabled-ios-rtl-Mobile-Safari-linux.png deleted file mode 100644 index 9d93dfef29..0000000000 Binary files a/core/src/components/item/test/inputs/item.e2e-legacy.ts-snapshots/item-inputs-disabled-ios-rtl-Mobile-Safari-linux.png and /dev/null differ diff --git a/core/src/components/item/test/inputs/item.e2e-legacy.ts-snapshots/item-inputs-disabled-md-rtl-Mobile-Chrome-linux.png b/core/src/components/item/test/inputs/item.e2e-legacy.ts-snapshots/item-inputs-disabled-md-rtl-Mobile-Chrome-linux.png deleted file mode 100644 index d05caf67d9..0000000000 Binary files a/core/src/components/item/test/inputs/item.e2e-legacy.ts-snapshots/item-inputs-disabled-md-rtl-Mobile-Chrome-linux.png and /dev/null differ diff --git a/core/src/components/item/test/inputs/item.e2e-legacy.ts-snapshots/item-inputs-disabled-md-rtl-Mobile-Firefox-linux.png b/core/src/components/item/test/inputs/item.e2e-legacy.ts-snapshots/item-inputs-disabled-md-rtl-Mobile-Firefox-linux.png deleted file mode 100644 index 21fdeeec4e..0000000000 Binary files a/core/src/components/item/test/inputs/item.e2e-legacy.ts-snapshots/item-inputs-disabled-md-rtl-Mobile-Firefox-linux.png and /dev/null differ diff --git a/core/src/components/item/test/inputs/item.e2e-legacy.ts-snapshots/item-inputs-disabled-md-rtl-Mobile-Safari-linux.png b/core/src/components/item/test/inputs/item.e2e-legacy.ts-snapshots/item-inputs-disabled-md-rtl-Mobile-Safari-linux.png deleted file mode 100644 index 01794b1de7..0000000000 Binary files a/core/src/components/item/test/inputs/item.e2e-legacy.ts-snapshots/item-inputs-disabled-md-rtl-Mobile-Safari-linux.png and /dev/null differ diff --git a/core/src/components/item/test/inputs/item.e2e-legacy.ts b/core/src/components/item/test/inputs/item.e2e.ts similarity index 63% rename from core/src/components/item/test/inputs/item.e2e-legacy.ts rename to core/src/components/item/test/inputs/item.e2e.ts index 6a9afa2656..4e50d5303c 100644 --- a/core/src/components/item/test/inputs/item.e2e-legacy.ts +++ b/core/src/components/item/test/inputs/item.e2e.ts @@ -1,48 +1,67 @@ import type { Locator } from '@playwright/test'; import { expect } from '@playwright/test'; import type { EventSpy } from '@utils/test/playwright'; -import { test } from '@utils/test/playwright'; +import { configs, test } from '@utils/test/playwright'; -test.describe('item: inputs', () => { - let ionPopoverDidPresent: EventSpy; - let ionPopoverDidDismiss: EventSpy; - let formData: EventSpy; +configs().forEach(({ title, screenshot, config }) => { + test.describe(title('item: inputs'), () => { + test('should not have visual regressions', async ({ page }) => { + await page.goto(`/src/components/item/test/inputs`, config); - let popover: Locator; - - test.beforeEach(async ({ page }) => { - await page.goto(`/src/components/item/test/inputs`); - - ionPopoverDidPresent = await page.spyOnEvent('ionPopoverDidPresent'); - ionPopoverDidDismiss = await page.spyOnEvent('ionPopoverDidDismiss'); - formData = await page.spyOnEvent('formData'); - - popover = page.locator('ion-popover#optionsPopover'); + await page.setIonViewport(); + await expect(page).toHaveScreenshot(screenshot(`item-inputs`)); + }); }); +}); - test('should not have visual regressions', async ({ page }) => { - await page.setIonViewport(); - await expect(page).toHaveScreenshot(`item-inputs-${page.getSnapshotSettings()}.png`); +configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => { + test.describe(title('disabled state rendering'), () => { + let ionPopoverDidPresent: EventSpy; + let ionPopoverDidDismiss: EventSpy; + + let popover: Locator; + + test.beforeEach(async ({ page }) => { + await page.goto(`/src/components/item/test/inputs`, config); + + ionPopoverDidPresent = await page.spyOnEvent('ionPopoverDidPresent'); + ionPopoverDidDismiss = await page.spyOnEvent('ionPopoverDidDismiss'); + + popover = page.locator('ion-popover#optionsPopover'); + }); + test('disabled controls should not have visual regressions', async ({ page }) => { + await page.click('#popover-trigger'); + await ionPopoverDidPresent.next(); + + await page.click('#btnDisabled'); + + await page.waitForChanges(); + + await popover.evaluateHandle((el: HTMLIonPopoverElement) => el.dismiss()); + await ionPopoverDidDismiss.next(); + + await page.setIonViewport(); + await expect(page).toHaveScreenshot(screenshot(`item-inputs-disabled`)); + }); }); +}); - test('disabled controls should not have visual regressions', async ({ page }) => { - await page.click('#popover-trigger'); - await ionPopoverDidPresent.next(); +configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) => { + test.describe(title('form data'), () => { + let ionPopoverDidPresent: EventSpy; + let ionPopoverDidDismiss: EventSpy; + let formData: EventSpy; - await page.click('#btnDisabled'); + let popover: Locator; - await page.waitForChanges(); + test.beforeEach(async ({ page }) => { + await page.goto(`/src/components/item/test/inputs`, config); - await popover.evaluateHandle((el: HTMLIonPopoverElement) => el.dismiss()); - await ionPopoverDidDismiss.next(); + ionPopoverDidPresent = await page.spyOnEvent('ionPopoverDidPresent'); + ionPopoverDidDismiss = await page.spyOnEvent('ionPopoverDidDismiss'); + formData = await page.spyOnEvent('formData'); - await page.setIonViewport(); - await expect(page).toHaveScreenshot(`item-inputs-disabled-${page.getSnapshotSettings()}.png`); - }); - - test.describe('form data', () => { - test.beforeEach(async ({ skip }) => { - skip.rtl(); + popover = page.locator('ion-popover#optionsPopover'); }); test('initial form data should be empty', async ({ page }) => { diff --git a/core/src/components/item/test/inputs/item.e2e-legacy.ts-snapshots/item-inputs-disabled-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/item/test/inputs/item.e2e.ts-snapshots/item-inputs-disabled-ios-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/item/test/inputs/item.e2e-legacy.ts-snapshots/item-inputs-disabled-ios-ltr-Mobile-Chrome-linux.png rename to core/src/components/item/test/inputs/item.e2e.ts-snapshots/item-inputs-disabled-ios-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/item/test/inputs/item.e2e-legacy.ts-snapshots/item-inputs-disabled-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/item/test/inputs/item.e2e.ts-snapshots/item-inputs-disabled-ios-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/item/test/inputs/item.e2e-legacy.ts-snapshots/item-inputs-disabled-ios-ltr-Mobile-Firefox-linux.png rename to core/src/components/item/test/inputs/item.e2e.ts-snapshots/item-inputs-disabled-ios-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/item/test/inputs/item.e2e-legacy.ts-snapshots/item-inputs-disabled-ios-ltr-Mobile-Safari-linux.png b/core/src/components/item/test/inputs/item.e2e.ts-snapshots/item-inputs-disabled-ios-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/item/test/inputs/item.e2e-legacy.ts-snapshots/item-inputs-disabled-ios-ltr-Mobile-Safari-linux.png rename to core/src/components/item/test/inputs/item.e2e.ts-snapshots/item-inputs-disabled-ios-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/item/test/inputs/item.e2e-legacy.ts-snapshots/item-inputs-disabled-md-ltr-Mobile-Chrome-linux.png b/core/src/components/item/test/inputs/item.e2e.ts-snapshots/item-inputs-disabled-md-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/item/test/inputs/item.e2e-legacy.ts-snapshots/item-inputs-disabled-md-ltr-Mobile-Chrome-linux.png rename to core/src/components/item/test/inputs/item.e2e.ts-snapshots/item-inputs-disabled-md-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/item/test/inputs/item.e2e-legacy.ts-snapshots/item-inputs-disabled-md-ltr-Mobile-Firefox-linux.png b/core/src/components/item/test/inputs/item.e2e.ts-snapshots/item-inputs-disabled-md-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/item/test/inputs/item.e2e-legacy.ts-snapshots/item-inputs-disabled-md-ltr-Mobile-Firefox-linux.png rename to core/src/components/item/test/inputs/item.e2e.ts-snapshots/item-inputs-disabled-md-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/item/test/inputs/item.e2e-legacy.ts-snapshots/item-inputs-disabled-md-ltr-Mobile-Safari-linux.png b/core/src/components/item/test/inputs/item.e2e.ts-snapshots/item-inputs-disabled-md-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/item/test/inputs/item.e2e-legacy.ts-snapshots/item-inputs-disabled-md-ltr-Mobile-Safari-linux.png rename to core/src/components/item/test/inputs/item.e2e.ts-snapshots/item-inputs-disabled-md-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/item/test/inputs/item.e2e-legacy.ts-snapshots/item-inputs-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/item/test/inputs/item.e2e.ts-snapshots/item-inputs-ios-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/item/test/inputs/item.e2e-legacy.ts-snapshots/item-inputs-ios-ltr-Mobile-Chrome-linux.png rename to core/src/components/item/test/inputs/item.e2e.ts-snapshots/item-inputs-ios-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/item/test/inputs/item.e2e-legacy.ts-snapshots/item-inputs-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/item/test/inputs/item.e2e.ts-snapshots/item-inputs-ios-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/item/test/inputs/item.e2e-legacy.ts-snapshots/item-inputs-ios-ltr-Mobile-Firefox-linux.png rename to core/src/components/item/test/inputs/item.e2e.ts-snapshots/item-inputs-ios-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/item/test/inputs/item.e2e-legacy.ts-snapshots/item-inputs-ios-ltr-Mobile-Safari-linux.png b/core/src/components/item/test/inputs/item.e2e.ts-snapshots/item-inputs-ios-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/item/test/inputs/item.e2e-legacy.ts-snapshots/item-inputs-ios-ltr-Mobile-Safari-linux.png rename to core/src/components/item/test/inputs/item.e2e.ts-snapshots/item-inputs-ios-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/item/test/inputs/item.e2e-legacy.ts-snapshots/item-inputs-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/item/test/inputs/item.e2e.ts-snapshots/item-inputs-ios-rtl-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/item/test/inputs/item.e2e-legacy.ts-snapshots/item-inputs-ios-rtl-Mobile-Chrome-linux.png rename to core/src/components/item/test/inputs/item.e2e.ts-snapshots/item-inputs-ios-rtl-Mobile-Chrome-linux.png diff --git a/core/src/components/item/test/inputs/item.e2e-legacy.ts-snapshots/item-inputs-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/item/test/inputs/item.e2e.ts-snapshots/item-inputs-ios-rtl-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/item/test/inputs/item.e2e-legacy.ts-snapshots/item-inputs-ios-rtl-Mobile-Firefox-linux.png rename to core/src/components/item/test/inputs/item.e2e.ts-snapshots/item-inputs-ios-rtl-Mobile-Firefox-linux.png diff --git a/core/src/components/item/test/inputs/item.e2e-legacy.ts-snapshots/item-inputs-ios-rtl-Mobile-Safari-linux.png b/core/src/components/item/test/inputs/item.e2e.ts-snapshots/item-inputs-ios-rtl-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/item/test/inputs/item.e2e-legacy.ts-snapshots/item-inputs-ios-rtl-Mobile-Safari-linux.png rename to core/src/components/item/test/inputs/item.e2e.ts-snapshots/item-inputs-ios-rtl-Mobile-Safari-linux.png diff --git a/core/src/components/item/test/inputs/item.e2e-legacy.ts-snapshots/item-inputs-md-ltr-Mobile-Chrome-linux.png b/core/src/components/item/test/inputs/item.e2e.ts-snapshots/item-inputs-md-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/item/test/inputs/item.e2e-legacy.ts-snapshots/item-inputs-md-ltr-Mobile-Chrome-linux.png rename to core/src/components/item/test/inputs/item.e2e.ts-snapshots/item-inputs-md-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/item/test/inputs/item.e2e-legacy.ts-snapshots/item-inputs-md-ltr-Mobile-Firefox-linux.png b/core/src/components/item/test/inputs/item.e2e.ts-snapshots/item-inputs-md-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/item/test/inputs/item.e2e-legacy.ts-snapshots/item-inputs-md-ltr-Mobile-Firefox-linux.png rename to core/src/components/item/test/inputs/item.e2e.ts-snapshots/item-inputs-md-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/item/test/inputs/item.e2e-legacy.ts-snapshots/item-inputs-md-ltr-Mobile-Safari-linux.png b/core/src/components/item/test/inputs/item.e2e.ts-snapshots/item-inputs-md-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/item/test/inputs/item.e2e-legacy.ts-snapshots/item-inputs-md-ltr-Mobile-Safari-linux.png rename to core/src/components/item/test/inputs/item.e2e.ts-snapshots/item-inputs-md-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/item/test/inputs/item.e2e-legacy.ts-snapshots/item-inputs-md-rtl-Mobile-Chrome-linux.png b/core/src/components/item/test/inputs/item.e2e.ts-snapshots/item-inputs-md-rtl-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/item/test/inputs/item.e2e-legacy.ts-snapshots/item-inputs-md-rtl-Mobile-Chrome-linux.png rename to core/src/components/item/test/inputs/item.e2e.ts-snapshots/item-inputs-md-rtl-Mobile-Chrome-linux.png diff --git a/core/src/components/item/test/inputs/item.e2e-legacy.ts-snapshots/item-inputs-md-rtl-Mobile-Firefox-linux.png b/core/src/components/item/test/inputs/item.e2e.ts-snapshots/item-inputs-md-rtl-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/item/test/inputs/item.e2e-legacy.ts-snapshots/item-inputs-md-rtl-Mobile-Firefox-linux.png rename to core/src/components/item/test/inputs/item.e2e.ts-snapshots/item-inputs-md-rtl-Mobile-Firefox-linux.png diff --git a/core/src/components/item/test/inputs/item.e2e-legacy.ts-snapshots/item-inputs-md-rtl-Mobile-Safari-linux.png b/core/src/components/item/test/inputs/item.e2e.ts-snapshots/item-inputs-md-rtl-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/item/test/inputs/item.e2e-legacy.ts-snapshots/item-inputs-md-rtl-Mobile-Safari-linux.png rename to core/src/components/item/test/inputs/item.e2e.ts-snapshots/item-inputs-md-rtl-Mobile-Safari-linux.png diff --git a/core/src/components/item/test/legacy/disabled/item.e2e.ts-snapshots/item-disabled-diff-md-ltr-Mobile-Chrome-linux.png b/core/src/components/item/test/legacy/disabled/item.e2e.ts-snapshots/item-disabled-diff-md-ltr-Mobile-Chrome-linux.png index 1fa8fce932..8070a4cfac 100644 Binary files a/core/src/components/item/test/legacy/disabled/item.e2e.ts-snapshots/item-disabled-diff-md-ltr-Mobile-Chrome-linux.png and b/core/src/components/item/test/legacy/disabled/item.e2e.ts-snapshots/item-disabled-diff-md-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/item/test/legacy/disabled/item.e2e.ts-snapshots/item-disabled-diff-md-ltr-Mobile-Firefox-linux.png b/core/src/components/item/test/legacy/disabled/item.e2e.ts-snapshots/item-disabled-diff-md-ltr-Mobile-Firefox-linux.png index 1ed264e02f..4e0e6542ff 100644 Binary files a/core/src/components/item/test/legacy/disabled/item.e2e.ts-snapshots/item-disabled-diff-md-ltr-Mobile-Firefox-linux.png and b/core/src/components/item/test/legacy/disabled/item.e2e.ts-snapshots/item-disabled-diff-md-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/item/test/legacy/disabled/item.e2e.ts-snapshots/item-disabled-diff-md-ltr-Mobile-Safari-linux.png b/core/src/components/item/test/legacy/disabled/item.e2e.ts-snapshots/item-disabled-diff-md-ltr-Mobile-Safari-linux.png index 51c35b2405..77402b6db6 100644 Binary files a/core/src/components/item/test/legacy/disabled/item.e2e.ts-snapshots/item-disabled-diff-md-ltr-Mobile-Safari-linux.png and b/core/src/components/item/test/legacy/disabled/item.e2e.ts-snapshots/item-disabled-diff-md-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/item/test/legacy/disabled/item.e2e.ts-snapshots/item-disabled-diff-md-rtl-Mobile-Chrome-linux.png b/core/src/components/item/test/legacy/disabled/item.e2e.ts-snapshots/item-disabled-diff-md-rtl-Mobile-Chrome-linux.png index e2fe464ded..4a898b64be 100644 Binary files a/core/src/components/item/test/legacy/disabled/item.e2e.ts-snapshots/item-disabled-diff-md-rtl-Mobile-Chrome-linux.png and b/core/src/components/item/test/legacy/disabled/item.e2e.ts-snapshots/item-disabled-diff-md-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/item/test/legacy/disabled/item.e2e.ts-snapshots/item-disabled-diff-md-rtl-Mobile-Firefox-linux.png b/core/src/components/item/test/legacy/disabled/item.e2e.ts-snapshots/item-disabled-diff-md-rtl-Mobile-Firefox-linux.png index 9a5f89fd4f..36c4e3ad97 100644 Binary files a/core/src/components/item/test/legacy/disabled/item.e2e.ts-snapshots/item-disabled-diff-md-rtl-Mobile-Firefox-linux.png and b/core/src/components/item/test/legacy/disabled/item.e2e.ts-snapshots/item-disabled-diff-md-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/item/test/legacy/disabled/item.e2e.ts-snapshots/item-disabled-diff-md-rtl-Mobile-Safari-linux.png b/core/src/components/item/test/legacy/disabled/item.e2e.ts-snapshots/item-disabled-diff-md-rtl-Mobile-Safari-linux.png index 677b343c1f..6d125a2a76 100644 Binary files a/core/src/components/item/test/legacy/disabled/item.e2e.ts-snapshots/item-disabled-diff-md-rtl-Mobile-Safari-linux.png and b/core/src/components/item/test/legacy/disabled/item.e2e.ts-snapshots/item-disabled-diff-md-rtl-Mobile-Safari-linux.png differ diff --git a/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-md-ltr-Mobile-Chrome-linux.png b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-md-ltr-Mobile-Chrome-linux.png index b7705db536..308a04ad5d 100644 Binary files a/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-md-ltr-Mobile-Chrome-linux.png and b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-md-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-md-ltr-Mobile-Firefox-linux.png b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-md-ltr-Mobile-Firefox-linux.png index 09e4225563..ad37af7002 100644 Binary files a/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-md-ltr-Mobile-Firefox-linux.png and b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-md-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-md-ltr-Mobile-Safari-linux.png b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-md-ltr-Mobile-Safari-linux.png index a95dd8f4e1..0e155490c9 100644 Binary files a/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-md-ltr-Mobile-Safari-linux.png and b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-md-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-md-rtl-Mobile-Chrome-linux.png b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-md-rtl-Mobile-Chrome-linux.png index 3cdf993eb4..5a460cf82c 100644 Binary files a/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-md-rtl-Mobile-Chrome-linux.png and b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-md-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-md-rtl-Mobile-Firefox-linux.png b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-md-rtl-Mobile-Firefox-linux.png index 43f0a5c237..321468fdea 100644 Binary files a/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-md-rtl-Mobile-Firefox-linux.png and b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-md-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-md-rtl-Mobile-Safari-linux.png b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-md-rtl-Mobile-Safari-linux.png index d284dee35f..0140bac11f 100644 Binary files a/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-md-rtl-Mobile-Safari-linux.png and b/core/src/components/item/test/slotted-inputs/item.e2e.ts-snapshots/item-slotted-inputs-md-rtl-Mobile-Safari-linux.png differ diff --git a/core/src/components/loading/test/basic/loading.e2e.ts b/core/src/components/loading/test/basic/loading.e2e.ts index 96f02fc2b1..002ab53b45 100644 --- a/core/src/components/loading/test/basic/loading.e2e.ts +++ b/core/src/components/loading/test/basic/loading.e2e.ts @@ -1,70 +1,69 @@ import { expect } from '@playwright/test'; -import type { E2EPage } from '@utils/test/playwright'; +import type { E2EPage, ScreenshotFn } from '@utils/test/playwright'; import { configs, test } from '@utils/test/playwright'; +const runVisualTest = async (page: E2EPage, selector: string, screenshot: ScreenshotFn, screenshotModifier: string) => { + const ionLoadingDidPresent = await page.spyOnEvent('ionLoadingDidPresent'); + + await page.click(selector); + + await ionLoadingDidPresent.next(); + + await expect(page).toHaveScreenshot(screenshot(`loading-${screenshotModifier}-diff`)); +}; + configs().forEach(({ title, screenshot, config }) => { test.describe(title('loading: basic'), () => { - test.beforeEach(async ({ page }) => { + test('should open a basic loader', async ({ page }) => { await page.goto('/src/components/loading/test/basic', config); - }); - test.describe('loading: visual regression tests', () => { - const runVisualTest = async (page: E2EPage, selector: string, screenshotModifier: string) => { - const ionLoadingDidPresent = await page.spyOnEvent('ionLoadingDidPresent'); - const ionLoadingDidDismiss = await page.spyOnEvent('ionLoadingDidPresent'); + const loading = page.locator('ion-loading'); + const ionLoadingDidDismiss = await page.spyOnEvent('ionLoadingDidPresent'); - await page.click(selector); + await runVisualTest(page, '#basic-loading', screenshot, 'basic'); - await ionLoadingDidPresent.next(); + await loading.evaluate((el: HTMLIonLoadingElement) => el.dismiss()); - await expect(page).toHaveScreenshot(screenshot(`loading-${screenshotModifier}-diff`)); + await ionLoadingDidDismiss.next(); - const loading = page.locator('ion-loading'); - await loading.evaluate((el: HTMLIonLoadingElement) => el.dismiss()); - - await ionLoadingDidDismiss.next(); - - await expect(loading).toBeHidden(); - }; - test('should open a basic loader', async ({ page }) => { - await runVisualTest(page, '#basic-loading', 'basic'); - }); - test('should open a loader with long text', async ({ page }) => { - await runVisualTest(page, '#long-content-loading', 'long-content'); - }); - test('should open a loader with no spinner', async ({ page }) => { - await runVisualTest(page, '#no-spinner-loading', 'no-spinner'); - }); - test('should open a translucent loader', async ({ page }) => { - await runVisualTest(page, '#translucent-loading', 'translucent'); - }); - test('should open a loader with a custom class', async ({ page }) => { - await runVisualTest(page, '#custom-class-loading', 'custom-class'); - }); - test('should open a loader with html content', async ({ page }) => { - await runVisualTest(page, '#html-content-loading', 'html-content'); - }); + await expect(loading).toBeHidden(); }); }); }); /** - * These behaviors do not vary across modes/directions + * These behaviors do not vary across directions. */ -configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) => { - test.describe(title('loading: html attributes'), () => { - test('it should pass html attributes to the loader', async ({ page }) => { +configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => { + test.describe(title('loading: variants rendering'), () => { + test.beforeEach(async ({ page }) => { await page.goto('/src/components/loading/test/basic', config); - - const ionLoadingDidPresent = await page.spyOnEvent('ionLoadingDidPresent'); - - await page.click('#basic-loading'); - - await ionLoadingDidPresent.next(); - - const loading = page.locator('ion-loading'); - await expect(loading).toHaveAttribute('data-testid', 'basic-loading'); + }); + test('should open a loader with long text', async ({ page }) => { + await runVisualTest(page, '#long-content-loading', screenshot, 'long-content'); + }); + test('should open a loader with no spinner', async ({ page }) => { + await runVisualTest(page, '#no-spinner-loading', screenshot, 'no-spinner'); + }); + test('should open a loader with a custom class', async ({ page }) => { + await runVisualTest(page, '#custom-class-loading', screenshot, 'custom-class'); }); }); +}); + +configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, screenshot, config }) => { + /** + * Translucency is only available on iOS. + */ + test.describe(title('loading: translucent rendering'), () => { + test('should open a translucent loader', async ({ page }) => { + await page.goto('/src/components/loading/test/basic', config); + await runVisualTest(page, '#translucent-loading', screenshot, 'translucent'); + }); + }); + + /** + * These behaviors do not vary across modes/directions + */ test.describe(title('loading: focus trapping'), () => { test('it should trap focus in the loader', async ({ page, browserName }) => { await page.goto('/src/components/loading/test/basic', config); diff --git a/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-custom-class-diff-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-custom-class-diff-ios-rtl-Mobile-Chrome-linux.png deleted file mode 100644 index 2e866a24d1..0000000000 Binary files a/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-custom-class-diff-ios-rtl-Mobile-Chrome-linux.png and /dev/null differ diff --git a/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-custom-class-diff-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-custom-class-diff-ios-rtl-Mobile-Firefox-linux.png deleted file mode 100644 index 391c4bc04d..0000000000 Binary files a/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-custom-class-diff-ios-rtl-Mobile-Firefox-linux.png and /dev/null differ diff --git a/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-custom-class-diff-ios-rtl-Mobile-Safari-linux.png b/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-custom-class-diff-ios-rtl-Mobile-Safari-linux.png deleted file mode 100644 index ef4a40f174..0000000000 Binary files a/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-custom-class-diff-ios-rtl-Mobile-Safari-linux.png and /dev/null differ diff --git a/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-custom-class-diff-md-rtl-Mobile-Chrome-linux.png b/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-custom-class-diff-md-rtl-Mobile-Chrome-linux.png deleted file mode 100644 index 862cc0f071..0000000000 Binary files a/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-custom-class-diff-md-rtl-Mobile-Chrome-linux.png and /dev/null differ diff --git a/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-custom-class-diff-md-rtl-Mobile-Firefox-linux.png b/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-custom-class-diff-md-rtl-Mobile-Firefox-linux.png deleted file mode 100644 index 29040f5741..0000000000 Binary files a/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-custom-class-diff-md-rtl-Mobile-Firefox-linux.png and /dev/null differ diff --git a/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-custom-class-diff-md-rtl-Mobile-Safari-linux.png b/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-custom-class-diff-md-rtl-Mobile-Safari-linux.png deleted file mode 100644 index 9efae8d7f9..0000000000 Binary files a/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-custom-class-diff-md-rtl-Mobile-Safari-linux.png and /dev/null differ diff --git a/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-html-content-diff-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-html-content-diff-ios-ltr-Mobile-Chrome-linux.png deleted file mode 100644 index 8d160bb10a..0000000000 Binary files a/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-html-content-diff-ios-ltr-Mobile-Chrome-linux.png and /dev/null differ diff --git a/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-html-content-diff-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-html-content-diff-ios-ltr-Mobile-Firefox-linux.png deleted file mode 100644 index e054fb828a..0000000000 Binary files a/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-html-content-diff-ios-ltr-Mobile-Firefox-linux.png and /dev/null differ diff --git a/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-html-content-diff-ios-ltr-Mobile-Safari-linux.png b/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-html-content-diff-ios-ltr-Mobile-Safari-linux.png deleted file mode 100644 index aa04d3272d..0000000000 Binary files a/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-html-content-diff-ios-ltr-Mobile-Safari-linux.png and /dev/null differ diff --git a/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-html-content-diff-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-html-content-diff-ios-rtl-Mobile-Chrome-linux.png deleted file mode 100644 index 8d95d1f18e..0000000000 Binary files a/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-html-content-diff-ios-rtl-Mobile-Chrome-linux.png and /dev/null differ diff --git a/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-html-content-diff-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-html-content-diff-ios-rtl-Mobile-Firefox-linux.png deleted file mode 100644 index d7c1621ea5..0000000000 Binary files a/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-html-content-diff-ios-rtl-Mobile-Firefox-linux.png and /dev/null differ diff --git a/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-html-content-diff-ios-rtl-Mobile-Safari-linux.png b/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-html-content-diff-ios-rtl-Mobile-Safari-linux.png deleted file mode 100644 index c1c0d64de3..0000000000 Binary files a/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-html-content-diff-ios-rtl-Mobile-Safari-linux.png and /dev/null differ diff --git a/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-html-content-diff-md-ltr-Mobile-Chrome-linux.png b/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-html-content-diff-md-ltr-Mobile-Chrome-linux.png deleted file mode 100644 index 743fe7d397..0000000000 Binary files a/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-html-content-diff-md-ltr-Mobile-Chrome-linux.png and /dev/null differ diff --git a/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-html-content-diff-md-ltr-Mobile-Firefox-linux.png b/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-html-content-diff-md-ltr-Mobile-Firefox-linux.png deleted file mode 100644 index cb569bcd36..0000000000 Binary files a/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-html-content-diff-md-ltr-Mobile-Firefox-linux.png and /dev/null differ diff --git a/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-html-content-diff-md-ltr-Mobile-Safari-linux.png b/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-html-content-diff-md-ltr-Mobile-Safari-linux.png deleted file mode 100644 index d010c6fd4b..0000000000 Binary files a/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-html-content-diff-md-ltr-Mobile-Safari-linux.png and /dev/null differ diff --git a/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-html-content-diff-md-rtl-Mobile-Chrome-linux.png b/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-html-content-diff-md-rtl-Mobile-Chrome-linux.png deleted file mode 100644 index ff53f176e3..0000000000 Binary files a/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-html-content-diff-md-rtl-Mobile-Chrome-linux.png and /dev/null differ diff --git a/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-html-content-diff-md-rtl-Mobile-Firefox-linux.png b/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-html-content-diff-md-rtl-Mobile-Firefox-linux.png deleted file mode 100644 index 93f8df1359..0000000000 Binary files a/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-html-content-diff-md-rtl-Mobile-Firefox-linux.png and /dev/null differ diff --git a/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-html-content-diff-md-rtl-Mobile-Safari-linux.png b/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-html-content-diff-md-rtl-Mobile-Safari-linux.png deleted file mode 100644 index 2e18e022ab..0000000000 Binary files a/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-html-content-diff-md-rtl-Mobile-Safari-linux.png and /dev/null differ diff --git a/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-long-content-diff-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-long-content-diff-ios-rtl-Mobile-Chrome-linux.png deleted file mode 100644 index 751a3219d0..0000000000 Binary files a/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-long-content-diff-ios-rtl-Mobile-Chrome-linux.png and /dev/null differ diff --git a/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-long-content-diff-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-long-content-diff-ios-rtl-Mobile-Firefox-linux.png deleted file mode 100644 index 58ca1a223b..0000000000 Binary files a/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-long-content-diff-ios-rtl-Mobile-Firefox-linux.png and /dev/null differ diff --git a/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-long-content-diff-ios-rtl-Mobile-Safari-linux.png b/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-long-content-diff-ios-rtl-Mobile-Safari-linux.png deleted file mode 100644 index 60160ff78d..0000000000 Binary files a/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-long-content-diff-ios-rtl-Mobile-Safari-linux.png and /dev/null differ diff --git a/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-long-content-diff-md-rtl-Mobile-Chrome-linux.png b/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-long-content-diff-md-rtl-Mobile-Chrome-linux.png deleted file mode 100644 index 167844fce4..0000000000 Binary files a/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-long-content-diff-md-rtl-Mobile-Chrome-linux.png and /dev/null differ diff --git a/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-long-content-diff-md-rtl-Mobile-Firefox-linux.png b/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-long-content-diff-md-rtl-Mobile-Firefox-linux.png deleted file mode 100644 index cafc4961f8..0000000000 Binary files a/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-long-content-diff-md-rtl-Mobile-Firefox-linux.png and /dev/null differ diff --git a/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-long-content-diff-md-rtl-Mobile-Safari-linux.png b/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-long-content-diff-md-rtl-Mobile-Safari-linux.png deleted file mode 100644 index 53887a22d5..0000000000 Binary files a/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-long-content-diff-md-rtl-Mobile-Safari-linux.png and /dev/null differ diff --git a/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-no-spinner-diff-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-no-spinner-diff-ios-rtl-Mobile-Chrome-linux.png deleted file mode 100644 index d1f5aa4ceb..0000000000 Binary files a/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-no-spinner-diff-ios-rtl-Mobile-Chrome-linux.png and /dev/null differ diff --git a/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-no-spinner-diff-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-no-spinner-diff-ios-rtl-Mobile-Firefox-linux.png deleted file mode 100644 index 4dc9175693..0000000000 Binary files a/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-no-spinner-diff-ios-rtl-Mobile-Firefox-linux.png and /dev/null differ diff --git a/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-no-spinner-diff-ios-rtl-Mobile-Safari-linux.png b/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-no-spinner-diff-ios-rtl-Mobile-Safari-linux.png deleted file mode 100644 index 8efb9f5a63..0000000000 Binary files a/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-no-spinner-diff-ios-rtl-Mobile-Safari-linux.png and /dev/null differ diff --git a/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-no-spinner-diff-md-rtl-Mobile-Chrome-linux.png b/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-no-spinner-diff-md-rtl-Mobile-Chrome-linux.png deleted file mode 100644 index a02b4ff04d..0000000000 Binary files a/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-no-spinner-diff-md-rtl-Mobile-Chrome-linux.png and /dev/null differ diff --git a/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-no-spinner-diff-md-rtl-Mobile-Firefox-linux.png b/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-no-spinner-diff-md-rtl-Mobile-Firefox-linux.png deleted file mode 100644 index 62ac92c923..0000000000 Binary files a/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-no-spinner-diff-md-rtl-Mobile-Firefox-linux.png and /dev/null differ diff --git a/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-no-spinner-diff-md-rtl-Mobile-Safari-linux.png b/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-no-spinner-diff-md-rtl-Mobile-Safari-linux.png deleted file mode 100644 index 21f9c0a768..0000000000 Binary files a/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-no-spinner-diff-md-rtl-Mobile-Safari-linux.png and /dev/null differ diff --git a/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-translucent-diff-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-translucent-diff-ios-rtl-Mobile-Chrome-linux.png deleted file mode 100644 index d6b61047b7..0000000000 Binary files a/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-translucent-diff-ios-rtl-Mobile-Chrome-linux.png and /dev/null differ diff --git a/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-translucent-diff-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-translucent-diff-ios-rtl-Mobile-Firefox-linux.png deleted file mode 100644 index 4c68dcf027..0000000000 Binary files a/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-translucent-diff-ios-rtl-Mobile-Firefox-linux.png and /dev/null differ diff --git a/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-translucent-diff-ios-rtl-Mobile-Safari-linux.png b/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-translucent-diff-ios-rtl-Mobile-Safari-linux.png deleted file mode 100644 index e0f94f41a6..0000000000 Binary files a/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-translucent-diff-ios-rtl-Mobile-Safari-linux.png and /dev/null differ diff --git a/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-translucent-diff-md-ltr-Mobile-Chrome-linux.png b/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-translucent-diff-md-ltr-Mobile-Chrome-linux.png deleted file mode 100644 index 05c0824b84..0000000000 Binary files a/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-translucent-diff-md-ltr-Mobile-Chrome-linux.png and /dev/null differ diff --git a/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-translucent-diff-md-ltr-Mobile-Firefox-linux.png b/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-translucent-diff-md-ltr-Mobile-Firefox-linux.png deleted file mode 100644 index 94db69b664..0000000000 Binary files a/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-translucent-diff-md-ltr-Mobile-Firefox-linux.png and /dev/null differ diff --git a/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-translucent-diff-md-ltr-Mobile-Safari-linux.png b/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-translucent-diff-md-ltr-Mobile-Safari-linux.png deleted file mode 100644 index 4181da62a8..0000000000 Binary files a/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-translucent-diff-md-ltr-Mobile-Safari-linux.png and /dev/null differ diff --git a/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-translucent-diff-md-rtl-Mobile-Chrome-linux.png b/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-translucent-diff-md-rtl-Mobile-Chrome-linux.png deleted file mode 100644 index 09e07bfc6f..0000000000 Binary files a/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-translucent-diff-md-rtl-Mobile-Chrome-linux.png and /dev/null differ diff --git a/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-translucent-diff-md-rtl-Mobile-Firefox-linux.png b/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-translucent-diff-md-rtl-Mobile-Firefox-linux.png deleted file mode 100644 index 1e99896b03..0000000000 Binary files a/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-translucent-diff-md-rtl-Mobile-Firefox-linux.png and /dev/null differ diff --git a/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-translucent-diff-md-rtl-Mobile-Safari-linux.png b/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-translucent-diff-md-rtl-Mobile-Safari-linux.png deleted file mode 100644 index 4873bef857..0000000000 Binary files a/core/src/components/loading/test/basic/loading.e2e.ts-snapshots/loading-translucent-diff-md-rtl-Mobile-Safari-linux.png and /dev/null differ diff --git a/core/src/components/loading/test/basic/loading.spec.tsx b/core/src/components/loading/test/basic/loading.spec.tsx new file mode 100644 index 0000000000..768beffe22 --- /dev/null +++ b/core/src/components/loading/test/basic/loading.spec.tsx @@ -0,0 +1,17 @@ +import { h } from '@stencil/core'; +import { newSpecPage } from '@stencil/core/testing'; + +import { Loading } from '../../loading'; + +describe('loading: htmlAttributes inheritance', () => { + it('should correctly inherit attributes on host', async () => { + const page = await newSpecPage({ + components: [Loading], + template: () => , + }); + + const loading = page.body.querySelector('ion-loading'); + + await expect(loading.getAttribute('data-testid')).toBe('basic-loading'); + }); +}); diff --git a/core/src/components/loading/test/is-open/loading.e2e.ts b/core/src/components/loading/test/is-open/loading.e2e.ts index babc4d9bd4..9a3020b2d0 100644 --- a/core/src/components/loading/test/is-open/loading.e2e.ts +++ b/core/src/components/loading/test/is-open/loading.e2e.ts @@ -6,29 +6,19 @@ import { configs, test } from '@utils/test/playwright'; */ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) => { test.describe(title('loading: isOpen'), () => { - test.beforeEach(async ({ page }) => { + test('should open and close the loading indicator', async ({ page }) => { await page.goto('/src/components/loading/test/is-open', config); - }); - test('should open the loading indicator', async ({ page }) => { const ionLoadingDidPresent = await page.spyOnEvent('ionLoadingDidPresent'); + const ionLoadingDidDismiss = await page.spyOnEvent('ionLoadingDidDismiss'); const loading = page.locator('ion-loading'); await page.click('#default'); await ionLoadingDidPresent.next(); await expect(loading).toBeVisible(); - }); - test('should open the loading indicator then close after a timeout', async ({ page }) => { - const ionLoadingDidPresent = await page.spyOnEvent('ionLoadingDidPresent'); - const ionLoadingDidDismiss = await page.spyOnEvent('ionLoadingDidDismiss'); - const loading = page.locator('ion-loading'); - - await page.click('#timeout'); - - await ionLoadingDidPresent.next(); - await expect(loading).toBeVisible(); + await loading.evaluate((el: HTMLIonLoadingElement) => (el.isOpen = false)); await ionLoadingDidDismiss.next(); await expect(loading).toBeHidden(); diff --git a/core/src/components/loading/test/standalone/loading.e2e.ts b/core/src/components/loading/test/standalone/loading.e2e.ts index 0f15cf6acd..993105ac29 100644 --- a/core/src/components/loading/test/standalone/loading.e2e.ts +++ b/core/src/components/loading/test/standalone/loading.e2e.ts @@ -1,26 +1,23 @@ import { expect } from '@playwright/test'; import { configs, test } from '@utils/test/playwright'; -configs().forEach(({ title, screenshot, config }) => { +configs().forEach(({ title, config }) => { test.describe(title('loading: standalone'), () => { - test.beforeEach(async ({ page }) => { - await page.goto('/src/components/loading/test/standalone', config); - }); test('should open a basic loader', async ({ page }) => { + await page.goto('/src/components/loading/test/standalone', config); + const ionLoadingDidPresent = await page.spyOnEvent('ionLoadingDidPresent'); const ionLoadingDidDismiss = await page.spyOnEvent('ionLoadingDidPresent'); + const loading = page.locator('ion-loading'); await page.click('#basic-loading'); await ionLoadingDidPresent.next(); + await expect(loading).toBeVisible(); - await expect(page).toHaveScreenshot(screenshot(`loading-standalone-diff`)); - - const loading = page.locator('ion-loading'); await loading.evaluate((el: HTMLIonLoadingElement) => el.dismiss()); await ionLoadingDidDismiss.next(); - await expect(loading).toBeHidden(); }); }); diff --git a/core/src/components/loading/test/standalone/loading.e2e.ts-snapshots/loading-standalone-diff-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/loading/test/standalone/loading.e2e.ts-snapshots/loading-standalone-diff-ios-ltr-Mobile-Chrome-linux.png deleted file mode 100644 index dc08dabbf1..0000000000 Binary files a/core/src/components/loading/test/standalone/loading.e2e.ts-snapshots/loading-standalone-diff-ios-ltr-Mobile-Chrome-linux.png and /dev/null differ diff --git a/core/src/components/loading/test/standalone/loading.e2e.ts-snapshots/loading-standalone-diff-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/loading/test/standalone/loading.e2e.ts-snapshots/loading-standalone-diff-ios-ltr-Mobile-Firefox-linux.png deleted file mode 100644 index f1b1156a85..0000000000 Binary files a/core/src/components/loading/test/standalone/loading.e2e.ts-snapshots/loading-standalone-diff-ios-ltr-Mobile-Firefox-linux.png and /dev/null differ diff --git a/core/src/components/loading/test/standalone/loading.e2e.ts-snapshots/loading-standalone-diff-ios-ltr-Mobile-Safari-linux.png b/core/src/components/loading/test/standalone/loading.e2e.ts-snapshots/loading-standalone-diff-ios-ltr-Mobile-Safari-linux.png deleted file mode 100644 index 3f1cca73c0..0000000000 Binary files a/core/src/components/loading/test/standalone/loading.e2e.ts-snapshots/loading-standalone-diff-ios-ltr-Mobile-Safari-linux.png and /dev/null differ diff --git a/core/src/components/loading/test/standalone/loading.e2e.ts-snapshots/loading-standalone-diff-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/loading/test/standalone/loading.e2e.ts-snapshots/loading-standalone-diff-ios-rtl-Mobile-Chrome-linux.png deleted file mode 100644 index e0fa97e6e8..0000000000 Binary files a/core/src/components/loading/test/standalone/loading.e2e.ts-snapshots/loading-standalone-diff-ios-rtl-Mobile-Chrome-linux.png and /dev/null differ diff --git a/core/src/components/loading/test/standalone/loading.e2e.ts-snapshots/loading-standalone-diff-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/loading/test/standalone/loading.e2e.ts-snapshots/loading-standalone-diff-ios-rtl-Mobile-Firefox-linux.png deleted file mode 100644 index 572074c298..0000000000 Binary files a/core/src/components/loading/test/standalone/loading.e2e.ts-snapshots/loading-standalone-diff-ios-rtl-Mobile-Firefox-linux.png and /dev/null differ diff --git a/core/src/components/loading/test/standalone/loading.e2e.ts-snapshots/loading-standalone-diff-ios-rtl-Mobile-Safari-linux.png b/core/src/components/loading/test/standalone/loading.e2e.ts-snapshots/loading-standalone-diff-ios-rtl-Mobile-Safari-linux.png deleted file mode 100644 index 29eb21c4f4..0000000000 Binary files a/core/src/components/loading/test/standalone/loading.e2e.ts-snapshots/loading-standalone-diff-ios-rtl-Mobile-Safari-linux.png and /dev/null differ diff --git a/core/src/components/loading/test/standalone/loading.e2e.ts-snapshots/loading-standalone-diff-md-ltr-Mobile-Chrome-linux.png b/core/src/components/loading/test/standalone/loading.e2e.ts-snapshots/loading-standalone-diff-md-ltr-Mobile-Chrome-linux.png deleted file mode 100644 index 3df6571fc6..0000000000 Binary files a/core/src/components/loading/test/standalone/loading.e2e.ts-snapshots/loading-standalone-diff-md-ltr-Mobile-Chrome-linux.png and /dev/null differ diff --git a/core/src/components/loading/test/standalone/loading.e2e.ts-snapshots/loading-standalone-diff-md-ltr-Mobile-Firefox-linux.png b/core/src/components/loading/test/standalone/loading.e2e.ts-snapshots/loading-standalone-diff-md-ltr-Mobile-Firefox-linux.png deleted file mode 100644 index f063ee2e20..0000000000 Binary files a/core/src/components/loading/test/standalone/loading.e2e.ts-snapshots/loading-standalone-diff-md-ltr-Mobile-Firefox-linux.png and /dev/null differ diff --git a/core/src/components/loading/test/standalone/loading.e2e.ts-snapshots/loading-standalone-diff-md-ltr-Mobile-Safari-linux.png b/core/src/components/loading/test/standalone/loading.e2e.ts-snapshots/loading-standalone-diff-md-ltr-Mobile-Safari-linux.png deleted file mode 100644 index 8da3ea350f..0000000000 Binary files a/core/src/components/loading/test/standalone/loading.e2e.ts-snapshots/loading-standalone-diff-md-ltr-Mobile-Safari-linux.png and /dev/null differ diff --git a/core/src/components/loading/test/standalone/loading.e2e.ts-snapshots/loading-standalone-diff-md-rtl-Mobile-Chrome-linux.png b/core/src/components/loading/test/standalone/loading.e2e.ts-snapshots/loading-standalone-diff-md-rtl-Mobile-Chrome-linux.png deleted file mode 100644 index 2cc6e4b4ec..0000000000 Binary files a/core/src/components/loading/test/standalone/loading.e2e.ts-snapshots/loading-standalone-diff-md-rtl-Mobile-Chrome-linux.png and /dev/null differ diff --git a/core/src/components/loading/test/standalone/loading.e2e.ts-snapshots/loading-standalone-diff-md-rtl-Mobile-Firefox-linux.png b/core/src/components/loading/test/standalone/loading.e2e.ts-snapshots/loading-standalone-diff-md-rtl-Mobile-Firefox-linux.png deleted file mode 100644 index 45051182da..0000000000 Binary files a/core/src/components/loading/test/standalone/loading.e2e.ts-snapshots/loading-standalone-diff-md-rtl-Mobile-Firefox-linux.png and /dev/null differ diff --git a/core/src/components/loading/test/standalone/loading.e2e.ts-snapshots/loading-standalone-diff-md-rtl-Mobile-Safari-linux.png b/core/src/components/loading/test/standalone/loading.e2e.ts-snapshots/loading-standalone-diff-md-rtl-Mobile-Safari-linux.png deleted file mode 100644 index 9220899dad..0000000000 Binary files a/core/src/components/loading/test/standalone/loading.e2e.ts-snapshots/loading-standalone-diff-md-rtl-Mobile-Safari-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/a11y/modal.e2e-legacy.ts b/core/src/components/modal/test/a11y/modal.e2e-legacy.ts deleted file mode 100644 index 6a040388a2..0000000000 --- a/core/src/components/modal/test/a11y/modal.e2e-legacy.ts +++ /dev/null @@ -1,39 +0,0 @@ -import AxeBuilder from '@axe-core/playwright'; -import { expect } from '@playwright/test'; -import { test } from '@utils/test/playwright'; - -test.describe('modal: a11y', () => { - test.beforeEach(async ({ skip }) => { - skip.rtl(); - skip.mode('md'); - }); - - test('should not have accessibility violations', async ({ page }) => { - await page.goto(`/src/components/modal/test/a11y`); - - const ionModalDidPresent = await page.spyOnEvent('ionModalDidPresent'); - const button = page.locator('#open-modal'); - const modal = page.locator('ion-modal .modal-wrapper'); - - await expect(modal).toHaveAttribute('role', 'dialog'); - - await button.click(); - await ionModalDidPresent.next(); - - const results = await new AxeBuilder({ page }).analyze(); - expect(results.violations).toEqual([]); - }); - - test('should allow for custom role', async ({ page }) => { - /** - * Note: This example should not be used in production. - * This only serves to check that `role` can be customized. - */ - await page.setContent(` - - `); - const modal = page.locator('ion-modal .modal-wrapper'); - - await expect(modal).toHaveAttribute('role', 'alertdialog'); - }); -}); diff --git a/core/src/components/modal/test/a11y/modal.e2e.ts b/core/src/components/modal/test/a11y/modal.e2e.ts new file mode 100644 index 0000000000..5aef2cda0d --- /dev/null +++ b/core/src/components/modal/test/a11y/modal.e2e.ts @@ -0,0 +1,23 @@ +import AxeBuilder from '@axe-core/playwright'; +import { expect } from '@playwright/test'; +import { configs, test } from '@utils/test/playwright'; + +configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) => { + test.describe(title('modal: a11y'), () => { + test('should not have accessibility violations', async ({ page }) => { + await page.goto(`/src/components/modal/test/a11y`, config); + + const ionModalDidPresent = await page.spyOnEvent('ionModalDidPresent'); + const button = page.locator('#open-modal'); + const modal = page.locator('ion-modal .modal-wrapper'); + + await expect(modal).toHaveAttribute('role', 'dialog'); + + await button.click(); + await ionModalDidPresent.next(); + + const results = await new AxeBuilder({ page }).analyze(); + expect(results.violations).toEqual([]); + }); + }); +}); diff --git a/core/src/components/modal/test/a11y/modal.spec.ts b/core/src/components/modal/test/a11y/modal.spec.ts new file mode 100644 index 0000000000..3c21a77438 --- /dev/null +++ b/core/src/components/modal/test/a11y/modal.spec.ts @@ -0,0 +1,23 @@ +import { newSpecPage } from '@stencil/core/testing'; + +import { Modal } from '../../modal'; + +describe('modal: a11y', () => { + it('should allow for custom role', async () => { + /** + * Note: This example should not be used in production. + * This only serves to check that `role` can be customized. + */ + const page = await newSpecPage({ + components: [Modal], + html: ` + + `, + }); + + const modal = page.body.querySelector('ion-modal'); + const modalWrapper = modal.shadowRoot.querySelector('.modal-wrapper'); + + await expect(modalWrapper.getAttribute('role')).toBe('alertdialog'); + }); +}); diff --git a/core/src/components/modal/test/basic/modal.e2e-legacy.ts b/core/src/components/modal/test/basic/modal.e2e-legacy.ts deleted file mode 100644 index c44d38303b..0000000000 --- a/core/src/components/modal/test/basic/modal.e2e-legacy.ts +++ /dev/null @@ -1,184 +0,0 @@ -import { expect } from '@playwright/test'; -import { test, Viewports } from '@utils/test/playwright'; -import type { E2EPage } from '@utils/test/playwright'; - -test.describe('modal: focus trapping', () => { - test.beforeEach(async ({ skip }) => { - skip.rtl(); - skip.mode('md'); - skip.browser('firefox', 'Firefox incorrectly allows keyboard focus to move to ion-content'); - }); - test('focus should be trapped inside of modal', async ({ page, browserName }) => { - /** - * The default WebKit behavior is to - * highlight items on webpages with Option-Tab. - * See "Press Tab to highlight each item on a webpage" - * in Safari Preferences > Advanced. - */ - const tabKey = browserName === 'webkit' ? 'Alt+Tab' : 'Tab'; - await page.goto('/src/components/modal/test/basic'); - const ionModalDidPresent = await page.spyOnEvent('ionModalDidPresent'); - - await page.click('#basic-modal'); - - await ionModalDidPresent.next(); - - const dismissButton = page.locator('ion-button.dismiss'); - - await page.keyboard.press(tabKey); - await expect(dismissButton).toBeFocused(); - - await page.keyboard.press(`Shift+${tabKey}`); - - await expect(dismissButton).toBeFocused(); - - await page.keyboard.press(tabKey); - await expect(dismissButton).toBeFocused(); - }); - - test('focus should be returned to previously focused element when dismissing modal', async ({ - page, - browserName, - }) => { - await page.goto('/src/components/modal/test/basic'); - const ionModalDidPresent = await page.spyOnEvent('ionModalDidPresent'); - const ionModalDidDismiss = await page.spyOnEvent('ionModalDidDismiss'); - const modalButton = page.locator('#basic-modal'); - const tabKey = browserName === 'webkit' ? 'Alt+Tab' : 'Tab'; - - // Focus #basic-modal button - await page.keyboard.press(tabKey); - await expect(modalButton).toBeFocused(); - - await page.keyboard.press('Space'); - await ionModalDidPresent.next(); - - await page.keyboard.press('Escape'); - await ionModalDidDismiss.next(); - - await expect(modalButton).toBeFocused(); - }); -}); - -test.describe('modal: rendering', () => { - const runVisualTests = async (page: E2EPage, screenshotModifier = '') => { - await page.goto('/src/components/modal/test/basic'); - - const ionModalWillDismiss = await page.spyOnEvent('ionModalWillDismiss'); - const ionModalDidDismiss = await page.spyOnEvent('ionModalDidDismiss'); - const ionModalWillPresent = await page.spyOnEvent('ionModalWillPresent'); - const ionModalDidPresent = await page.spyOnEvent('ionModalDidPresent'); - - await page.click('#basic-modal'); - - await ionModalWillPresent.next(); - await ionModalDidPresent.next(); - - const modal = page.locator('ion-modal'); - await expect(modal).toHaveClass(/show-modal/); - - await page.setIonViewport(); - - await expect(page).toHaveScreenshot(`modal-basic-present-${screenshotModifier}${page.getSnapshotSettings()}.png`); - - await modal.evaluate((el: HTMLIonModalElement) => { - el.dismiss(); - }); - - await ionModalWillDismiss.next(); - await ionModalDidDismiss.next(); - - await expect(modal).not.toHaveClass(/show-modal/); - await expect(modal).toBeHidden(); - }; - - test('should not have visual regressions', async ({ page }) => { - await runVisualTests(page); - }); - test('should not have visual regressions with tablet viewport', async ({ page }) => { - await page.setViewportSize(Viewports.tablet.portrait); - await runVisualTests(page, 'tablet-'); - }); -}); - -test.describe('modal: htmlAttributes inheritance', () => { - test('should correctly inherit attributes on host', async ({ page, skip }) => { - skip.rtl(); - skip.mode('md'); - await page.goto('/src/components/modal/test/basic'); - const ionModalDidPresent = await page.spyOnEvent('ionModalDidPresent'); - - await page.click('#basic-modal'); - - await ionModalDidPresent.next(); - - const modal = page.locator('ion-modal'); - - const attribute = await modal.getAttribute('data-testid'); - expect(attribute).toBe('basic-modal'); - }); -}); - -test.describe('modal: backdrop', () => { - test.beforeEach(async ({ page, skip }) => { - skip.rtl(); - skip.mode('md'); - await page.goto('/src/components/modal/test/basic'); - }); - - test('it should dismiss the modal when clicking the backdrop', async ({ page }) => { - await page.setViewportSize(Viewports.tablet.portrait); - - const ionModalDidPresent = await page.spyOnEvent('ionModalDidPresent'); - const ionModalDidDismiss = await page.spyOnEvent('ionModalDidDismiss'); - - await page.click('#basic-modal'); - await ionModalDidPresent.next(); - - await page.mouse.click(20, 20); - await ionModalDidDismiss.next(); - }); -}); - -test.describe('modal: incorrect usage', () => { - test.beforeEach(async ({ page, skip }) => { - skip.rtl(); - skip.mode('md'); - await page.goto('/src/components/modal/test/basic'); - }); - - test('it should warn when setting a breakpoint on a non-sheet modal', async ({ page }) => { - const ionModalDidPresent = await page.spyOnEvent('ionModalDidPresent'); - - const warnings: string[] = []; - - page.on('console', (ev) => { - if (ev.type() === 'warning') { - warnings.push(ev.text()); - } - }); - - await page.click('#basic-modal'); - await ionModalDidPresent.next(); - - const modal = page.locator('ion-modal'); - await modal.evaluate((el: HTMLIonModalElement) => el.setCurrentBreakpoint(0.5)); - - expect(warnings.length).toBe(1); - expect(warnings[0]).toBe('[Ionic Warning]: setCurrentBreakpoint is only supported on sheet modals.'); - }); - - test('it should return undefined when getting the breakpoint on a non-sheet modal', async ({ page }) => { - const ionModalDidPresent = await page.spyOnEvent('ionModalDidPresent'); - - await page.click('#basic-modal'); - await ionModalDidPresent.next(); - - const modal = page.locator('ion-modal'); - const breakpoint = await modal.evaluate((el: HTMLIonModalElement) => { - return el.getCurrentBreakpoint(); - }); - - expect(breakpoint).toBe(undefined); - }); -}); diff --git a/core/src/components/modal/test/basic/modal.e2e.ts b/core/src/components/modal/test/basic/modal.e2e.ts new file mode 100644 index 0000000000..f431b6fe46 --- /dev/null +++ b/core/src/components/modal/test/basic/modal.e2e.ts @@ -0,0 +1,165 @@ +import { expect } from '@playwright/test'; +import { configs, test, Viewports } from '@utils/test/playwright'; +import type { E2EPage } from '@utils/test/playwright'; + +configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) => { + test.describe(title('modal: focus trapping'), () => { + test.beforeEach(async ({ skip }) => { + skip.browser('firefox', 'Firefox incorrectly allows keyboard focus to move to ion-content'); + }); + test('focus should be trapped inside of modal', async ({ page, browserName }) => { + /** + * The default WebKit behavior is to + * highlight items on webpages with Option-Tab. + * See "Press Tab to highlight each item on a webpage" + * in Safari Preferences > Advanced. + */ + const tabKey = browserName === 'webkit' ? 'Alt+Tab' : 'Tab'; + await page.goto('/src/components/modal/test/basic', config); + const ionModalDidPresent = await page.spyOnEvent('ionModalDidPresent'); + + await page.click('#basic-modal'); + + await ionModalDidPresent.next(); + + const dismissButton = page.locator('ion-button.dismiss'); + + await page.keyboard.press(tabKey); + await expect(dismissButton).toBeFocused(); + + await page.keyboard.press(`Shift+${tabKey}`); + + await expect(dismissButton).toBeFocused(); + + await page.keyboard.press(tabKey); + await expect(dismissButton).toBeFocused(); + }); + + test('focus should be returned to previously focused element when dismissing modal', async ({ + page, + browserName, + }) => { + await page.goto('/src/components/modal/test/basic', config); + const ionModalDidPresent = await page.spyOnEvent('ionModalDidPresent'); + const ionModalDidDismiss = await page.spyOnEvent('ionModalDidDismiss'); + const modalButton = page.locator('#basic-modal'); + const tabKey = browserName === 'webkit' ? 'Alt+Tab' : 'Tab'; + + // Focus #basic-modal button + await page.keyboard.press(tabKey); + await expect(modalButton).toBeFocused(); + + await page.keyboard.press('Space'); + await ionModalDidPresent.next(); + + await page.keyboard.press('Escape'); + await ionModalDidDismiss.next(); + + await expect(modalButton).toBeFocused(); + }); + }); +}); + +configs().forEach(({ title, screenshot, config }) => { + test.describe(title('modal: rendering'), () => { + const runVisualTests = async (page: E2EPage, screenshotModifier = '') => { + await page.goto('/src/components/modal/test/basic', config); + + const ionModalWillDismiss = await page.spyOnEvent('ionModalWillDismiss'); + const ionModalDidDismiss = await page.spyOnEvent('ionModalDidDismiss'); + const ionModalWillPresent = await page.spyOnEvent('ionModalWillPresent'); + const ionModalDidPresent = await page.spyOnEvent('ionModalDidPresent'); + + await page.click('#basic-modal'); + + await ionModalWillPresent.next(); + await ionModalDidPresent.next(); + + const modal = page.locator('ion-modal'); + await expect(modal).toHaveClass(/show-modal/); + + await page.setIonViewport(); + + await expect(page).toHaveScreenshot(screenshot(`modal-basic-present${screenshotModifier}`)); + + await modal.evaluate((el: HTMLIonModalElement) => { + el.dismiss(); + }); + + await ionModalWillDismiss.next(); + await ionModalDidDismiss.next(); + + await expect(modal).not.toHaveClass(/show-modal/); + await expect(modal).toBeHidden(); + }; + + test('should not have visual regressions', async ({ page }) => { + await runVisualTests(page); + }); + test('should not have visual regressions with tablet viewport', async ({ page }) => { + await page.setViewportSize(Viewports.tablet.portrait); + await runVisualTests(page, '-tablet'); + }); + }); +}); + +configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) => { + test.describe(title('modal: backdrop'), () => { + test.beforeEach(async ({ page }) => { + await page.goto('/src/components/modal/test/basic', config); + }); + + test('it should dismiss the modal when clicking the backdrop', async ({ page }) => { + await page.setViewportSize(Viewports.tablet.portrait); + + const ionModalDidPresent = await page.spyOnEvent('ionModalDidPresent'); + const ionModalDidDismiss = await page.spyOnEvent('ionModalDidDismiss'); + + await page.click('#basic-modal'); + await ionModalDidPresent.next(); + + await page.mouse.click(20, 20); + await ionModalDidDismiss.next(); + }); + }); + test.describe(title('modal: incorrect usage'), () => { + test.beforeEach(async ({ page }) => { + await page.goto('/src/components/modal/test/basic', config); + }); + + test('it should warn when setting a breakpoint on a non-sheet modal', async ({ page }) => { + const ionModalDidPresent = await page.spyOnEvent('ionModalDidPresent'); + + const warnings: string[] = []; + + page.on('console', (ev) => { + if (ev.type() === 'warning') { + warnings.push(ev.text()); + } + }); + + await page.click('#basic-modal'); + await ionModalDidPresent.next(); + + const modal = page.locator('ion-modal'); + await modal.evaluate((el: HTMLIonModalElement) => el.setCurrentBreakpoint(0.5)); + + expect(warnings.length).toBe(1); + expect(warnings[0]).toBe('[Ionic Warning]: setCurrentBreakpoint is only supported on sheet modals.'); + }); + + test('it should return undefined when getting the breakpoint on a non-sheet modal', async ({ page }) => { + const ionModalDidPresent = await page.spyOnEvent('ionModalDidPresent'); + + await page.click('#basic-modal'); + await ionModalDidPresent.next(); + + const modal = page.locator('ion-modal'); + const breakpoint = await modal.evaluate((el: HTMLIonModalElement) => { + return el.getCurrentBreakpoint(); + }); + + expect(breakpoint).toBe(undefined); + }); + }); +}); diff --git a/core/src/components/modal/test/basic/modal.e2e-legacy.ts-snapshots/modal-basic-present-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-ios-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/modal/test/basic/modal.e2e-legacy.ts-snapshots/modal-basic-present-ios-ltr-Mobile-Chrome-linux.png rename to core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-ios-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/modal/test/basic/modal.e2e-legacy.ts-snapshots/modal-basic-present-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-ios-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/modal/test/basic/modal.e2e-legacy.ts-snapshots/modal-basic-present-ios-ltr-Mobile-Firefox-linux.png rename to core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-ios-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/modal/test/basic/modal.e2e-legacy.ts-snapshots/modal-basic-present-ios-ltr-Mobile-Safari-linux.png b/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-ios-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/modal/test/basic/modal.e2e-legacy.ts-snapshots/modal-basic-present-ios-ltr-Mobile-Safari-linux.png rename to core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-ios-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/modal/test/basic/modal.e2e-legacy.ts-snapshots/modal-basic-present-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-ios-rtl-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/modal/test/basic/modal.e2e-legacy.ts-snapshots/modal-basic-present-ios-rtl-Mobile-Chrome-linux.png rename to core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-ios-rtl-Mobile-Chrome-linux.png diff --git a/core/src/components/modal/test/basic/modal.e2e-legacy.ts-snapshots/modal-basic-present-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-ios-rtl-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/modal/test/basic/modal.e2e-legacy.ts-snapshots/modal-basic-present-ios-rtl-Mobile-Firefox-linux.png rename to core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-ios-rtl-Mobile-Firefox-linux.png diff --git a/core/src/components/modal/test/basic/modal.e2e-legacy.ts-snapshots/modal-basic-present-ios-rtl-Mobile-Safari-linux.png b/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-ios-rtl-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/modal/test/basic/modal.e2e-legacy.ts-snapshots/modal-basic-present-ios-rtl-Mobile-Safari-linux.png rename to core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-ios-rtl-Mobile-Safari-linux.png diff --git a/core/src/components/modal/test/basic/modal.e2e-legacy.ts-snapshots/modal-basic-present-md-ltr-Mobile-Chrome-linux.png b/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-md-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/modal/test/basic/modal.e2e-legacy.ts-snapshots/modal-basic-present-md-ltr-Mobile-Chrome-linux.png rename to core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-md-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/modal/test/basic/modal.e2e-legacy.ts-snapshots/modal-basic-present-md-ltr-Mobile-Firefox-linux.png b/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-md-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/modal/test/basic/modal.e2e-legacy.ts-snapshots/modal-basic-present-md-ltr-Mobile-Firefox-linux.png rename to core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-md-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/modal/test/basic/modal.e2e-legacy.ts-snapshots/modal-basic-present-md-ltr-Mobile-Safari-linux.png b/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-md-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/modal/test/basic/modal.e2e-legacy.ts-snapshots/modal-basic-present-md-ltr-Mobile-Safari-linux.png rename to core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-md-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/modal/test/basic/modal.e2e-legacy.ts-snapshots/modal-basic-present-md-rtl-Mobile-Chrome-linux.png b/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-md-rtl-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/modal/test/basic/modal.e2e-legacy.ts-snapshots/modal-basic-present-md-rtl-Mobile-Chrome-linux.png rename to core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-md-rtl-Mobile-Chrome-linux.png diff --git a/core/src/components/modal/test/basic/modal.e2e-legacy.ts-snapshots/modal-basic-present-md-rtl-Mobile-Firefox-linux.png b/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-md-rtl-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/modal/test/basic/modal.e2e-legacy.ts-snapshots/modal-basic-present-md-rtl-Mobile-Firefox-linux.png rename to core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-md-rtl-Mobile-Firefox-linux.png diff --git a/core/src/components/modal/test/basic/modal.e2e-legacy.ts-snapshots/modal-basic-present-md-rtl-Mobile-Safari-linux.png b/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-md-rtl-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/modal/test/basic/modal.e2e-legacy.ts-snapshots/modal-basic-present-md-rtl-Mobile-Safari-linux.png rename to core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-md-rtl-Mobile-Safari-linux.png diff --git a/core/src/components/modal/test/basic/modal.e2e-legacy.ts-snapshots/modal-basic-present-tablet-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-tablet-ios-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/modal/test/basic/modal.e2e-legacy.ts-snapshots/modal-basic-present-tablet-ios-ltr-Mobile-Chrome-linux.png rename to core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-tablet-ios-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/modal/test/basic/modal.e2e-legacy.ts-snapshots/modal-basic-present-tablet-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-tablet-ios-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/modal/test/basic/modal.e2e-legacy.ts-snapshots/modal-basic-present-tablet-ios-ltr-Mobile-Firefox-linux.png rename to core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-tablet-ios-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/modal/test/basic/modal.e2e-legacy.ts-snapshots/modal-basic-present-tablet-ios-ltr-Mobile-Safari-linux.png b/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-tablet-ios-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/modal/test/basic/modal.e2e-legacy.ts-snapshots/modal-basic-present-tablet-ios-ltr-Mobile-Safari-linux.png rename to core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-tablet-ios-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/modal/test/basic/modal.e2e-legacy.ts-snapshots/modal-basic-present-tablet-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-tablet-ios-rtl-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/modal/test/basic/modal.e2e-legacy.ts-snapshots/modal-basic-present-tablet-ios-rtl-Mobile-Chrome-linux.png rename to core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-tablet-ios-rtl-Mobile-Chrome-linux.png diff --git a/core/src/components/modal/test/basic/modal.e2e-legacy.ts-snapshots/modal-basic-present-tablet-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-tablet-ios-rtl-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/modal/test/basic/modal.e2e-legacy.ts-snapshots/modal-basic-present-tablet-ios-rtl-Mobile-Firefox-linux.png rename to core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-tablet-ios-rtl-Mobile-Firefox-linux.png diff --git a/core/src/components/modal/test/basic/modal.e2e-legacy.ts-snapshots/modal-basic-present-tablet-ios-rtl-Mobile-Safari-linux.png b/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-tablet-ios-rtl-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/modal/test/basic/modal.e2e-legacy.ts-snapshots/modal-basic-present-tablet-ios-rtl-Mobile-Safari-linux.png rename to core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-tablet-ios-rtl-Mobile-Safari-linux.png diff --git a/core/src/components/modal/test/basic/modal.e2e-legacy.ts-snapshots/modal-basic-present-tablet-md-ltr-Mobile-Chrome-linux.png b/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-tablet-md-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/modal/test/basic/modal.e2e-legacy.ts-snapshots/modal-basic-present-tablet-md-ltr-Mobile-Chrome-linux.png rename to core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-tablet-md-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/modal/test/basic/modal.e2e-legacy.ts-snapshots/modal-basic-present-tablet-md-ltr-Mobile-Firefox-linux.png b/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-tablet-md-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/modal/test/basic/modal.e2e-legacy.ts-snapshots/modal-basic-present-tablet-md-ltr-Mobile-Firefox-linux.png rename to core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-tablet-md-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/modal/test/basic/modal.e2e-legacy.ts-snapshots/modal-basic-present-tablet-md-ltr-Mobile-Safari-linux.png b/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-tablet-md-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/modal/test/basic/modal.e2e-legacy.ts-snapshots/modal-basic-present-tablet-md-ltr-Mobile-Safari-linux.png rename to core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-tablet-md-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/modal/test/basic/modal.e2e-legacy.ts-snapshots/modal-basic-present-tablet-md-rtl-Mobile-Chrome-linux.png b/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-tablet-md-rtl-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/modal/test/basic/modal.e2e-legacy.ts-snapshots/modal-basic-present-tablet-md-rtl-Mobile-Chrome-linux.png rename to core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-tablet-md-rtl-Mobile-Chrome-linux.png diff --git a/core/src/components/modal/test/basic/modal.e2e-legacy.ts-snapshots/modal-basic-present-tablet-md-rtl-Mobile-Firefox-linux.png b/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-tablet-md-rtl-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/modal/test/basic/modal.e2e-legacy.ts-snapshots/modal-basic-present-tablet-md-rtl-Mobile-Firefox-linux.png rename to core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-tablet-md-rtl-Mobile-Firefox-linux.png diff --git a/core/src/components/modal/test/basic/modal.e2e-legacy.ts-snapshots/modal-basic-present-tablet-md-rtl-Mobile-Safari-linux.png b/core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-tablet-md-rtl-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/modal/test/basic/modal.e2e-legacy.ts-snapshots/modal-basic-present-tablet-md-rtl-Mobile-Safari-linux.png rename to core/src/components/modal/test/basic/modal.e2e.ts-snapshots/modal-basic-present-tablet-md-rtl-Mobile-Safari-linux.png diff --git a/core/src/components/modal/test/basic/modal.spec.tsx b/core/src/components/modal/test/basic/modal.spec.tsx new file mode 100644 index 0000000000..adecf53d7a --- /dev/null +++ b/core/src/components/modal/test/basic/modal.spec.tsx @@ -0,0 +1,17 @@ +import { h } from '@stencil/core'; +import { newSpecPage } from '@stencil/core/testing'; + +import { Modal } from '../../modal'; + +describe('modal: htmlAttributes inheritance', () => { + it('should correctly inherit attributes on host', async () => { + const page = await newSpecPage({ + components: [Modal], + template: () => , + }); + + const modal = page.body.querySelector('ion-modal'); + + await expect(modal.getAttribute('data-testid')).toBe('basic-modal'); + }); +}); diff --git a/core/src/components/modal/test/can-dismiss/index.html b/core/src/components/modal/test/can-dismiss/index.html index d0ed369978..837b7245ec 100644 --- a/core/src/components/modal/test/can-dismiss/index.html +++ b/core/src/components/modal/test/can-dismiss/index.html @@ -35,163 +35,74 @@ -
- - + Sheet Modal / canDismiss = true + Sheet Modal / canDismiss = false + Sheet Modal / canDismiss = Promise(true) + Sheet Modal / canDismiss = Promise(false) -
- - - - -
- - - - -
- - - - -
- - - -
- - - -
- - Show Modal + Card Modal / canDismiss = true + Card Modal / canDismiss = false + Card Modal / canDismiss = Promise(true) + Card Modal / canDismiss = Promise(false)
- `); - - const modal = page.locator('ion-modal'); - const dismissButton = page.locator('#dismiss'); - const openButton = page.locator('#open-modal'); - const setBreakpointButton = page.locator('#set-breakpoint'); - - const ionModalDidPresent = await page.spyOnEvent('ionModalDidPresent'); - const ionModalDidDismiss = await page.spyOnEvent('ionModalDidDismiss'); - const ionBreakpointDidChange = await page.spyOnEvent('ionBreakpointDidChange'); - - await openButton.click(); - await ionModalDidPresent.next(); - - await setBreakpointButton.click(); - await ionBreakpointDidChange.next(); - - await dismissButton.click(); - await ionModalDidDismiss.next(); - - await openButton.click(); - await ionModalDidPresent.next(); - - const breakpoint = await modal.evaluate((el: HTMLIonModalElement) => el.getCurrentBreakpoint()); - - expect(breakpoint).toBe(0.25); - - await setBreakpointButton.click(); - await ionBreakpointDidChange.next(); - - const updatedBreakpoint = await modal.evaluate((el: HTMLIonModalElement) => el.getCurrentBreakpoint()); - - expect(updatedBreakpoint).toBe(0.5); - }); -}); - -test.describe('sheet modal: clicking the handle', () => { - test.beforeEach(async ({ page, skip }) => { - skip.rtl(); - await page.goto('/src/components/modal/test/sheet'); - }); - - test('should advance to the next breakpoint when handleBehavior is cycle', async ({ page }) => { - const ionBreakpointDidChange = await page.spyOnEvent('ionBreakpointDidChange'); - const ionModalDidPresent = await page.spyOnEvent('ionModalDidPresent'); - const modal = page.locator('ion-modal'); - - await page.click('#handle-behavior-cycle-modal'); - await ionModalDidPresent.next(); - - const handle = page.locator('ion-modal .modal-handle'); - - await handle.click(); - await ionBreakpointDidChange.next(); - - await expect(await modal.evaluate((el: HTMLIonModalElement) => el.getCurrentBreakpoint())).toBe(0.5); - - await handle.click(); - await ionBreakpointDidChange.next(); - - await expect(await modal.evaluate((el: HTMLIonModalElement) => el.getCurrentBreakpoint())).toBe(0.75); - - await handle.click(); - await ionBreakpointDidChange.next(); - - await expect(await modal.evaluate((el: HTMLIonModalElement) => el.getCurrentBreakpoint())).toBe(1); - - await handle.click(); - await ionBreakpointDidChange.next(); - - // Advancing from the last breakpoint should change the breakpoint to the first non-zero breakpoint - await expect(await modal.evaluate((el: HTMLIonModalElement) => el.getCurrentBreakpoint())).toBe(0.25); - }); - - test('should not advance the breakpoint when handleBehavior is none', async ({ page }) => { - const ionModalDidPresent = await page.spyOnEvent('ionModalDidPresent'); - const modal = page.locator('ion-modal'); - - await page.click('#sheet-modal'); - await ionModalDidPresent.next(); - - const handle = page.locator('ion-modal .modal-handle'); - - await handle.click(); - - await expect(await modal.evaluate((el: HTMLIonModalElement) => el.getCurrentBreakpoint())).toBe(0.25); - }); - - test('should not dismiss the modal when backdrop is clicked and breakpoint is moving', async ({ page }) => { - const ionBreakpointDidChange = await page.spyOnEvent('ionBreakpointDidChange'); - const ionModalDidPresent = await page.spyOnEvent('ionModalDidPresent'); - const modal = page.locator('ion-modal'); - - await page.click('#handle-behavior-cycle-modal'); - await ionModalDidPresent.next(); - - const handle = page.locator('ion-modal .modal-handle'); - const backdrop = page.locator('ion-modal ion-backdrop'); - - await handle.click(); - backdrop.click(); - - await ionBreakpointDidChange.next(); - - await handle.click(); - - await ionBreakpointDidChange.next(); - - await expect(await modal.evaluate((el: HTMLIonModalElement) => el.getCurrentBreakpoint())).toBe(0.75); - }); -}); diff --git a/core/src/components/modal/test/sheet/modal.e2e-legacy.ts-snapshots/modal-sheet-present-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/modal/test/sheet/modal.e2e-legacy.ts-snapshots/modal-sheet-present-ios-rtl-Mobile-Chrome-linux.png deleted file mode 100644 index 5f6fd8dce6..0000000000 Binary files a/core/src/components/modal/test/sheet/modal.e2e-legacy.ts-snapshots/modal-sheet-present-ios-rtl-Mobile-Chrome-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/sheet/modal.e2e-legacy.ts-snapshots/modal-sheet-present-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/modal/test/sheet/modal.e2e-legacy.ts-snapshots/modal-sheet-present-ios-rtl-Mobile-Firefox-linux.png deleted file mode 100644 index 2f5e15d07a..0000000000 Binary files a/core/src/components/modal/test/sheet/modal.e2e-legacy.ts-snapshots/modal-sheet-present-ios-rtl-Mobile-Firefox-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/sheet/modal.e2e-legacy.ts-snapshots/modal-sheet-present-ios-rtl-Mobile-Safari-linux.png b/core/src/components/modal/test/sheet/modal.e2e-legacy.ts-snapshots/modal-sheet-present-ios-rtl-Mobile-Safari-linux.png deleted file mode 100644 index cd483c8336..0000000000 Binary files a/core/src/components/modal/test/sheet/modal.e2e-legacy.ts-snapshots/modal-sheet-present-ios-rtl-Mobile-Safari-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/sheet/modal.e2e-legacy.ts-snapshots/modal-sheet-present-md-rtl-Mobile-Chrome-linux.png b/core/src/components/modal/test/sheet/modal.e2e-legacy.ts-snapshots/modal-sheet-present-md-rtl-Mobile-Chrome-linux.png deleted file mode 100644 index f0c54a8742..0000000000 Binary files a/core/src/components/modal/test/sheet/modal.e2e-legacy.ts-snapshots/modal-sheet-present-md-rtl-Mobile-Chrome-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/sheet/modal.e2e-legacy.ts-snapshots/modal-sheet-present-md-rtl-Mobile-Firefox-linux.png b/core/src/components/modal/test/sheet/modal.e2e-legacy.ts-snapshots/modal-sheet-present-md-rtl-Mobile-Firefox-linux.png deleted file mode 100644 index 8aeeeeff76..0000000000 Binary files a/core/src/components/modal/test/sheet/modal.e2e-legacy.ts-snapshots/modal-sheet-present-md-rtl-Mobile-Firefox-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/sheet/modal.e2e-legacy.ts-snapshots/modal-sheet-present-md-rtl-Mobile-Safari-linux.png b/core/src/components/modal/test/sheet/modal.e2e-legacy.ts-snapshots/modal-sheet-present-md-rtl-Mobile-Safari-linux.png deleted file mode 100644 index 7b3cf20b4d..0000000000 Binary files a/core/src/components/modal/test/sheet/modal.e2e-legacy.ts-snapshots/modal-sheet-present-md-rtl-Mobile-Safari-linux.png and /dev/null differ diff --git a/core/src/components/modal/test/sheet/modal.e2e.ts b/core/src/components/modal/test/sheet/modal.e2e.ts new file mode 100644 index 0000000000..51a0eea2c3 --- /dev/null +++ b/core/src/components/modal/test/sheet/modal.e2e.ts @@ -0,0 +1,279 @@ +import { expect } from '@playwright/test'; +import { configs, test, dragElementBy } from '@utils/test/playwright'; + +configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => { + test.describe(title('sheet modal: rendering'), () => { + test('should not have visual regressions', async ({ page }) => { + await page.goto('/src/components/modal/test/sheet', config); + const ionModalDidPresent = await page.spyOnEvent('ionModalDidPresent'); + + await page.click('#sheet-modal'); + + await ionModalDidPresent.next(); + + await expect(page).toHaveScreenshot(screenshot(`modal-sheet-present`)); + }); + }); +}); + +configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) => { + test.describe(title('sheet modal: backdrop'), () => { + test.beforeEach(async ({ page }) => { + await page.goto('/src/components/modal/test/sheet', config); + }); + test('should dismiss the sheet modal when clicking the active backdrop', async ({ page }) => { + const ionModalDidPresent = await page.spyOnEvent('ionModalDidPresent'); + const ionModalDidDismiss = await page.spyOnEvent('ionModalDidDismiss'); + + await page.click('#backdrop-active'); + + await ionModalDidPresent.next(); + + await page.mouse.click(50, 50); + + await ionModalDidDismiss.next(); + }); + test('should present another sheet modal when clicking an inactive backdrop', async ({ page }) => { + const ionModalDidPresent = await page.spyOnEvent('ionModalDidPresent'); + const modal = page.locator('.custom-height'); + + await page.click('#backdrop-inactive'); + await ionModalDidPresent.next(); + + await page.click('#custom-height-modal'); + await ionModalDidPresent.next(); + + await expect(modal).toBeVisible(); + }); + test('input outside sheet modal should be focusable when backdrop is inactive', async ({ page }) => { + const ionModalDidPresent = await page.spyOnEvent('ionModalDidPresent'); + + await page.click('#backdrop-inactive'); + + await ionModalDidPresent.next(); + + const input = page.locator('#root-input input').first(); + await input.click(); + await expect(input).toBeFocused(); + }); + }); + test.describe(title('sheet modal: setting the breakpoint'), () => { + test.describe('sheet modal: invalid values', () => { + let warnings: string[] = []; + test.beforeEach(async ({ page }) => { + await page.goto('/src/components/modal/test/sheet', config); + + warnings = []; + + page.on('console', (ev) => { + if (ev.type() === 'warning') { + warnings.push(ev.text()); + } + }); + + const ionModalDidPresent = await page.spyOnEvent('ionModalDidPresent'); + + await page.click('#sheet-modal'); + await ionModalDidPresent.next(); + + const modal = page.locator('ion-modal'); + await modal.evaluate((el: HTMLIonModalElement) => el.setCurrentBreakpoint(0.01)); + }); + test('it should not change the breakpoint when setting to an invalid value', async ({ page }) => { + const modal = page.locator('ion-modal'); + const breakpoint = await modal.evaluate((el: HTMLIonModalElement) => el.getCurrentBreakpoint()); + expect(breakpoint).toBe(0.25); + }); + test('it should warn when setting an invalid breakpoint', async () => { + expect(warnings.length).toBe(1); + expect(warnings[0]).toBe( + '[Ionic Warning]: Attempted to set invalid breakpoint value 0.01. Please double check that the breakpoint value is part of your defined breakpoints.' + ); + }); + }); + test.describe('sheet modal: valid values', () => { + test.beforeEach(async ({ page }) => { + await page.goto('/src/components/modal/test/sheet', config); + const ionModalDidPresent = await page.spyOnEvent('ionModalDidPresent'); + + await page.click('#sheet-modal'); + await ionModalDidPresent.next(); + }); + test('should update the current breakpoint', async ({ page }) => { + const ionBreakpointDidChange = await page.spyOnEvent('ionBreakpointDidChange'); + const modal = page.locator('.modal-sheet'); + + await modal.evaluate((el: HTMLIonModalElement) => el.setCurrentBreakpoint(0.5)); + await ionBreakpointDidChange.next(); + + const breakpoint = await modal.evaluate((el: HTMLIonModalElement) => el.getCurrentBreakpoint()); + expect(breakpoint).toBe(0.5); + }); + test('should emit ionBreakpointDidChange', async ({ page }) => { + const ionBreakpointDidChange = await page.spyOnEvent('ionBreakpointDidChange'); + const modal = page.locator('.modal-sheet'); + + await modal.evaluate((el: HTMLIonModalElement) => el.setCurrentBreakpoint(0.5)); + await ionBreakpointDidChange.next(); + expect(ionBreakpointDidChange.events.length).toBe(1); + }); + test('should emit ionBreakpointDidChange when breakpoint is set to 0', async ({ page }) => { + const ionBreakpointDidChange = await page.spyOnEvent('ionBreakpointDidChange'); + const modal = page.locator('.modal-sheet'); + + await modal.evaluate((el: HTMLIonModalElement) => el.setCurrentBreakpoint(0)); + await ionBreakpointDidChange.next(); + expect(ionBreakpointDidChange.events.length).toBe(1); + }); + test('should emit ionBreakpointDidChange when the sheet is swiped to breakpoint 0', async ({ page }) => { + const ionBreakpointDidChange = await page.spyOnEvent('ionBreakpointDidChange'); + const header = page.locator('.modal-sheet ion-header'); + + await dragElementBy(header, page, 0, 500); + + await ionBreakpointDidChange.next(); + + expect(ionBreakpointDidChange.events.length).toBe(1); + }); + }); + + test('it should reset the breakpoint value on dismiss', async ({ page }) => { + await page.goto('/src/components/modal/test/sheet', config); + test.info().annotations.push({ + type: 'issue', + description: 'https://github.com/ionic-team/ionic-framework/issues/25245', + }); + + await page.setContent( + ` + + Open + + + Dismiss + Set breakpoint + + + + + `, + config + ); + + const modal = page.locator('ion-modal'); + const dismissButton = page.locator('#dismiss'); + const openButton = page.locator('#open-modal'); + const setBreakpointButton = page.locator('#set-breakpoint'); + + const ionModalDidPresent = await page.spyOnEvent('ionModalDidPresent'); + const ionModalDidDismiss = await page.spyOnEvent('ionModalDidDismiss'); + const ionBreakpointDidChange = await page.spyOnEvent('ionBreakpointDidChange'); + + await openButton.click(); + await ionModalDidPresent.next(); + + await setBreakpointButton.click(); + await ionBreakpointDidChange.next(); + + await dismissButton.click(); + await ionModalDidDismiss.next(); + + await openButton.click(); + await ionModalDidPresent.next(); + + const breakpoint = await modal.evaluate((el: HTMLIonModalElement) => el.getCurrentBreakpoint()); + + expect(breakpoint).toBe(0.25); + + await setBreakpointButton.click(); + await ionBreakpointDidChange.next(); + + const updatedBreakpoint = await modal.evaluate((el: HTMLIonModalElement) => el.getCurrentBreakpoint()); + + expect(updatedBreakpoint).toBe(0.5); + }); + }); + test.describe(title('sheet modal: clicking the handle'), () => { + test.beforeEach(async ({ page }) => { + await page.goto('/src/components/modal/test/sheet', config); + }); + + test('should advance to the next breakpoint when handleBehavior is cycle', async ({ page }) => { + const ionBreakpointDidChange = await page.spyOnEvent('ionBreakpointDidChange'); + const ionModalDidPresent = await page.spyOnEvent('ionModalDidPresent'); + const modal = page.locator('ion-modal'); + + await page.click('#handle-behavior-cycle-modal'); + await ionModalDidPresent.next(); + + const handle = page.locator('ion-modal .modal-handle'); + + await handle.click(); + await ionBreakpointDidChange.next(); + + await expect(await modal.evaluate((el: HTMLIonModalElement) => el.getCurrentBreakpoint())).toBe(0.5); + + await handle.click(); + await ionBreakpointDidChange.next(); + + await expect(await modal.evaluate((el: HTMLIonModalElement) => el.getCurrentBreakpoint())).toBe(0.75); + + await handle.click(); + await ionBreakpointDidChange.next(); + + await expect(await modal.evaluate((el: HTMLIonModalElement) => el.getCurrentBreakpoint())).toBe(1); + + await handle.click(); + await ionBreakpointDidChange.next(); + + // Advancing from the last breakpoint should change the breakpoint to the first non-zero breakpoint + await expect(await modal.evaluate((el: HTMLIonModalElement) => el.getCurrentBreakpoint())).toBe(0.25); + }); + + test('should not advance the breakpoint when handleBehavior is none', async ({ page }) => { + const ionModalDidPresent = await page.spyOnEvent('ionModalDidPresent'); + const modal = page.locator('ion-modal'); + + await page.click('#sheet-modal'); + await ionModalDidPresent.next(); + + const handle = page.locator('ion-modal .modal-handle'); + + await handle.click(); + + await expect(await modal.evaluate((el: HTMLIonModalElement) => el.getCurrentBreakpoint())).toBe(0.25); + }); + + test('should not dismiss the modal when backdrop is clicked and breakpoint is moving', async ({ page }) => { + const ionBreakpointDidChange = await page.spyOnEvent('ionBreakpointDidChange'); + const ionModalDidPresent = await page.spyOnEvent('ionModalDidPresent'); + const modal = page.locator('ion-modal'); + + await page.click('#handle-behavior-cycle-modal'); + await ionModalDidPresent.next(); + + const handle = page.locator('ion-modal .modal-handle'); + const backdrop = page.locator('ion-modal ion-backdrop'); + + await handle.click(); + backdrop.click(); + + await ionBreakpointDidChange.next(); + + await handle.click(); + + await ionBreakpointDidChange.next(); + + await expect(await modal.evaluate((el: HTMLIonModalElement) => el.getCurrentBreakpoint())).toBe(0.75); + }); + }); +}); diff --git a/core/src/components/modal/test/sheet/modal.e2e-legacy.ts-snapshots/modal-sheet-present-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/modal/test/sheet/modal.e2e.ts-snapshots/modal-sheet-present-ios-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/modal/test/sheet/modal.e2e-legacy.ts-snapshots/modal-sheet-present-ios-ltr-Mobile-Chrome-linux.png rename to core/src/components/modal/test/sheet/modal.e2e.ts-snapshots/modal-sheet-present-ios-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/modal/test/sheet/modal.e2e-legacy.ts-snapshots/modal-sheet-present-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/modal/test/sheet/modal.e2e.ts-snapshots/modal-sheet-present-ios-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/modal/test/sheet/modal.e2e-legacy.ts-snapshots/modal-sheet-present-ios-ltr-Mobile-Firefox-linux.png rename to core/src/components/modal/test/sheet/modal.e2e.ts-snapshots/modal-sheet-present-ios-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/modal/test/sheet/modal.e2e-legacy.ts-snapshots/modal-sheet-present-ios-ltr-Mobile-Safari-linux.png b/core/src/components/modal/test/sheet/modal.e2e.ts-snapshots/modal-sheet-present-ios-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/modal/test/sheet/modal.e2e-legacy.ts-snapshots/modal-sheet-present-ios-ltr-Mobile-Safari-linux.png rename to core/src/components/modal/test/sheet/modal.e2e.ts-snapshots/modal-sheet-present-ios-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/modal/test/sheet/modal.e2e-legacy.ts-snapshots/modal-sheet-present-md-ltr-Mobile-Chrome-linux.png b/core/src/components/modal/test/sheet/modal.e2e.ts-snapshots/modal-sheet-present-md-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/modal/test/sheet/modal.e2e-legacy.ts-snapshots/modal-sheet-present-md-ltr-Mobile-Chrome-linux.png rename to core/src/components/modal/test/sheet/modal.e2e.ts-snapshots/modal-sheet-present-md-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/modal/test/sheet/modal.e2e-legacy.ts-snapshots/modal-sheet-present-md-ltr-Mobile-Firefox-linux.png b/core/src/components/modal/test/sheet/modal.e2e.ts-snapshots/modal-sheet-present-md-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/modal/test/sheet/modal.e2e-legacy.ts-snapshots/modal-sheet-present-md-ltr-Mobile-Firefox-linux.png rename to core/src/components/modal/test/sheet/modal.e2e.ts-snapshots/modal-sheet-present-md-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/modal/test/sheet/modal.e2e-legacy.ts-snapshots/modal-sheet-present-md-ltr-Mobile-Safari-linux.png b/core/src/components/modal/test/sheet/modal.e2e.ts-snapshots/modal-sheet-present-md-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/modal/test/sheet/modal.e2e-legacy.ts-snapshots/modal-sheet-present-md-ltr-Mobile-Safari-linux.png rename to core/src/components/modal/test/sheet/modal.e2e.ts-snapshots/modal-sheet-present-md-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/modal/test/standalone/modal.e2e-legacy.ts b/core/src/components/modal/test/standalone/modal.e2e-legacy.ts deleted file mode 100644 index 70195ef99d..0000000000 --- a/core/src/components/modal/test/standalone/modal.e2e-legacy.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { test } from '@utils/test/playwright'; - -test.describe('modal: standalone', () => { - test('should open even without an ion-app', async ({ page, skip }) => { - skip.rtl(); - skip.mode('md'); - await page.goto('/src/components/modal/test/standalone'); - const ionModalDidPresent = await page.spyOnEvent('ionModalDidPresent'); - const ionModalDidDismiss = await page.spyOnEvent('ionModalDidDismiss'); - - await page.click('#basic-modal'); - await ionModalDidPresent.next(); - - const modal = page.locator('ion-modal'); - await modal.evaluate((el: HTMLIonModalElement) => el.dismiss()); - - await ionModalDidDismiss.next(); - - await page.waitForSelector('ion-modal', { state: 'detached' }); - }); -}); diff --git a/core/src/components/modal/test/standalone/modal.e2e.ts b/core/src/components/modal/test/standalone/modal.e2e.ts new file mode 100644 index 0000000000..eaaa7a824f --- /dev/null +++ b/core/src/components/modal/test/standalone/modal.e2e.ts @@ -0,0 +1,21 @@ +import { configs, test } from '@utils/test/playwright'; + +configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) => { + test.describe(title('modal: standalone'), () => { + test('should open even without an ion-app', async ({ page }) => { + await page.goto('/src/components/modal/test/standalone', config); + const ionModalDidPresent = await page.spyOnEvent('ionModalDidPresent'); + const ionModalDidDismiss = await page.spyOnEvent('ionModalDidDismiss'); + + await page.click('#basic-modal'); + await ionModalDidPresent.next(); + + const modal = page.locator('ion-modal'); + await modal.evaluate((el: HTMLIonModalElement) => el.dismiss()); + + await ionModalDidDismiss.next(); + + await page.waitForSelector('ion-modal', { state: 'detached' }); + }); + }); +}); diff --git a/core/src/components/modal/test/trigger/modal.e2e-legacy.ts b/core/src/components/modal/test/trigger/modal.e2e-legacy.ts deleted file mode 100644 index adcc76dc41..0000000000 --- a/core/src/components/modal/test/trigger/modal.e2e-legacy.ts +++ /dev/null @@ -1,35 +0,0 @@ -import { expect } from '@playwright/test'; -import { test } from '@utils/test/playwright'; - -test.describe('modal: trigger', () => { - test.beforeEach(async ({ page, skip }) => { - skip.rtl(); - skip.mode('ios'); - await page.goto('/src/components/modal/test/trigger'); - }); - - test('should open modal by left clicking on trigger', async ({ page }) => { - const ionModalDidPresent = await page.spyOnEvent('ionModalDidPresent'); - - await page.click('#left-click-trigger'); - - await ionModalDidPresent.next(); - - const modal = page.locator('.left-click-modal'); - await expect(modal).toBeVisible(); - }); - - test('should still open modal when it has been removed and re-added to DOM', async ({ page }) => { - const button = page.locator('#left-click-trigger'); - const modal = page.locator('ion-modal'); - - await modal.evaluate((modal: HTMLIonModalElement) => { - modal.remove(); - document.querySelector('ion-button')?.insertAdjacentElement('afterend', modal); - }); - await page.waitForChanges(); - - await button.click(); - await expect(modal).toBeVisible(); - }); -}); diff --git a/core/src/components/modal/test/trigger/modal.e2e.ts b/core/src/components/modal/test/trigger/modal.e2e.ts new file mode 100644 index 0000000000..8513e2fbfb --- /dev/null +++ b/core/src/components/modal/test/trigger/modal.e2e.ts @@ -0,0 +1,35 @@ +import { expect } from '@playwright/test'; +import { configs, test } from '@utils/test/playwright'; + +configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => { + test.describe(title('modal: trigger'), () => { + test.beforeEach(async ({ page }) => { + await page.goto('/src/components/modal/test/trigger', config); + }); + + test('should open modal by left clicking on trigger', async ({ page }) => { + const ionModalDidPresent = await page.spyOnEvent('ionModalDidPresent'); + + await page.click('#left-click-trigger'); + + await ionModalDidPresent.next(); + + const modal = page.locator('.left-click-modal'); + await expect(modal).toBeVisible(); + }); + + test('should still open modal when it has been removed and re-added to DOM', async ({ page }) => { + const button = page.locator('#left-click-trigger'); + const modal = page.locator('ion-modal'); + + await modal.evaluate((modal: HTMLIonModalElement) => { + modal.remove(); + document.querySelector('ion-button')?.insertAdjacentElement('afterend', modal); + }); + await page.waitForChanges(); + + await button.click(); + await expect(modal).toBeVisible(); + }); + }); +}); diff --git a/core/src/components/picker-column/picker-column.tsx b/core/src/components/picker-column/picker-column.tsx index 58fb5ae5d4..75f0b07890 100644 --- a/core/src/components/picker-column/picker-column.tsx +++ b/core/src/components/picker-column/picker-column.tsx @@ -33,6 +33,14 @@ export class PickerColumnCmp implements ComponentInterface { private rafId?: ReturnType; private tmrId?: ReturnType; private noAnimate = true; + // `colDidChange` is a flag that gets set when the column is changed + // dynamically. When this flag is set, the column will refresh + // after the component re-renders to incorporate the new column data. + // This is necessary because `this.refresh` queries for the option elements, + // so it needs to wait for the latest elements to be available in the DOM. + // Ex: column is created with 3 options. User updates the column data + // to have 5 options. The column will still think it only has 3 options. + private colDidChange = false; @Element() el!: HTMLElement; @@ -46,7 +54,7 @@ export class PickerColumnCmp implements ComponentInterface { @Prop() col!: PickerColumn; @Watch('col') protected colChanged() { - this.refresh(); + this.colDidChange = true; } async connectedCallback() { @@ -74,21 +82,32 @@ export class PickerColumnCmp implements ComponentInterface { onEnd: (ev) => this.onEnd(ev), }); this.gesture.enable(); + // Options have not been initialized yet + // Animation must be disabled through the `noAnimate` flag + // Otherwise, the options will render + // at the top of the column and transition down this.tmrId = setTimeout(() => { this.noAnimate = false; + // After initialization, `refresh()` will be called + // At this point, animation will be enabled. The options will + // animate as they are being selected. this.refresh(true); }, 250); } componentDidLoad() { - const colEl = this.optsEl; - if (colEl) { - // DOM READ - // We perfom a DOM read over a rendered item, this needs to happen after the first render - this.optHeight = colEl.firstElementChild ? colEl.firstElementChild.clientHeight : 0; - } + this.onDomChange(); + } - this.refresh(); + componentDidUpdate() { + // Options may have changed since last update. + if (this.colDidChange) { + // Animation must be disabled through the `onDomChange` parameter. + // Otherwise, the recently added options will render + // at the top of the column and transition down + this.onDomChange(true, false); + this.colDidChange = false; + } } disconnectedCallback() { @@ -331,7 +350,7 @@ export class PickerColumnCmp implements ComponentInterface { } } - private refresh(forceRefresh?: boolean) { + private refresh(forceRefresh?: boolean, animated?: boolean) { let min = this.col.options.length - 1; let max = 0; const options = this.col.options; @@ -356,11 +375,22 @@ export class PickerColumnCmp implements ComponentInterface { const selectedIndex = clamp(min, this.col.selectedIndex ?? 0, max); if (this.col.prevSelected !== selectedIndex || forceRefresh) { const y = selectedIndex * this.optHeight * -1; + const duration = animated ? TRANSITION_DURATION : 0; this.velocity = 0; - this.update(y, TRANSITION_DURATION, true); + this.update(y, duration, true); } } + private onDomChange(forceRefresh?: boolean, animated?: boolean) { + const colEl = this.optsEl; + if (colEl) { + // DOM READ + // We perfom a DOM read over a rendered item, this needs to happen after the first render or after the the column has changed + this.optHeight = colEl.firstElementChild ? colEl.firstElementChild.clientHeight : 0; + } + this.refresh(forceRefresh, animated); + } + render() { const col = this.col; const mode = getIonMode(this); diff --git a/core/src/components/picker-column/test/picker-column-dynamic.spec.tsx b/core/src/components/picker-column/test/picker-column-dynamic.spec.tsx new file mode 100644 index 0000000000..f0f5fbe757 --- /dev/null +++ b/core/src/components/picker-column/test/picker-column-dynamic.spec.tsx @@ -0,0 +1,32 @@ +import { h } from '@stencil/core'; +import { newSpecPage } from '@stencil/core/testing'; + +import { PickerColumnCmp } from '../picker-column'; + +describe('picker-column: dynamic options', () => { + /** + * Issue: https://github.com/ionic-team/ionic-framework/issues/21763 + */ + it('should add an option', async () => { + const defaultOptions = [ + { text: 'Dog', value: 'dog' }, + { text: 'Cat', value: 'cat' }, + ]; + + const page = await newSpecPage({ + components: [PickerColumnCmp], + template: () => , + }); + + const pickerCol = page.body.querySelector('ion-picker-column'); + + pickerCol.col = { + options: [...defaultOptions, { text: 'Carrot', value: 'carrot' }], + }; + + await page.waitForChanges(); + + const pickerOpt = pickerCol.querySelector('.picker-opt:nth(2)'); + expect(pickerOpt.getAttribute('style')).toContain('transform'); + }); +}); diff --git a/core/src/components/picker-column/test/standalone/picker-column.e2e.ts b/core/src/components/picker-column/test/standalone/picker-column.e2e.ts index e92a253ae8..e25bdcbaa7 100644 --- a/core/src/components/picker-column/test/standalone/picker-column.e2e.ts +++ b/core/src/components/picker-column/test/standalone/picker-column.e2e.ts @@ -1,22 +1,20 @@ +import { expect } from '@playwright/test'; import { configs, test } from '@utils/test/playwright'; -import { testPickerColumn } from '../test.utils'; - -configs().forEach(({ title, screenshot, config }) => { +configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) => { test.describe(title('picker-column'), () => { - test.beforeEach(async ({ page }) => { + test('should present picker without ion-app', async ({ page }) => { await page.goto('/src/components/picker-column/test/standalone', config); - }); - test.describe('single column', () => { - test('should not have any visual regressions', async ({ page }) => { - await testPickerColumn(page, screenshot, '#single-column-button', 'single'); - }); - }); - test.describe('multiple columns', () => { - test('should not have any visual regressions', async ({ page }) => { - await testPickerColumn(page, screenshot, '#multiple-column-button', 'multiple'); - }); + const ionPickerDidPresent = await page.spyOnEvent('ionPickerDidPresent'); + + const picker = page.locator('ion-picker'); + + await page.click('#single-column-button'); + + await ionPickerDidPresent.next(); + + await expect(picker).toBeVisible(); }); }); }); diff --git a/core/src/components/picker-column/test/standalone/picker-column.e2e.ts-snapshots/picker-multiple-column-initial-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/picker-column/test/standalone/picker-column.e2e.ts-snapshots/picker-multiple-column-initial-ios-ltr-Mobile-Chrome-linux.png deleted file mode 100644 index 143db41213..0000000000 Binary files a/core/src/components/picker-column/test/standalone/picker-column.e2e.ts-snapshots/picker-multiple-column-initial-ios-ltr-Mobile-Chrome-linux.png and /dev/null differ diff --git a/core/src/components/picker-column/test/standalone/picker-column.e2e.ts-snapshots/picker-multiple-column-initial-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/picker-column/test/standalone/picker-column.e2e.ts-snapshots/picker-multiple-column-initial-ios-ltr-Mobile-Firefox-linux.png deleted file mode 100644 index 44cd530675..0000000000 Binary files a/core/src/components/picker-column/test/standalone/picker-column.e2e.ts-snapshots/picker-multiple-column-initial-ios-ltr-Mobile-Firefox-linux.png and /dev/null differ diff --git a/core/src/components/picker-column/test/standalone/picker-column.e2e.ts-snapshots/picker-multiple-column-initial-ios-ltr-Mobile-Safari-linux.png b/core/src/components/picker-column/test/standalone/picker-column.e2e.ts-snapshots/picker-multiple-column-initial-ios-ltr-Mobile-Safari-linux.png deleted file mode 100644 index f8495f83c8..0000000000 Binary files a/core/src/components/picker-column/test/standalone/picker-column.e2e.ts-snapshots/picker-multiple-column-initial-ios-ltr-Mobile-Safari-linux.png and /dev/null differ diff --git a/core/src/components/picker-column/test/standalone/picker-column.e2e.ts-snapshots/picker-multiple-column-initial-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/picker-column/test/standalone/picker-column.e2e.ts-snapshots/picker-multiple-column-initial-ios-rtl-Mobile-Chrome-linux.png deleted file mode 100644 index be4d070a02..0000000000 Binary files a/core/src/components/picker-column/test/standalone/picker-column.e2e.ts-snapshots/picker-multiple-column-initial-ios-rtl-Mobile-Chrome-linux.png and /dev/null differ diff --git a/core/src/components/picker-column/test/standalone/picker-column.e2e.ts-snapshots/picker-multiple-column-initial-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/picker-column/test/standalone/picker-column.e2e.ts-snapshots/picker-multiple-column-initial-ios-rtl-Mobile-Firefox-linux.png deleted file mode 100644 index 82681bb25c..0000000000 Binary files a/core/src/components/picker-column/test/standalone/picker-column.e2e.ts-snapshots/picker-multiple-column-initial-ios-rtl-Mobile-Firefox-linux.png and /dev/null differ diff --git a/core/src/components/picker-column/test/standalone/picker-column.e2e.ts-snapshots/picker-multiple-column-initial-ios-rtl-Mobile-Safari-linux.png b/core/src/components/picker-column/test/standalone/picker-column.e2e.ts-snapshots/picker-multiple-column-initial-ios-rtl-Mobile-Safari-linux.png deleted file mode 100644 index acd599e478..0000000000 Binary files a/core/src/components/picker-column/test/standalone/picker-column.e2e.ts-snapshots/picker-multiple-column-initial-ios-rtl-Mobile-Safari-linux.png and /dev/null differ diff --git a/core/src/components/picker-column/test/standalone/picker-column.e2e.ts-snapshots/picker-multiple-column-initial-md-ltr-Mobile-Chrome-linux.png b/core/src/components/picker-column/test/standalone/picker-column.e2e.ts-snapshots/picker-multiple-column-initial-md-ltr-Mobile-Chrome-linux.png deleted file mode 100644 index 4cea252d24..0000000000 Binary files a/core/src/components/picker-column/test/standalone/picker-column.e2e.ts-snapshots/picker-multiple-column-initial-md-ltr-Mobile-Chrome-linux.png and /dev/null differ diff --git a/core/src/components/picker-column/test/standalone/picker-column.e2e.ts-snapshots/picker-multiple-column-initial-md-ltr-Mobile-Firefox-linux.png b/core/src/components/picker-column/test/standalone/picker-column.e2e.ts-snapshots/picker-multiple-column-initial-md-ltr-Mobile-Firefox-linux.png deleted file mode 100644 index fa2ed945b4..0000000000 Binary files a/core/src/components/picker-column/test/standalone/picker-column.e2e.ts-snapshots/picker-multiple-column-initial-md-ltr-Mobile-Firefox-linux.png and /dev/null differ diff --git a/core/src/components/picker-column/test/standalone/picker-column.e2e.ts-snapshots/picker-multiple-column-initial-md-ltr-Mobile-Safari-linux.png b/core/src/components/picker-column/test/standalone/picker-column.e2e.ts-snapshots/picker-multiple-column-initial-md-ltr-Mobile-Safari-linux.png deleted file mode 100644 index fcef84c56b..0000000000 Binary files a/core/src/components/picker-column/test/standalone/picker-column.e2e.ts-snapshots/picker-multiple-column-initial-md-ltr-Mobile-Safari-linux.png and /dev/null differ diff --git a/core/src/components/picker-column/test/standalone/picker-column.e2e.ts-snapshots/picker-multiple-column-initial-md-rtl-Mobile-Chrome-linux.png b/core/src/components/picker-column/test/standalone/picker-column.e2e.ts-snapshots/picker-multiple-column-initial-md-rtl-Mobile-Chrome-linux.png deleted file mode 100644 index 00440256f8..0000000000 Binary files a/core/src/components/picker-column/test/standalone/picker-column.e2e.ts-snapshots/picker-multiple-column-initial-md-rtl-Mobile-Chrome-linux.png and /dev/null differ diff --git a/core/src/components/picker-column/test/standalone/picker-column.e2e.ts-snapshots/picker-multiple-column-initial-md-rtl-Mobile-Firefox-linux.png b/core/src/components/picker-column/test/standalone/picker-column.e2e.ts-snapshots/picker-multiple-column-initial-md-rtl-Mobile-Firefox-linux.png deleted file mode 100644 index e81c041b41..0000000000 Binary files a/core/src/components/picker-column/test/standalone/picker-column.e2e.ts-snapshots/picker-multiple-column-initial-md-rtl-Mobile-Firefox-linux.png and /dev/null differ diff --git a/core/src/components/picker-column/test/standalone/picker-column.e2e.ts-snapshots/picker-multiple-column-initial-md-rtl-Mobile-Safari-linux.png b/core/src/components/picker-column/test/standalone/picker-column.e2e.ts-snapshots/picker-multiple-column-initial-md-rtl-Mobile-Safari-linux.png deleted file mode 100644 index 0d1841aaac..0000000000 Binary files a/core/src/components/picker-column/test/standalone/picker-column.e2e.ts-snapshots/picker-multiple-column-initial-md-rtl-Mobile-Safari-linux.png and /dev/null differ diff --git a/core/src/components/picker-column/test/standalone/picker-column.e2e.ts-snapshots/picker-single-column-initial-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/picker-column/test/standalone/picker-column.e2e.ts-snapshots/picker-single-column-initial-ios-ltr-Mobile-Chrome-linux.png deleted file mode 100644 index 8d87455be9..0000000000 Binary files a/core/src/components/picker-column/test/standalone/picker-column.e2e.ts-snapshots/picker-single-column-initial-ios-ltr-Mobile-Chrome-linux.png and /dev/null differ diff --git a/core/src/components/picker-column/test/standalone/picker-column.e2e.ts-snapshots/picker-single-column-initial-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/picker-column/test/standalone/picker-column.e2e.ts-snapshots/picker-single-column-initial-ios-ltr-Mobile-Firefox-linux.png deleted file mode 100644 index 82cae36835..0000000000 Binary files a/core/src/components/picker-column/test/standalone/picker-column.e2e.ts-snapshots/picker-single-column-initial-ios-ltr-Mobile-Firefox-linux.png and /dev/null differ diff --git a/core/src/components/picker-column/test/standalone/picker-column.e2e.ts-snapshots/picker-single-column-initial-ios-ltr-Mobile-Safari-linux.png b/core/src/components/picker-column/test/standalone/picker-column.e2e.ts-snapshots/picker-single-column-initial-ios-ltr-Mobile-Safari-linux.png deleted file mode 100644 index 8399d94475..0000000000 Binary files a/core/src/components/picker-column/test/standalone/picker-column.e2e.ts-snapshots/picker-single-column-initial-ios-ltr-Mobile-Safari-linux.png and /dev/null differ diff --git a/core/src/components/picker-column/test/standalone/picker-column.e2e.ts-snapshots/picker-single-column-initial-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/picker-column/test/standalone/picker-column.e2e.ts-snapshots/picker-single-column-initial-ios-rtl-Mobile-Chrome-linux.png deleted file mode 100644 index ebf6abebca..0000000000 Binary files a/core/src/components/picker-column/test/standalone/picker-column.e2e.ts-snapshots/picker-single-column-initial-ios-rtl-Mobile-Chrome-linux.png and /dev/null differ diff --git a/core/src/components/picker-column/test/standalone/picker-column.e2e.ts-snapshots/picker-single-column-initial-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/picker-column/test/standalone/picker-column.e2e.ts-snapshots/picker-single-column-initial-ios-rtl-Mobile-Firefox-linux.png deleted file mode 100644 index be32a2b37b..0000000000 Binary files a/core/src/components/picker-column/test/standalone/picker-column.e2e.ts-snapshots/picker-single-column-initial-ios-rtl-Mobile-Firefox-linux.png and /dev/null differ diff --git a/core/src/components/picker-column/test/standalone/picker-column.e2e.ts-snapshots/picker-single-column-initial-ios-rtl-Mobile-Safari-linux.png b/core/src/components/picker-column/test/standalone/picker-column.e2e.ts-snapshots/picker-single-column-initial-ios-rtl-Mobile-Safari-linux.png deleted file mode 100644 index 4cf1c1bdc6..0000000000 Binary files a/core/src/components/picker-column/test/standalone/picker-column.e2e.ts-snapshots/picker-single-column-initial-ios-rtl-Mobile-Safari-linux.png and /dev/null differ diff --git a/core/src/components/picker-column/test/standalone/picker-column.e2e.ts-snapshots/picker-single-column-initial-md-ltr-Mobile-Chrome-linux.png b/core/src/components/picker-column/test/standalone/picker-column.e2e.ts-snapshots/picker-single-column-initial-md-ltr-Mobile-Chrome-linux.png deleted file mode 100644 index f63d16b653..0000000000 Binary files a/core/src/components/picker-column/test/standalone/picker-column.e2e.ts-snapshots/picker-single-column-initial-md-ltr-Mobile-Chrome-linux.png and /dev/null differ diff --git a/core/src/components/picker-column/test/standalone/picker-column.e2e.ts-snapshots/picker-single-column-initial-md-ltr-Mobile-Firefox-linux.png b/core/src/components/picker-column/test/standalone/picker-column.e2e.ts-snapshots/picker-single-column-initial-md-ltr-Mobile-Firefox-linux.png deleted file mode 100644 index 421d41b35e..0000000000 Binary files a/core/src/components/picker-column/test/standalone/picker-column.e2e.ts-snapshots/picker-single-column-initial-md-ltr-Mobile-Firefox-linux.png and /dev/null differ diff --git a/core/src/components/picker-column/test/standalone/picker-column.e2e.ts-snapshots/picker-single-column-initial-md-ltr-Mobile-Safari-linux.png b/core/src/components/picker-column/test/standalone/picker-column.e2e.ts-snapshots/picker-single-column-initial-md-ltr-Mobile-Safari-linux.png deleted file mode 100644 index 88d75074d5..0000000000 Binary files a/core/src/components/picker-column/test/standalone/picker-column.e2e.ts-snapshots/picker-single-column-initial-md-ltr-Mobile-Safari-linux.png and /dev/null differ diff --git a/core/src/components/picker-column/test/standalone/picker-column.e2e.ts-snapshots/picker-single-column-initial-md-rtl-Mobile-Chrome-linux.png b/core/src/components/picker-column/test/standalone/picker-column.e2e.ts-snapshots/picker-single-column-initial-md-rtl-Mobile-Chrome-linux.png deleted file mode 100644 index da13ffb5d8..0000000000 Binary files a/core/src/components/picker-column/test/standalone/picker-column.e2e.ts-snapshots/picker-single-column-initial-md-rtl-Mobile-Chrome-linux.png and /dev/null differ diff --git a/core/src/components/picker-column/test/standalone/picker-column.e2e.ts-snapshots/picker-single-column-initial-md-rtl-Mobile-Firefox-linux.png b/core/src/components/picker-column/test/standalone/picker-column.e2e.ts-snapshots/picker-single-column-initial-md-rtl-Mobile-Firefox-linux.png deleted file mode 100644 index d75fbb0b1c..0000000000 Binary files a/core/src/components/picker-column/test/standalone/picker-column.e2e.ts-snapshots/picker-single-column-initial-md-rtl-Mobile-Firefox-linux.png and /dev/null differ diff --git a/core/src/components/picker-column/test/standalone/picker-column.e2e.ts-snapshots/picker-single-column-initial-md-rtl-Mobile-Safari-linux.png b/core/src/components/picker-column/test/standalone/picker-column.e2e.ts-snapshots/picker-single-column-initial-md-rtl-Mobile-Safari-linux.png deleted file mode 100644 index 0c0a39befb..0000000000 Binary files a/core/src/components/picker-column/test/standalone/picker-column.e2e.ts-snapshots/picker-single-column-initial-md-rtl-Mobile-Safari-linux.png and /dev/null differ diff --git a/core/src/components/picker/test/is-open/picker.e2e.ts b/core/src/components/picker/test/is-open/picker.e2e.ts index d626c81ce5..ab977cdb43 100644 --- a/core/src/components/picker/test/is-open/picker.e2e.ts +++ b/core/src/components/picker/test/is-open/picker.e2e.ts @@ -6,29 +6,19 @@ import { configs, test } from '@utils/test/playwright'; */ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) => { test.describe(title('picker: isOpen'), () => { - test.beforeEach(async ({ page }) => { + test('should open and close the picker', async ({ page }) => { await page.goto('/src/components/picker/test/is-open', config); - }); - test('should open the picker', async ({ page }) => { const ionPickerDidPresent = await page.spyOnEvent('ionPickerDidPresent'); + const ionPickerDidDismiss = await page.spyOnEvent('ionPickerDidDismiss'); const picker = page.locator('ion-picker'); await page.click('#default'); await ionPickerDidPresent.next(); await expect(picker).toBeVisible(); - }); - test('should open the picker then close after a timeout', async ({ page }) => { - const ionPickerDidPresent = await page.spyOnEvent('ionPickerDidPresent'); - const ionPickerDidDismiss = await page.spyOnEvent('ionPickerDidDismiss'); - const picker = page.locator('ion-picker'); - - await page.click('#timeout'); - - await ionPickerDidPresent.next(); - await expect(picker).toBeVisible(); + await picker.evaluate((el: HTMLIonPickerElement) => (el.isOpen = false)); await ionPickerDidDismiss.next(); await expect(picker).toBeHidden(); diff --git a/core/src/components/popover/test/arrow/popover.e2e.ts-snapshots/popover-arrow-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/popover/test/arrow/popover.e2e.ts-snapshots/popover-arrow-ios-rtl-Mobile-Firefox-linux.png index 5351495d92..acedb197bf 100644 Binary files a/core/src/components/popover/test/arrow/popover.e2e.ts-snapshots/popover-arrow-ios-rtl-Mobile-Firefox-linux.png and b/core/src/components/popover/test/arrow/popover.e2e.ts-snapshots/popover-arrow-ios-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/popover/test/basic/popover.e2e.ts-snapshots/popover-basic-translucent-header-popover-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/popover/test/basic/popover.e2e.ts-snapshots/popover-basic-translucent-header-popover-ios-ltr-Mobile-Chrome-linux.png index ce8829bff5..363b4a2ca6 100644 Binary files a/core/src/components/popover/test/basic/popover.e2e.ts-snapshots/popover-basic-translucent-header-popover-ios-ltr-Mobile-Chrome-linux.png and b/core/src/components/popover/test/basic/popover.e2e.ts-snapshots/popover-basic-translucent-header-popover-ios-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/popover/test/basic/popover.e2e.ts-snapshots/popover-basic-translucent-header-popover-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/popover/test/basic/popover.e2e.ts-snapshots/popover-basic-translucent-header-popover-ios-ltr-Mobile-Firefox-linux.png index 83f1041149..dc664e06f2 100644 Binary files a/core/src/components/popover/test/basic/popover.e2e.ts-snapshots/popover-basic-translucent-header-popover-ios-ltr-Mobile-Firefox-linux.png and b/core/src/components/popover/test/basic/popover.e2e.ts-snapshots/popover-basic-translucent-header-popover-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/popover/test/basic/popover.e2e.ts-snapshots/popover-basic-translucent-header-popover-ios-ltr-Mobile-Safari-linux.png b/core/src/components/popover/test/basic/popover.e2e.ts-snapshots/popover-basic-translucent-header-popover-ios-ltr-Mobile-Safari-linux.png index 6ab9823f19..3952277982 100644 Binary files a/core/src/components/popover/test/basic/popover.e2e.ts-snapshots/popover-basic-translucent-header-popover-ios-ltr-Mobile-Safari-linux.png and b/core/src/components/popover/test/basic/popover.e2e.ts-snapshots/popover-basic-translucent-header-popover-ios-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/popover/test/position/popover.e2e.ts-snapshots/popover-position-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/popover/test/position/popover.e2e.ts-snapshots/popover-position-ios-rtl-Mobile-Firefox-linux.png index 73decfbfb4..8abcb19e5e 100644 Binary files a/core/src/components/popover/test/position/popover.e2e.ts-snapshots/popover-position-ios-rtl-Mobile-Firefox-linux.png and b/core/src/components/popover/test/position/popover.e2e.ts-snapshots/popover-position-ios-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/popover/test/reference/popover.e2e.ts-snapshots/popover-reference-event-trigger-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/popover/test/reference/popover.e2e.ts-snapshots/popover-reference-event-trigger-ios-ltr-Mobile-Firefox-linux.png index 934112c6aa..1ab6780ca4 100644 Binary files a/core/src/components/popover/test/reference/popover.e2e.ts-snapshots/popover-reference-event-trigger-ios-ltr-Mobile-Firefox-linux.png and b/core/src/components/popover/test/reference/popover.e2e.ts-snapshots/popover-reference-event-trigger-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/popover/test/reference/popover.e2e.ts-snapshots/popover-reference-event-trigger-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/popover/test/reference/popover.e2e.ts-snapshots/popover-reference-event-trigger-ios-rtl-Mobile-Firefox-linux.png index c8dadeae6e..4d949b444f 100644 Binary files a/core/src/components/popover/test/reference/popover.e2e.ts-snapshots/popover-reference-event-trigger-ios-rtl-Mobile-Firefox-linux.png and b/core/src/components/popover/test/reference/popover.e2e.ts-snapshots/popover-reference-event-trigger-ios-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/popover/test/reference/popover.e2e.ts-snapshots/popover-reference-event-trigger-md-ltr-Mobile-Firefox-linux.png b/core/src/components/popover/test/reference/popover.e2e.ts-snapshots/popover-reference-event-trigger-md-ltr-Mobile-Firefox-linux.png index 5b1569e0a0..5d1c993b5b 100644 Binary files a/core/src/components/popover/test/reference/popover.e2e.ts-snapshots/popover-reference-event-trigger-md-ltr-Mobile-Firefox-linux.png and b/core/src/components/popover/test/reference/popover.e2e.ts-snapshots/popover-reference-event-trigger-md-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/popover/test/reference/popover.e2e.ts-snapshots/popover-reference-event-trigger-md-rtl-Mobile-Firefox-linux.png b/core/src/components/popover/test/reference/popover.e2e.ts-snapshots/popover-reference-event-trigger-md-rtl-Mobile-Firefox-linux.png index 311bd9f6eb..eee02b0cc3 100644 Binary files a/core/src/components/popover/test/reference/popover.e2e.ts-snapshots/popover-reference-event-trigger-md-rtl-Mobile-Firefox-linux.png and b/core/src/components/popover/test/reference/popover.e2e.ts-snapshots/popover-reference-event-trigger-md-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/radio-group/test/basic/radio-group.e2e.ts-snapshots/radio-group-diff-md-ltr-Mobile-Chrome-linux.png b/core/src/components/radio-group/test/basic/radio-group.e2e.ts-snapshots/radio-group-diff-md-ltr-Mobile-Chrome-linux.png index 2fb3ccf237..8d63a4d1d2 100644 Binary files a/core/src/components/radio-group/test/basic/radio-group.e2e.ts-snapshots/radio-group-diff-md-ltr-Mobile-Chrome-linux.png and b/core/src/components/radio-group/test/basic/radio-group.e2e.ts-snapshots/radio-group-diff-md-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/radio-group/test/basic/radio-group.e2e.ts-snapshots/radio-group-diff-md-ltr-Mobile-Firefox-linux.png b/core/src/components/radio-group/test/basic/radio-group.e2e.ts-snapshots/radio-group-diff-md-ltr-Mobile-Firefox-linux.png index 85fa71cf2a..e5c930a208 100644 Binary files a/core/src/components/radio-group/test/basic/radio-group.e2e.ts-snapshots/radio-group-diff-md-ltr-Mobile-Firefox-linux.png and b/core/src/components/radio-group/test/basic/radio-group.e2e.ts-snapshots/radio-group-diff-md-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/radio-group/test/basic/radio-group.e2e.ts-snapshots/radio-group-diff-md-ltr-Mobile-Safari-linux.png b/core/src/components/radio-group/test/basic/radio-group.e2e.ts-snapshots/radio-group-diff-md-ltr-Mobile-Safari-linux.png index 1b2f20eb26..be2da9c94c 100644 Binary files a/core/src/components/radio-group/test/basic/radio-group.e2e.ts-snapshots/radio-group-diff-md-ltr-Mobile-Safari-linux.png and b/core/src/components/radio-group/test/basic/radio-group.e2e.ts-snapshots/radio-group-diff-md-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/radio-group/test/basic/radio-group.e2e.ts-snapshots/radio-group-diff-md-rtl-Mobile-Chrome-linux.png b/core/src/components/radio-group/test/basic/radio-group.e2e.ts-snapshots/radio-group-diff-md-rtl-Mobile-Chrome-linux.png index f3065ce179..94dad6ee5a 100644 Binary files a/core/src/components/radio-group/test/basic/radio-group.e2e.ts-snapshots/radio-group-diff-md-rtl-Mobile-Chrome-linux.png and b/core/src/components/radio-group/test/basic/radio-group.e2e.ts-snapshots/radio-group-diff-md-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/radio-group/test/basic/radio-group.e2e.ts-snapshots/radio-group-diff-md-rtl-Mobile-Firefox-linux.png b/core/src/components/radio-group/test/basic/radio-group.e2e.ts-snapshots/radio-group-diff-md-rtl-Mobile-Firefox-linux.png index 4f8364cdc8..8b61574006 100644 Binary files a/core/src/components/radio-group/test/basic/radio-group.e2e.ts-snapshots/radio-group-diff-md-rtl-Mobile-Firefox-linux.png and b/core/src/components/radio-group/test/basic/radio-group.e2e.ts-snapshots/radio-group-diff-md-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/radio-group/test/basic/radio-group.e2e.ts-snapshots/radio-group-diff-md-rtl-Mobile-Safari-linux.png b/core/src/components/radio-group/test/basic/radio-group.e2e.ts-snapshots/radio-group-diff-md-rtl-Mobile-Safari-linux.png index e3f99f64b7..8218e66c47 100644 Binary files a/core/src/components/radio-group/test/basic/radio-group.e2e.ts-snapshots/radio-group-diff-md-rtl-Mobile-Safari-linux.png and b/core/src/components/radio-group/test/basic/radio-group.e2e.ts-snapshots/radio-group-diff-md-rtl-Mobile-Safari-linux.png differ diff --git a/core/src/components/radio/radio.md.vars.scss b/core/src/components/radio/radio.md.vars.scss index 6b2fbccb57..b0aa4f4d02 100644 --- a/core/src/components/radio/radio.md.vars.scss +++ b/core/src/components/radio/radio.md.vars.scss @@ -11,7 +11,7 @@ $radio-md-color-on: current-color(base) !default; $radio-md-background-color-focused: ion-color(primary, tint) !default; /// @prop - Color of the unchecked radio -$radio-md-color-off: $text-color-step-600 !default; +$radio-md-color-off: rgb($text-color-rgb, 0.60) !default; /// @prop - Width of the radio icon $radio-md-icon-width: 20px !default; diff --git a/core/src/components/radio/test/basic/index.html b/core/src/components/radio/test/basic/index.html index 239d4786ea..2676076bfd 100644 --- a/core/src/components/radio/test/basic/index.html +++ b/core/src/components/radio/test/basic/index.html @@ -12,6 +12,13 @@ + + @@ -23,11 +30,20 @@ - Enable Notifications Enable Notifications Enable Notifications Enable Notifications Enable Notifications - Enable Notifications Enable Notifications Enable Notifications Enable Notifications Enable - Notifications +
+ + Unchecked + + + Checked + + + Disabled + + + Disabled, Checked + +
diff --git a/core/src/components/radio/test/color/radio.e2e.ts-snapshots/radio-color-unchecked-md-ltr-Mobile-Chrome-linux.png b/core/src/components/radio/test/color/radio.e2e.ts-snapshots/radio-color-unchecked-md-ltr-Mobile-Chrome-linux.png index 932b0fc909..7a94677ea1 100644 Binary files a/core/src/components/radio/test/color/radio.e2e.ts-snapshots/radio-color-unchecked-md-ltr-Mobile-Chrome-linux.png and b/core/src/components/radio/test/color/radio.e2e.ts-snapshots/radio-color-unchecked-md-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/radio/test/color/radio.e2e.ts-snapshots/radio-color-unchecked-md-ltr-Mobile-Firefox-linux.png b/core/src/components/radio/test/color/radio.e2e.ts-snapshots/radio-color-unchecked-md-ltr-Mobile-Firefox-linux.png index 0f20d881f0..866d10539a 100644 Binary files a/core/src/components/radio/test/color/radio.e2e.ts-snapshots/radio-color-unchecked-md-ltr-Mobile-Firefox-linux.png and b/core/src/components/radio/test/color/radio.e2e.ts-snapshots/radio-color-unchecked-md-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/radio/test/color/radio.e2e.ts-snapshots/radio-color-unchecked-md-ltr-Mobile-Safari-linux.png b/core/src/components/radio/test/color/radio.e2e.ts-snapshots/radio-color-unchecked-md-ltr-Mobile-Safari-linux.png index 57345851e3..e6f9593e29 100644 Binary files a/core/src/components/radio/test/color/radio.e2e.ts-snapshots/radio-color-unchecked-md-ltr-Mobile-Safari-linux.png and b/core/src/components/radio/test/color/radio.e2e.ts-snapshots/radio-color-unchecked-md-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/radio/test/item/radio.e2e.ts-snapshots/radio-inset-list-md-ltr-Mobile-Chrome-linux.png b/core/src/components/radio/test/item/radio.e2e.ts-snapshots/radio-inset-list-md-ltr-Mobile-Chrome-linux.png index ce1480b075..911da9ff4e 100644 Binary files a/core/src/components/radio/test/item/radio.e2e.ts-snapshots/radio-inset-list-md-ltr-Mobile-Chrome-linux.png and b/core/src/components/radio/test/item/radio.e2e.ts-snapshots/radio-inset-list-md-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/radio/test/item/radio.e2e.ts-snapshots/radio-inset-list-md-ltr-Mobile-Firefox-linux.png b/core/src/components/radio/test/item/radio.e2e.ts-snapshots/radio-inset-list-md-ltr-Mobile-Firefox-linux.png index 87af66b977..3141a89bd1 100644 Binary files a/core/src/components/radio/test/item/radio.e2e.ts-snapshots/radio-inset-list-md-ltr-Mobile-Firefox-linux.png and b/core/src/components/radio/test/item/radio.e2e.ts-snapshots/radio-inset-list-md-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/radio/test/item/radio.e2e.ts-snapshots/radio-inset-list-md-ltr-Mobile-Safari-linux.png b/core/src/components/radio/test/item/radio.e2e.ts-snapshots/radio-inset-list-md-ltr-Mobile-Safari-linux.png index 62d6c33cc1..6d2afece6b 100644 Binary files a/core/src/components/radio/test/item/radio.e2e.ts-snapshots/radio-inset-list-md-ltr-Mobile-Safari-linux.png and b/core/src/components/radio/test/item/radio.e2e.ts-snapshots/radio-inset-list-md-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/radio/test/item/radio.e2e.ts-snapshots/radio-inset-list-md-rtl-Mobile-Chrome-linux.png b/core/src/components/radio/test/item/radio.e2e.ts-snapshots/radio-inset-list-md-rtl-Mobile-Chrome-linux.png index 3d0302c25a..8145e978e2 100644 Binary files a/core/src/components/radio/test/item/radio.e2e.ts-snapshots/radio-inset-list-md-rtl-Mobile-Chrome-linux.png and b/core/src/components/radio/test/item/radio.e2e.ts-snapshots/radio-inset-list-md-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/radio/test/item/radio.e2e.ts-snapshots/radio-inset-list-md-rtl-Mobile-Firefox-linux.png b/core/src/components/radio/test/item/radio.e2e.ts-snapshots/radio-inset-list-md-rtl-Mobile-Firefox-linux.png index ef918eeeab..ecf1b25cd1 100644 Binary files a/core/src/components/radio/test/item/radio.e2e.ts-snapshots/radio-inset-list-md-rtl-Mobile-Firefox-linux.png and b/core/src/components/radio/test/item/radio.e2e.ts-snapshots/radio-inset-list-md-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/radio/test/item/radio.e2e.ts-snapshots/radio-inset-list-md-rtl-Mobile-Safari-linux.png b/core/src/components/radio/test/item/radio.e2e.ts-snapshots/radio-inset-list-md-rtl-Mobile-Safari-linux.png index 637e05655b..0682d0fdb0 100644 Binary files a/core/src/components/radio/test/item/radio.e2e.ts-snapshots/radio-inset-list-md-rtl-Mobile-Safari-linux.png and b/core/src/components/radio/test/item/radio.e2e.ts-snapshots/radio-inset-list-md-rtl-Mobile-Safari-linux.png differ diff --git a/core/src/components/radio/test/item/radio.e2e.ts-snapshots/toggle-list-md-ltr-Mobile-Chrome-linux.png b/core/src/components/radio/test/item/radio.e2e.ts-snapshots/toggle-list-md-ltr-Mobile-Chrome-linux.png index ee72d2967b..d9515aeb9c 100644 Binary files a/core/src/components/radio/test/item/radio.e2e.ts-snapshots/toggle-list-md-ltr-Mobile-Chrome-linux.png and b/core/src/components/radio/test/item/radio.e2e.ts-snapshots/toggle-list-md-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/radio/test/item/radio.e2e.ts-snapshots/toggle-list-md-ltr-Mobile-Firefox-linux.png b/core/src/components/radio/test/item/radio.e2e.ts-snapshots/toggle-list-md-ltr-Mobile-Firefox-linux.png index 7f86a6ff54..e9c9c0fbf6 100644 Binary files a/core/src/components/radio/test/item/radio.e2e.ts-snapshots/toggle-list-md-ltr-Mobile-Firefox-linux.png and b/core/src/components/radio/test/item/radio.e2e.ts-snapshots/toggle-list-md-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/radio/test/item/radio.e2e.ts-snapshots/toggle-list-md-ltr-Mobile-Safari-linux.png b/core/src/components/radio/test/item/radio.e2e.ts-snapshots/toggle-list-md-ltr-Mobile-Safari-linux.png index 41e67cd858..511f4292f9 100644 Binary files a/core/src/components/radio/test/item/radio.e2e.ts-snapshots/toggle-list-md-ltr-Mobile-Safari-linux.png and b/core/src/components/radio/test/item/radio.e2e.ts-snapshots/toggle-list-md-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/radio/test/item/radio.e2e.ts-snapshots/toggle-list-md-rtl-Mobile-Chrome-linux.png b/core/src/components/radio/test/item/radio.e2e.ts-snapshots/toggle-list-md-rtl-Mobile-Chrome-linux.png index a8954bd1ea..1a33802ce3 100644 Binary files a/core/src/components/radio/test/item/radio.e2e.ts-snapshots/toggle-list-md-rtl-Mobile-Chrome-linux.png and b/core/src/components/radio/test/item/radio.e2e.ts-snapshots/toggle-list-md-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/radio/test/item/radio.e2e.ts-snapshots/toggle-list-md-rtl-Mobile-Firefox-linux.png b/core/src/components/radio/test/item/radio.e2e.ts-snapshots/toggle-list-md-rtl-Mobile-Firefox-linux.png index f9c62281c5..35453028ce 100644 Binary files a/core/src/components/radio/test/item/radio.e2e.ts-snapshots/toggle-list-md-rtl-Mobile-Firefox-linux.png and b/core/src/components/radio/test/item/radio.e2e.ts-snapshots/toggle-list-md-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/radio/test/item/radio.e2e.ts-snapshots/toggle-list-md-rtl-Mobile-Safari-linux.png b/core/src/components/radio/test/item/radio.e2e.ts-snapshots/toggle-list-md-rtl-Mobile-Safari-linux.png index f5a6dd2496..c011fbd2cb 100644 Binary files a/core/src/components/radio/test/item/radio.e2e.ts-snapshots/toggle-list-md-rtl-Mobile-Safari-linux.png and b/core/src/components/radio/test/item/radio.e2e.ts-snapshots/toggle-list-md-rtl-Mobile-Safari-linux.png differ diff --git a/core/src/components/radio/test/legacy/basic/radio.e2e.ts-snapshots/radio-group-checked-md-ltr-Mobile-Chrome-linux.png b/core/src/components/radio/test/legacy/basic/radio.e2e.ts-snapshots/radio-group-checked-md-ltr-Mobile-Chrome-linux.png index 16d5a225fa..717db75402 100644 Binary files a/core/src/components/radio/test/legacy/basic/radio.e2e.ts-snapshots/radio-group-checked-md-ltr-Mobile-Chrome-linux.png and b/core/src/components/radio/test/legacy/basic/radio.e2e.ts-snapshots/radio-group-checked-md-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/radio/test/legacy/basic/radio.e2e.ts-snapshots/radio-group-checked-md-ltr-Mobile-Firefox-linux.png b/core/src/components/radio/test/legacy/basic/radio.e2e.ts-snapshots/radio-group-checked-md-ltr-Mobile-Firefox-linux.png index 008a040e51..f6599fb1f8 100644 Binary files a/core/src/components/radio/test/legacy/basic/radio.e2e.ts-snapshots/radio-group-checked-md-ltr-Mobile-Firefox-linux.png and b/core/src/components/radio/test/legacy/basic/radio.e2e.ts-snapshots/radio-group-checked-md-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/radio/test/legacy/basic/radio.e2e.ts-snapshots/radio-group-checked-md-ltr-Mobile-Safari-linux.png b/core/src/components/radio/test/legacy/basic/radio.e2e.ts-snapshots/radio-group-checked-md-ltr-Mobile-Safari-linux.png index 281a3edbac..e72ab473cf 100644 Binary files a/core/src/components/radio/test/legacy/basic/radio.e2e.ts-snapshots/radio-group-checked-md-ltr-Mobile-Safari-linux.png and b/core/src/components/radio/test/legacy/basic/radio.e2e.ts-snapshots/radio-group-checked-md-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/radio/test/legacy/basic/radio.e2e.ts-snapshots/radio-group-checked-md-rtl-Mobile-Chrome-linux.png b/core/src/components/radio/test/legacy/basic/radio.e2e.ts-snapshots/radio-group-checked-md-rtl-Mobile-Chrome-linux.png index 1dca4bb5c9..7c3081c692 100644 Binary files a/core/src/components/radio/test/legacy/basic/radio.e2e.ts-snapshots/radio-group-checked-md-rtl-Mobile-Chrome-linux.png and b/core/src/components/radio/test/legacy/basic/radio.e2e.ts-snapshots/radio-group-checked-md-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/radio/test/legacy/basic/radio.e2e.ts-snapshots/radio-group-checked-md-rtl-Mobile-Firefox-linux.png b/core/src/components/radio/test/legacy/basic/radio.e2e.ts-snapshots/radio-group-checked-md-rtl-Mobile-Firefox-linux.png index ea32ec5008..d3c9fab03d 100644 Binary files a/core/src/components/radio/test/legacy/basic/radio.e2e.ts-snapshots/radio-group-checked-md-rtl-Mobile-Firefox-linux.png and b/core/src/components/radio/test/legacy/basic/radio.e2e.ts-snapshots/radio-group-checked-md-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/radio/test/legacy/basic/radio.e2e.ts-snapshots/radio-group-checked-md-rtl-Mobile-Safari-linux.png b/core/src/components/radio/test/legacy/basic/radio.e2e.ts-snapshots/radio-group-checked-md-rtl-Mobile-Safari-linux.png index 1ffc0b6642..6efebf810e 100644 Binary files a/core/src/components/radio/test/legacy/basic/radio.e2e.ts-snapshots/radio-group-checked-md-rtl-Mobile-Safari-linux.png and b/core/src/components/radio/test/legacy/basic/radio.e2e.ts-snapshots/radio-group-checked-md-rtl-Mobile-Safari-linux.png differ diff --git a/core/src/components/radio/test/legacy/basic/radio.e2e.ts-snapshots/radio-group-unchecked-md-ltr-Mobile-Chrome-linux.png b/core/src/components/radio/test/legacy/basic/radio.e2e.ts-snapshots/radio-group-unchecked-md-ltr-Mobile-Chrome-linux.png index 8599f980bc..3f91291b7f 100644 Binary files a/core/src/components/radio/test/legacy/basic/radio.e2e.ts-snapshots/radio-group-unchecked-md-ltr-Mobile-Chrome-linux.png and b/core/src/components/radio/test/legacy/basic/radio.e2e.ts-snapshots/radio-group-unchecked-md-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/radio/test/legacy/basic/radio.e2e.ts-snapshots/radio-group-unchecked-md-ltr-Mobile-Firefox-linux.png b/core/src/components/radio/test/legacy/basic/radio.e2e.ts-snapshots/radio-group-unchecked-md-ltr-Mobile-Firefox-linux.png index 44b3be827c..5205314d96 100644 Binary files a/core/src/components/radio/test/legacy/basic/radio.e2e.ts-snapshots/radio-group-unchecked-md-ltr-Mobile-Firefox-linux.png and b/core/src/components/radio/test/legacy/basic/radio.e2e.ts-snapshots/radio-group-unchecked-md-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/radio/test/legacy/basic/radio.e2e.ts-snapshots/radio-group-unchecked-md-ltr-Mobile-Safari-linux.png b/core/src/components/radio/test/legacy/basic/radio.e2e.ts-snapshots/radio-group-unchecked-md-ltr-Mobile-Safari-linux.png index 0865bb9e5d..c48d91904e 100644 Binary files a/core/src/components/radio/test/legacy/basic/radio.e2e.ts-snapshots/radio-group-unchecked-md-ltr-Mobile-Safari-linux.png and b/core/src/components/radio/test/legacy/basic/radio.e2e.ts-snapshots/radio-group-unchecked-md-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/radio/test/legacy/basic/radio.e2e.ts-snapshots/radio-group-unchecked-md-rtl-Mobile-Chrome-linux.png b/core/src/components/radio/test/legacy/basic/radio.e2e.ts-snapshots/radio-group-unchecked-md-rtl-Mobile-Chrome-linux.png index 6a69bc7ead..3df9ac068f 100644 Binary files a/core/src/components/radio/test/legacy/basic/radio.e2e.ts-snapshots/radio-group-unchecked-md-rtl-Mobile-Chrome-linux.png and b/core/src/components/radio/test/legacy/basic/radio.e2e.ts-snapshots/radio-group-unchecked-md-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/radio/test/legacy/basic/radio.e2e.ts-snapshots/radio-group-unchecked-md-rtl-Mobile-Firefox-linux.png b/core/src/components/radio/test/legacy/basic/radio.e2e.ts-snapshots/radio-group-unchecked-md-rtl-Mobile-Firefox-linux.png index affaf595c7..1dae184bb9 100644 Binary files a/core/src/components/radio/test/legacy/basic/radio.e2e.ts-snapshots/radio-group-unchecked-md-rtl-Mobile-Firefox-linux.png and b/core/src/components/radio/test/legacy/basic/radio.e2e.ts-snapshots/radio-group-unchecked-md-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/components/radio/test/legacy/basic/radio.e2e.ts-snapshots/radio-group-unchecked-md-rtl-Mobile-Safari-linux.png b/core/src/components/radio/test/legacy/basic/radio.e2e.ts-snapshots/radio-group-unchecked-md-rtl-Mobile-Safari-linux.png index 779f348c19..1d6487abc2 100644 Binary files a/core/src/components/radio/test/legacy/basic/radio.e2e.ts-snapshots/radio-group-unchecked-md-rtl-Mobile-Safari-linux.png and b/core/src/components/radio/test/legacy/basic/radio.e2e.ts-snapshots/radio-group-unchecked-md-rtl-Mobile-Safari-linux.png differ diff --git a/core/src/components/radio/test/states/radio.e2e.ts-snapshots/radio-unchecked-md-ltr-Mobile-Chrome-linux.png b/core/src/components/radio/test/states/radio.e2e.ts-snapshots/radio-unchecked-md-ltr-Mobile-Chrome-linux.png index 932b0fc909..7a94677ea1 100644 Binary files a/core/src/components/radio/test/states/radio.e2e.ts-snapshots/radio-unchecked-md-ltr-Mobile-Chrome-linux.png and b/core/src/components/radio/test/states/radio.e2e.ts-snapshots/radio-unchecked-md-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/radio/test/states/radio.e2e.ts-snapshots/radio-unchecked-md-ltr-Mobile-Firefox-linux.png b/core/src/components/radio/test/states/radio.e2e.ts-snapshots/radio-unchecked-md-ltr-Mobile-Firefox-linux.png index 0f20d881f0..866d10539a 100644 Binary files a/core/src/components/radio/test/states/radio.e2e.ts-snapshots/radio-unchecked-md-ltr-Mobile-Firefox-linux.png and b/core/src/components/radio/test/states/radio.e2e.ts-snapshots/radio-unchecked-md-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/radio/test/states/radio.e2e.ts-snapshots/radio-unchecked-md-ltr-Mobile-Safari-linux.png b/core/src/components/radio/test/states/radio.e2e.ts-snapshots/radio-unchecked-md-ltr-Mobile-Safari-linux.png index 57345851e3..e6f9593e29 100644 Binary files a/core/src/components/radio/test/states/radio.e2e.ts-snapshots/radio-unchecked-md-ltr-Mobile-Safari-linux.png and b/core/src/components/radio/test/states/radio.e2e.ts-snapshots/radio-unchecked-md-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/range/range.tsx b/core/src/components/range/range.tsx index fbf6353eb6..04bc1f0798 100644 --- a/core/src/components/range/range.tsx +++ b/core/src/components/range/range.tsx @@ -11,6 +11,7 @@ import { createColorClasses, hostContext } from '@utils/theme'; import { getIonMode } from '../../global/ionic-global'; import type { Color, Gesture, GestureDetail, StyleEventDetail } from '../../interface'; +import { roundToMaxDecimalPlaces } from '../../utils/floating-point'; import type { KnobName, @@ -909,10 +910,14 @@ const renderKnob = ( const ratioToValue = (ratio: number, min: number, max: number, step: number): number => { let value = (max - min) * ratio; + if (step > 0) { + // round to nearest multiple of step, then add min value = Math.round(value / step) * step + min; } - return clamp(min, value, max); + const clampedValue = clamp(min, value, max); + + return roundToMaxDecimalPlaces(clampedValue, min, max, step); }; const valueToRatio = (value: number, min: number, max: number): number => { diff --git a/core/src/components/range/test/color/range.e2e.ts-snapshots/range-color-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/range/test/color/range.e2e.ts-snapshots/range-color-ios-ltr-Mobile-Chrome-linux.png index feea5fa8a5..59ddcab0a1 100644 Binary files a/core/src/components/range/test/color/range.e2e.ts-snapshots/range-color-ios-ltr-Mobile-Chrome-linux.png and b/core/src/components/range/test/color/range.e2e.ts-snapshots/range-color-ios-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/range/test/custom/range.e2e.ts-snapshots/range-custom-md-ltr-Mobile-Chrome-linux.png b/core/src/components/range/test/custom/range.e2e.ts-snapshots/range-custom-md-ltr-Mobile-Chrome-linux.png index 787b0cdfa7..741badbeb9 100644 Binary files a/core/src/components/range/test/custom/range.e2e.ts-snapshots/range-custom-md-ltr-Mobile-Chrome-linux.png and b/core/src/components/range/test/custom/range.e2e.ts-snapshots/range-custom-md-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/range/test/item/range.e2e.ts-snapshots/range-item-color-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/range/test/item/range.e2e.ts-snapshots/range-item-color-ios-ltr-Mobile-Chrome-linux.png index e1926d85d9..1ca70ab938 100644 Binary files a/core/src/components/range/test/item/range.e2e.ts-snapshots/range-item-color-ios-ltr-Mobile-Chrome-linux.png and b/core/src/components/range/test/item/range.e2e.ts-snapshots/range-item-color-ios-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/range/test/item/range.e2e.ts-snapshots/range-item-color-md-ltr-Mobile-Chrome-linux.png b/core/src/components/range/test/item/range.e2e.ts-snapshots/range-item-color-md-ltr-Mobile-Chrome-linux.png index 76208346df..7d276ec9b3 100644 Binary files a/core/src/components/range/test/item/range.e2e.ts-snapshots/range-item-color-md-ltr-Mobile-Chrome-linux.png and b/core/src/components/range/test/item/range.e2e.ts-snapshots/range-item-color-md-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/range/test/legacy/a11y/range.e2e.ts-snapshots/range-focus-with-pin-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/range/test/legacy/a11y/range.e2e.ts-snapshots/range-focus-with-pin-ios-ltr-Mobile-Chrome-linux.png index 3f43d76898..0e37b3c457 100644 Binary files a/core/src/components/range/test/legacy/a11y/range.e2e.ts-snapshots/range-focus-with-pin-ios-ltr-Mobile-Chrome-linux.png and b/core/src/components/range/test/legacy/a11y/range.e2e.ts-snapshots/range-focus-with-pin-ios-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/range/test/legacy/active-bar-start/range.e2e.ts-snapshots/range-activeBarStart-diff-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/range/test/legacy/active-bar-start/range.e2e.ts-snapshots/range-activeBarStart-diff-ios-ltr-Mobile-Chrome-linux.png index 98f0979a08..9d98b719d6 100644 Binary files a/core/src/components/range/test/legacy/active-bar-start/range.e2e.ts-snapshots/range-activeBarStart-diff-ios-ltr-Mobile-Chrome-linux.png and b/core/src/components/range/test/legacy/active-bar-start/range.e2e.ts-snapshots/range-activeBarStart-diff-ios-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/range/test/legacy/active-bar-start/range.e2e.ts-snapshots/range-activeBarStart-diff-ios-ltr-Mobile-Safari-linux.png b/core/src/components/range/test/legacy/active-bar-start/range.e2e.ts-snapshots/range-activeBarStart-diff-ios-ltr-Mobile-Safari-linux.png index b4932f8bc3..87861f0f79 100644 Binary files a/core/src/components/range/test/legacy/active-bar-start/range.e2e.ts-snapshots/range-activeBarStart-diff-ios-ltr-Mobile-Safari-linux.png and b/core/src/components/range/test/legacy/active-bar-start/range.e2e.ts-snapshots/range-activeBarStart-diff-ios-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/range/test/legacy/active-bar-start/range.e2e.ts-snapshots/range-activeBarStart-diff-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/range/test/legacy/active-bar-start/range.e2e.ts-snapshots/range-activeBarStart-diff-ios-rtl-Mobile-Chrome-linux.png index 9c571eafeb..30b4e04c3e 100644 Binary files a/core/src/components/range/test/legacy/active-bar-start/range.e2e.ts-snapshots/range-activeBarStart-diff-ios-rtl-Mobile-Chrome-linux.png and b/core/src/components/range/test/legacy/active-bar-start/range.e2e.ts-snapshots/range-activeBarStart-diff-ios-rtl-Mobile-Chrome-linux.png differ diff --git a/core/src/components/range/test/legacy/active-bar-start/range.e2e.ts-snapshots/range-activeBarStart-diff-ios-rtl-Mobile-Safari-linux.png b/core/src/components/range/test/legacy/active-bar-start/range.e2e.ts-snapshots/range-activeBarStart-diff-ios-rtl-Mobile-Safari-linux.png index 17e68701ed..f8800820a5 100644 Binary files a/core/src/components/range/test/legacy/active-bar-start/range.e2e.ts-snapshots/range-activeBarStart-diff-ios-rtl-Mobile-Safari-linux.png and b/core/src/components/range/test/legacy/active-bar-start/range.e2e.ts-snapshots/range-activeBarStart-diff-ios-rtl-Mobile-Safari-linux.png differ diff --git a/core/src/components/select-popover/test/basic/select-popover.e2e-legacy.ts b/core/src/components/select-popover/test/basic/select-popover.e2e-legacy.ts deleted file mode 100644 index 6f24b16bb7..0000000000 --- a/core/src/components/select-popover/test/basic/select-popover.e2e-legacy.ts +++ /dev/null @@ -1,65 +0,0 @@ -import { expect } from '@playwright/test'; -import { test } from '@utils/test/playwright'; - -import type { SelectPopoverOption } from '../../select-popover-interface'; -import { SelectPopoverPage } from '../fixtures'; - -const options: SelectPopoverOption[] = [ - { value: 'apple', text: 'Apple', disabled: false, checked: false }, - { value: 'banana', text: 'Banana', disabled: false, checked: false }, -]; - -const checkedOptions: SelectPopoverOption[] = [ - { value: 'apple', text: 'Apple', disabled: false, checked: true }, - { value: 'banana', text: 'Banana', disabled: false, checked: false }, -]; - -test.describe('select-popover: basic', () => { - test.beforeEach(({ skip, browserName }) => { - skip.rtl(); - skip.mode('ios', 'Consistent behavior across modes'); - test.skip(browserName === 'webkit', 'https://ionic-cloud.atlassian.net/browse/FW-2979'); - }); - - test.describe('single selection', () => { - let selectPopoverPage: SelectPopoverPage; - - test.beforeEach(async ({ page }) => { - selectPopoverPage = new SelectPopoverPage(page); - }); - - test('clicking an unselected option should dismiss the popover', async () => { - await selectPopoverPage.setup(options, false); - - await selectPopoverPage.clickOption('apple'); - await selectPopoverPage.ionPopoverDidDismiss.next(); - await expect(selectPopoverPage.popover).not.toBeVisible(); - }); - - test('clicking a selected option should dismiss the popover', async () => { - await selectPopoverPage.setup(checkedOptions, false); - - await selectPopoverPage.clickOption('apple'); - await selectPopoverPage.ionPopoverDidDismiss.next(); - await expect(selectPopoverPage.popover).not.toBeVisible(); - }); - - test('pressing Space on an unselected option should dismiss the popover', async () => { - await selectPopoverPage.setup(options, false); - - await selectPopoverPage.pressSpaceOnOption('apple'); - await selectPopoverPage.ionPopoverDidDismiss.next(); - await expect(selectPopoverPage.popover).not.toBeVisible(); - }); - - test('pressing Space on a selected option should dismiss the popover', async ({ browserName }) => { - test.skip(browserName === 'firefox', 'Same behavior as https://ionic-cloud.atlassian.net/browse/FW-2979'); - - await selectPopoverPage.setup(checkedOptions, false); - - await selectPopoverPage.pressSpaceOnOption('apple'); - await selectPopoverPage.ionPopoverDidDismiss.next(); - await expect(selectPopoverPage.popover).not.toBeVisible(); - }); - }); -}); diff --git a/core/src/components/select-popover/test/basic/select-popover.e2e.ts b/core/src/components/select-popover/test/basic/select-popover.e2e.ts new file mode 100644 index 0000000000..7a1e7c42c8 --- /dev/null +++ b/core/src/components/select-popover/test/basic/select-popover.e2e.ts @@ -0,0 +1,92 @@ +import { expect } from '@playwright/test'; +import { configs, test } from '@utils/test/playwright'; + +import type { SelectPopoverOption } from '../../select-popover-interface'; +import { SelectPopoverPage } from '../fixtures'; + +const options: SelectPopoverOption[] = [ + { value: 'apple', text: 'Apple', disabled: false, checked: false }, + { value: 'banana', text: 'Banana', disabled: false, checked: false }, +]; + +const checkedOptions: SelectPopoverOption[] = [ + { value: 'apple', text: 'Apple', disabled: false, checked: true }, + { value: 'banana', text: 'Banana', disabled: false, checked: false }, +]; + +/** + * This behavior does not vary across modes/directions. + */ +configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => { + test.describe(title('select-popover: basic'), () => { + test.beforeEach(({ browserName }) => { + test.skip(browserName === 'webkit', 'https://ionic-cloud.atlassian.net/browse/FW-2979'); + }); + + test.describe('single selection', () => { + let selectPopoverPage: SelectPopoverPage; + + test.beforeEach(async ({ page }) => { + selectPopoverPage = new SelectPopoverPage(page); + }); + + test('clicking an unselected option should dismiss the popover', async () => { + await selectPopoverPage.setup(config, options, false); + + await selectPopoverPage.clickOption('apple'); + await selectPopoverPage.ionPopoverDidDismiss.next(); + await expect(selectPopoverPage.popover).not.toBeVisible(); + }); + + test('clicking a selected option should dismiss the popover', async () => { + await selectPopoverPage.setup(config, checkedOptions, false); + + await selectPopoverPage.clickOption('apple'); + await selectPopoverPage.ionPopoverDidDismiss.next(); + await expect(selectPopoverPage.popover).not.toBeVisible(); + }); + + test('pressing Space on an unselected option should dismiss the popover', async () => { + await selectPopoverPage.setup(config, options, false); + + await selectPopoverPage.pressSpaceOnOption('apple'); + await selectPopoverPage.ionPopoverDidDismiss.next(); + await expect(selectPopoverPage.popover).not.toBeVisible(); + }); + + test('pressing Space on a selected option should dismiss the popover', async ({ browserName }) => { + test.skip(browserName === 'firefox', 'Same behavior as https://ionic-cloud.atlassian.net/browse/FW-2979'); + + await selectPopoverPage.setup(config, checkedOptions, false); + + await selectPopoverPage.pressSpaceOnOption('apple'); + await selectPopoverPage.ionPopoverDidDismiss.next(); + await expect(selectPopoverPage.popover).not.toBeVisible(); + }); + }); + }); +}); + +/** + * This behavior does not vary across directions. + * The components used inside of `ion-select-popover` + * do have RTL logic, but those are tested in their + * respective component test files. + */ +configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => { + test.describe(title('select-popover: rendering'), () => { + let selectPopoverPage: SelectPopoverPage; + + test.beforeEach(async ({ page }) => { + selectPopoverPage = new SelectPopoverPage(page); + }); + test('should not have visual regressions with single selection', async () => { + await selectPopoverPage.setup(config, options, false); + await selectPopoverPage.screenshot(screenshot, 'select-popover-diff'); + }); + test('should not have visual regressions with multiple selection', async () => { + await selectPopoverPage.setup(config, options, true); + await selectPopoverPage.screenshot(screenshot, 'select-popover-multiple-diff'); + }); + }); +}); diff --git a/core/src/components/select-popover/test/basic/select-popover.e2e.ts-snapshots/select-popover-diff-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/select-popover/test/basic/select-popover.e2e.ts-snapshots/select-popover-diff-ios-ltr-Mobile-Chrome-linux.png new file mode 100644 index 0000000000..57e30d1084 Binary files /dev/null and b/core/src/components/select-popover/test/basic/select-popover.e2e.ts-snapshots/select-popover-diff-ios-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/select-popover/test/basic/select-popover.e2e.ts-snapshots/select-popover-diff-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/select-popover/test/basic/select-popover.e2e.ts-snapshots/select-popover-diff-ios-ltr-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..97338a1e56 Binary files /dev/null and b/core/src/components/select-popover/test/basic/select-popover.e2e.ts-snapshots/select-popover-diff-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/select-popover/test/basic/select-popover.e2e.ts-snapshots/select-popover-diff-ios-ltr-Mobile-Safari-linux.png b/core/src/components/select-popover/test/basic/select-popover.e2e.ts-snapshots/select-popover-diff-ios-ltr-Mobile-Safari-linux.png new file mode 100644 index 0000000000..6b7c49ab8d Binary files /dev/null and b/core/src/components/select-popover/test/basic/select-popover.e2e.ts-snapshots/select-popover-diff-ios-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/select-popover/test/basic/select-popover.e2e.ts-snapshots/select-popover-diff-md-ltr-Mobile-Chrome-linux.png b/core/src/components/select-popover/test/basic/select-popover.e2e.ts-snapshots/select-popover-diff-md-ltr-Mobile-Chrome-linux.png new file mode 100644 index 0000000000..be32b57e3e Binary files /dev/null and b/core/src/components/select-popover/test/basic/select-popover.e2e.ts-snapshots/select-popover-diff-md-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/select-popover/test/basic/select-popover.e2e.ts-snapshots/select-popover-diff-md-ltr-Mobile-Firefox-linux.png b/core/src/components/select-popover/test/basic/select-popover.e2e.ts-snapshots/select-popover-diff-md-ltr-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..b69e95f4d0 Binary files /dev/null and b/core/src/components/select-popover/test/basic/select-popover.e2e.ts-snapshots/select-popover-diff-md-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/select-popover/test/basic/select-popover.e2e.ts-snapshots/select-popover-diff-md-ltr-Mobile-Safari-linux.png b/core/src/components/select-popover/test/basic/select-popover.e2e.ts-snapshots/select-popover-diff-md-ltr-Mobile-Safari-linux.png new file mode 100644 index 0000000000..a1a2a2e34e Binary files /dev/null and b/core/src/components/select-popover/test/basic/select-popover.e2e.ts-snapshots/select-popover-diff-md-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/select-popover/test/basic/select-popover.e2e.ts-snapshots/select-popover-multiple-diff-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/select-popover/test/basic/select-popover.e2e.ts-snapshots/select-popover-multiple-diff-ios-ltr-Mobile-Chrome-linux.png new file mode 100644 index 0000000000..9dd8673ea8 Binary files /dev/null and b/core/src/components/select-popover/test/basic/select-popover.e2e.ts-snapshots/select-popover-multiple-diff-ios-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/select-popover/test/basic/select-popover.e2e.ts-snapshots/select-popover-multiple-diff-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/select-popover/test/basic/select-popover.e2e.ts-snapshots/select-popover-multiple-diff-ios-ltr-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..485b444669 Binary files /dev/null and b/core/src/components/select-popover/test/basic/select-popover.e2e.ts-snapshots/select-popover-multiple-diff-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/select-popover/test/basic/select-popover.e2e.ts-snapshots/select-popover-multiple-diff-ios-ltr-Mobile-Safari-linux.png b/core/src/components/select-popover/test/basic/select-popover.e2e.ts-snapshots/select-popover-multiple-diff-ios-ltr-Mobile-Safari-linux.png new file mode 100644 index 0000000000..948b80581c Binary files /dev/null and b/core/src/components/select-popover/test/basic/select-popover.e2e.ts-snapshots/select-popover-multiple-diff-ios-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/select-popover/test/basic/select-popover.e2e.ts-snapshots/select-popover-multiple-diff-md-ltr-Mobile-Chrome-linux.png b/core/src/components/select-popover/test/basic/select-popover.e2e.ts-snapshots/select-popover-multiple-diff-md-ltr-Mobile-Chrome-linux.png new file mode 100644 index 0000000000..875fa07c7d Binary files /dev/null and b/core/src/components/select-popover/test/basic/select-popover.e2e.ts-snapshots/select-popover-multiple-diff-md-ltr-Mobile-Chrome-linux.png differ diff --git a/core/src/components/select-popover/test/basic/select-popover.e2e.ts-snapshots/select-popover-multiple-diff-md-ltr-Mobile-Firefox-linux.png b/core/src/components/select-popover/test/basic/select-popover.e2e.ts-snapshots/select-popover-multiple-diff-md-ltr-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..d38d3e35c8 Binary files /dev/null and b/core/src/components/select-popover/test/basic/select-popover.e2e.ts-snapshots/select-popover-multiple-diff-md-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/select-popover/test/basic/select-popover.e2e.ts-snapshots/select-popover-multiple-diff-md-ltr-Mobile-Safari-linux.png b/core/src/components/select-popover/test/basic/select-popover.e2e.ts-snapshots/select-popover-multiple-diff-md-ltr-Mobile-Safari-linux.png new file mode 100644 index 0000000000..ea12536ead Binary files /dev/null and b/core/src/components/select-popover/test/basic/select-popover.e2e.ts-snapshots/select-popover-multiple-diff-md-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/select-popover/test/fixtures.ts b/core/src/components/select-popover/test/fixtures.ts index 3d15378129..14c8103376 100644 --- a/core/src/components/select-popover/test/fixtures.ts +++ b/core/src/components/select-popover/test/fixtures.ts @@ -1,4 +1,5 @@ -import type { E2EPage, E2ELocator, EventSpy } from '@utils/test/playwright'; +import { expect } from '@playwright/test'; +import type { E2EPage, E2ELocator, EventSpy, E2EPageOptions, ScreenshotFn } from '@utils/test/playwright'; import type { SelectPopoverOption } from '../select-popover-interface'; @@ -18,10 +19,11 @@ export class SelectPopoverPage { this.page = page; } - async setup(options: SelectPopoverOption[], multiple = false) { + async setup(config: E2EPageOptions, options: SelectPopoverOption[], multiple = false) { const { page } = this; - await page.setContent(` + await page.setContent( + ` @@ -30,7 +32,9 @@ export class SelectPopoverPage { selectPopover.options = ${JSON.stringify(options)}; selectPopover.multiple = ${multiple}; - `); + `, + config + ); const ionPopoverDidPresent = await page.spyOnEvent('ionPopoverDidPresent'); this.ionPopoverDidDismiss = await page.spyOnEvent('ionPopoverDidDismiss'); @@ -45,6 +49,10 @@ export class SelectPopoverPage { await ionPopoverDidPresent.next(); } + async screenshot(screenshot: ScreenshotFn, name: string) { + await expect(this.selectPopover).toHaveScreenshot(screenshot(name)); + } + async clickOption(value: string) { const option = this.getOption(value); await option.click(); diff --git a/core/src/components/select/test/a11y/select.e2e-legacy.ts b/core/src/components/select/test/a11y/select.e2e-legacy.ts deleted file mode 100644 index 5d070fca7e..0000000000 --- a/core/src/components/select/test/a11y/select.e2e-legacy.ts +++ /dev/null @@ -1,17 +0,0 @@ -import AxeBuilder from '@axe-core/playwright'; -import { expect } from '@playwright/test'; -import { test } from '@utils/test/playwright'; - -test.describe('select: a11y', () => { - test.beforeEach(async ({ skip }) => { - skip.rtl(); - skip.mode('md'); - }); - - test('should not have accessibility violations', async ({ page }) => { - await page.goto(`/src/components/select/test/a11y`); - - const results = await new AxeBuilder({ page }).analyze(); - expect(results.violations).toEqual([]); - }); -}); diff --git a/core/src/components/select/test/a11y/select.e2e.ts b/core/src/components/select/test/a11y/select.e2e.ts new file mode 100644 index 0000000000..03baca7deb --- /dev/null +++ b/core/src/components/select/test/a11y/select.e2e.ts @@ -0,0 +1,14 @@ +import AxeBuilder from '@axe-core/playwright'; +import { expect } from '@playwright/test'; +import { configs, test } from '@utils/test/playwright'; + +configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) => { + test.describe(title('select: a11y'), () => { + test('should not have accessibility violations', async ({ page }) => { + await page.goto(`/src/components/select/test/a11y`, config); + + const results = await new AxeBuilder({ page }).analyze(); + expect(results.violations).toEqual([]); + }); + }); +}); diff --git a/core/src/components/select/test/async/select.e2e-legacy.ts b/core/src/components/select/test/async/select.e2e-legacy.ts deleted file mode 100644 index f35ee77508..0000000000 --- a/core/src/components/select/test/async/select.e2e-legacy.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { expect } from '@playwright/test'; -import { test } from '@utils/test/playwright'; - -test.describe('select: async', () => { - test.beforeEach(async ({ page, skip }) => { - skip.rtl('This is checking internal logic. RTL tests are not needed'); - skip.mode('md'); - - await page.goto(`/src/components/select/test/async`); - }); - test('should correctly set the value after a delay', async ({ page }) => { - const select = page.locator('#default'); - await page.click('#set-contents'); - - await expect(select).toHaveJSProperty('value', 'bird'); - }); - - test('should re-render when options update but value is already set', async ({ page }) => { - const select = page.locator('#with-value'); - await page.click('#set-contents'); - - await expect(select.locator('.select-text')).toHaveText('bird'); - }); -}); diff --git a/core/src/components/select/test/async/select.e2e.ts b/core/src/components/select/test/async/select.e2e.ts new file mode 100644 index 0000000000..221b1dcfdf --- /dev/null +++ b/core/src/components/select/test/async/select.e2e.ts @@ -0,0 +1,26 @@ +import { expect } from '@playwright/test'; +import { configs, test } from '@utils/test/playwright'; + +/** + * This is checking internal logic. RTL tests are not needed + */ +configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) => { + test.describe(title('select: async'), () => { + test.beforeEach(async ({ page }) => { + await page.goto(`/src/components/select/test/async`, config); + }); + test('should correctly set the value after a delay', async ({ page }) => { + const select = page.locator('#default'); + await page.click('#set-contents'); + + await expect(select).toHaveJSProperty('value', 'bird'); + }); + + test('should re-render when options update but value is already set', async ({ page }) => { + const select = page.locator('#with-value'); + await page.click('#set-contents'); + + await expect(select.locator('.select-text')).toHaveText('bird'); + }); + }); +}); diff --git a/core/src/components/select/test/basic/select.e2e-legacy.ts b/core/src/components/select/test/basic/select.e2e-legacy.ts deleted file mode 100644 index 7716727a70..0000000000 --- a/core/src/components/select/test/basic/select.e2e-legacy.ts +++ /dev/null @@ -1,232 +0,0 @@ -import { expect } from '@playwright/test'; -import { test } from '@utils/test/playwright'; -import type { E2ELocator } from '@utils/test/playwright'; - -test.describe('select: basic', () => { - test.beforeEach(async ({ page }) => { - await page.goto('/src/components/select/test/basic'); - }); - - test('should not open multiple alert windows when clicked multiple times', async ({ page }) => { - test.info().annotations.push({ - type: 'issue', - description: 'https://github.com/ionic-team/ionic-framework/issues/25126', - }); - - const select = page.locator('#gender'); - - await select.evaluate((el: HTMLSelectElement) => { - /* - * Playwright's click() method attempts to scroll to the handle - * to perform the action. That is problematic when the overlay - * is already visible. We manually click() the element instead - * to avoid flaky tests. - */ - el.click(); - el.click(); - el.click(); - }); - - const alerts = await page.$$('ion-alert'); - - expect(alerts.length).toBe(1); - }); - - test.describe('select: alert', () => { - test('it should open an alert select', async ({ page }) => { - const ionAlertDidPresent = await page.spyOnEvent('ionAlertDidPresent'); - const ionDismiss = await page.spyOnEvent('ionDismiss'); - - await page.click('#customAlertSelect'); - - await ionAlertDidPresent.next(); - - await expect(page).toHaveScreenshot(`select-alert-diff-${page.getSnapshotSettings()}.png`, { - animations: 'disabled', - }); - - const alert = page.locator('ion-alert'); - await alert.evaluate((el: HTMLIonAlertElement) => el.dismiss()); - - await ionDismiss.next(); - }); - }); - - test.describe('select: action sheet', () => { - test('it should open an action sheet select', async ({ page }) => { - const ionActionSheetDidPresent = await page.spyOnEvent('ionActionSheetDidPresent'); - const ionDismiss = await page.spyOnEvent('ionDismiss'); - - await page.click('#customActionSheetSelect'); - - await ionActionSheetDidPresent.next(); - - await expect(page).toHaveScreenshot(`select-action-sheet-diff-${page.getSnapshotSettings()}.png`, { - animations: 'disabled', - }); - - const actionSheet = page.locator('ion-action-sheet'); - await actionSheet.evaluate((el: HTMLIonActionSheetElement) => el.dismiss()); - - await ionDismiss.next(); - }); - }); - - test.describe('select: popover', () => { - test('it should open a popover select', async ({ page, skip }) => { - // TODO (FW-2979) - skip.browser('webkit', 'Safari 16 only allows text fields and pop-up menus to be focused.'); - - const ionPopoverDidPresent = await page.spyOnEvent('ionPopoverDidPresent'); - const ionDismiss = await page.spyOnEvent('ionDismiss'); - - await page.click('#customPopoverSelect'); - - await ionPopoverDidPresent.next(); - - const popover = page.locator('ion-popover'); - - // select has no value, so first option should be focused by default - const popoverOption1 = popover.locator('.select-interface-option:first-of-type ion-radio'); - await expect(popoverOption1).toBeFocused(); - - await expect(page).toHaveScreenshot(`select-popover-diff-${page.getSnapshotSettings()}.png`, { - animations: 'disabled', - }); - - await popover.evaluate((el: HTMLIonPopoverElement) => el.dismiss()); - - await ionDismiss.next(); - }); - }); -}); - -test.describe('select: ionChange', () => { - test.beforeEach(({ skip }) => { - skip.rtl(); - skip.mode('ios', 'ionChange has a consistent behavior across modes'); - }); - - test('should fire ionChange when confirming a value from an alert', async ({ page }) => { - await page.setContent(` - - Apple - Banana - - `); - - const ionAlertDidPresent = await page.spyOnEvent('ionAlertDidPresent'); - const ionChange = await page.spyOnEvent('ionChange'); - const select = page.locator('ion-select'); - - await select.click(); - await ionAlertDidPresent.next(); - - const alert = page.locator('ion-alert'); - const radioButtons = alert.locator('.alert-radio-button'); - const confirmButton = alert.locator('.alert-button:not(.alert-button-role-cancel)'); - - await radioButtons.nth(0).click(); - await confirmButton.click(); - - await ionChange.next(); - expect(ionChange).toHaveReceivedEventDetail({ value: 'apple' }); - expect(ionChange).toHaveReceivedEventTimes(1); - }); - - test('should fire ionChange when confirming a value from a popover', async ({ page }) => { - await page.setContent(` - - Apple - Banana - - `); - - const ionPopoverDidPresent = await page.spyOnEvent('ionPopoverDidPresent'); - const select = page.locator('ion-select') as E2ELocator; - const ionChange = await select.spyOnEvent('ionChange'); - - await select.click(); - await ionPopoverDidPresent.next(); - - const popover = page.locator('ion-popover'); - const radioButtons = popover.locator('ion-radio'); - - await radioButtons.nth(0).click(); - - await ionChange.next(); - expect(ionChange).toHaveReceivedEventDetail({ value: 'apple' }); - expect(ionChange).toHaveReceivedEventTimes(1); - }); - - test('should fire ionChange when confirming multiple values from a popover', async ({ page }) => { - await page.setContent(` - - Apple - Banana - - `); - - const ionPopoverDidPresent = await page.spyOnEvent('ionPopoverDidPresent'); - const select = page.locator('ion-select') as E2ELocator; - const ionChange = await select.spyOnEvent('ionChange'); - - await select.click(); - await ionPopoverDidPresent.next(); - - const popover = page.locator('ion-popover'); - const checkboxes = popover.locator('ion-checkbox'); - - await checkboxes.nth(0).click(); - await ionChange.next(); - - expect(ionChange).toHaveReceivedEventDetail({ value: ['apple'] }); - expect(ionChange).toHaveReceivedEventTimes(1); - - await checkboxes.nth(1).click(); - await ionChange.next(); - - expect(ionChange).toHaveReceivedEventDetail({ value: ['apple', 'banana'] }); - expect(ionChange).toHaveReceivedEventTimes(2); - }); - - test('should fire ionChange when confirming a value from an action sheet', async ({ page }) => { - await page.setContent(` - - Apple - Banana - - `); - - const ionActionSheetDidPresent = await page.spyOnEvent('ionActionSheetDidPresent'); - const ionChange = await page.spyOnEvent('ionChange'); - const select = page.locator('ion-select'); - - await select.click(); - await ionActionSheetDidPresent.next(); - - const actionSheet = page.locator('ion-action-sheet'); - const buttons = actionSheet.locator('.action-sheet-button'); - - await buttons.nth(0).click(); - - await ionChange.next(); - expect(ionChange).toHaveReceivedEventDetail({ value: 'apple' }); - expect(ionChange).toHaveReceivedEventTimes(1); - }); - - test('should not fire when programmatically setting a valid value', async ({ page }) => { - await page.setContent(` - - Apple - Banana - - `); - - const ionChange = await page.spyOnEvent('ionChange'); - const select = page.locator('ion-select'); - - await select.evaluate((el: HTMLIonSelectElement) => (el.value = 'banana')); - await expect(ionChange).not.toHaveReceivedEvent(); - }); -}); diff --git a/core/src/components/select/test/basic/select.e2e-legacy.ts-snapshots/select-action-sheet-diff-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/select/test/basic/select.e2e-legacy.ts-snapshots/select-action-sheet-diff-ios-ltr-Mobile-Chrome-linux.png deleted file mode 100644 index a9122d6e65..0000000000 Binary files a/core/src/components/select/test/basic/select.e2e-legacy.ts-snapshots/select-action-sheet-diff-ios-ltr-Mobile-Chrome-linux.png and /dev/null differ diff --git a/core/src/components/select/test/basic/select.e2e-legacy.ts-snapshots/select-action-sheet-diff-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/select/test/basic/select.e2e-legacy.ts-snapshots/select-action-sheet-diff-ios-ltr-Mobile-Firefox-linux.png deleted file mode 100644 index a16898b099..0000000000 Binary files a/core/src/components/select/test/basic/select.e2e-legacy.ts-snapshots/select-action-sheet-diff-ios-ltr-Mobile-Firefox-linux.png and /dev/null differ diff --git a/core/src/components/select/test/basic/select.e2e-legacy.ts-snapshots/select-action-sheet-diff-ios-ltr-Mobile-Safari-linux.png b/core/src/components/select/test/basic/select.e2e-legacy.ts-snapshots/select-action-sheet-diff-ios-ltr-Mobile-Safari-linux.png deleted file mode 100644 index 371ac9ee9d..0000000000 Binary files a/core/src/components/select/test/basic/select.e2e-legacy.ts-snapshots/select-action-sheet-diff-ios-ltr-Mobile-Safari-linux.png and /dev/null differ diff --git a/core/src/components/select/test/basic/select.e2e-legacy.ts-snapshots/select-action-sheet-diff-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/select/test/basic/select.e2e-legacy.ts-snapshots/select-action-sheet-diff-ios-rtl-Mobile-Chrome-linux.png deleted file mode 100644 index 09767681ac..0000000000 Binary files a/core/src/components/select/test/basic/select.e2e-legacy.ts-snapshots/select-action-sheet-diff-ios-rtl-Mobile-Chrome-linux.png and /dev/null differ diff --git a/core/src/components/select/test/basic/select.e2e-legacy.ts-snapshots/select-action-sheet-diff-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/select/test/basic/select.e2e-legacy.ts-snapshots/select-action-sheet-diff-ios-rtl-Mobile-Firefox-linux.png deleted file mode 100644 index 0bb4811723..0000000000 Binary files a/core/src/components/select/test/basic/select.e2e-legacy.ts-snapshots/select-action-sheet-diff-ios-rtl-Mobile-Firefox-linux.png and /dev/null differ diff --git a/core/src/components/select/test/basic/select.e2e-legacy.ts-snapshots/select-action-sheet-diff-ios-rtl-Mobile-Safari-linux.png b/core/src/components/select/test/basic/select.e2e-legacy.ts-snapshots/select-action-sheet-diff-ios-rtl-Mobile-Safari-linux.png deleted file mode 100644 index e7df31f095..0000000000 Binary files a/core/src/components/select/test/basic/select.e2e-legacy.ts-snapshots/select-action-sheet-diff-ios-rtl-Mobile-Safari-linux.png and /dev/null differ diff --git a/core/src/components/select/test/basic/select.e2e-legacy.ts-snapshots/select-action-sheet-diff-md-ltr-Mobile-Chrome-linux.png b/core/src/components/select/test/basic/select.e2e-legacy.ts-snapshots/select-action-sheet-diff-md-ltr-Mobile-Chrome-linux.png deleted file mode 100644 index 99e86e13ab..0000000000 Binary files a/core/src/components/select/test/basic/select.e2e-legacy.ts-snapshots/select-action-sheet-diff-md-ltr-Mobile-Chrome-linux.png and /dev/null differ diff --git a/core/src/components/select/test/basic/select.e2e-legacy.ts-snapshots/select-action-sheet-diff-md-ltr-Mobile-Firefox-linux.png b/core/src/components/select/test/basic/select.e2e-legacy.ts-snapshots/select-action-sheet-diff-md-ltr-Mobile-Firefox-linux.png deleted file mode 100644 index 1c32d4fa3e..0000000000 Binary files a/core/src/components/select/test/basic/select.e2e-legacy.ts-snapshots/select-action-sheet-diff-md-ltr-Mobile-Firefox-linux.png and /dev/null differ diff --git a/core/src/components/select/test/basic/select.e2e-legacy.ts-snapshots/select-action-sheet-diff-md-ltr-Mobile-Safari-linux.png b/core/src/components/select/test/basic/select.e2e-legacy.ts-snapshots/select-action-sheet-diff-md-ltr-Mobile-Safari-linux.png deleted file mode 100644 index eb5dcd0e23..0000000000 Binary files a/core/src/components/select/test/basic/select.e2e-legacy.ts-snapshots/select-action-sheet-diff-md-ltr-Mobile-Safari-linux.png and /dev/null differ diff --git a/core/src/components/select/test/basic/select.e2e-legacy.ts-snapshots/select-action-sheet-diff-md-rtl-Mobile-Chrome-linux.png b/core/src/components/select/test/basic/select.e2e-legacy.ts-snapshots/select-action-sheet-diff-md-rtl-Mobile-Chrome-linux.png deleted file mode 100644 index 0b137fac59..0000000000 Binary files a/core/src/components/select/test/basic/select.e2e-legacy.ts-snapshots/select-action-sheet-diff-md-rtl-Mobile-Chrome-linux.png and /dev/null differ diff --git a/core/src/components/select/test/basic/select.e2e-legacy.ts-snapshots/select-action-sheet-diff-md-rtl-Mobile-Firefox-linux.png b/core/src/components/select/test/basic/select.e2e-legacy.ts-snapshots/select-action-sheet-diff-md-rtl-Mobile-Firefox-linux.png deleted file mode 100644 index db8b0bd029..0000000000 Binary files a/core/src/components/select/test/basic/select.e2e-legacy.ts-snapshots/select-action-sheet-diff-md-rtl-Mobile-Firefox-linux.png and /dev/null differ diff --git a/core/src/components/select/test/basic/select.e2e-legacy.ts-snapshots/select-action-sheet-diff-md-rtl-Mobile-Safari-linux.png b/core/src/components/select/test/basic/select.e2e-legacy.ts-snapshots/select-action-sheet-diff-md-rtl-Mobile-Safari-linux.png deleted file mode 100644 index 4b6f49ab73..0000000000 Binary files a/core/src/components/select/test/basic/select.e2e-legacy.ts-snapshots/select-action-sheet-diff-md-rtl-Mobile-Safari-linux.png and /dev/null differ diff --git a/core/src/components/select/test/basic/select.e2e-legacy.ts-snapshots/select-alert-diff-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/select/test/basic/select.e2e-legacy.ts-snapshots/select-alert-diff-ios-ltr-Mobile-Chrome-linux.png deleted file mode 100644 index 3596ee4c2f..0000000000 Binary files a/core/src/components/select/test/basic/select.e2e-legacy.ts-snapshots/select-alert-diff-ios-ltr-Mobile-Chrome-linux.png and /dev/null differ diff --git a/core/src/components/select/test/basic/select.e2e-legacy.ts-snapshots/select-alert-diff-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/select/test/basic/select.e2e-legacy.ts-snapshots/select-alert-diff-ios-ltr-Mobile-Firefox-linux.png deleted file mode 100644 index 10aed3d05a..0000000000 Binary files a/core/src/components/select/test/basic/select.e2e-legacy.ts-snapshots/select-alert-diff-ios-ltr-Mobile-Firefox-linux.png and /dev/null differ diff --git a/core/src/components/select/test/basic/select.e2e-legacy.ts-snapshots/select-alert-diff-ios-ltr-Mobile-Safari-linux.png b/core/src/components/select/test/basic/select.e2e-legacy.ts-snapshots/select-alert-diff-ios-ltr-Mobile-Safari-linux.png deleted file mode 100644 index 7f6b6dc42b..0000000000 Binary files a/core/src/components/select/test/basic/select.e2e-legacy.ts-snapshots/select-alert-diff-ios-ltr-Mobile-Safari-linux.png and /dev/null differ diff --git a/core/src/components/select/test/basic/select.e2e-legacy.ts-snapshots/select-alert-diff-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/select/test/basic/select.e2e-legacy.ts-snapshots/select-alert-diff-ios-rtl-Mobile-Chrome-linux.png deleted file mode 100644 index 3cad955118..0000000000 Binary files a/core/src/components/select/test/basic/select.e2e-legacy.ts-snapshots/select-alert-diff-ios-rtl-Mobile-Chrome-linux.png and /dev/null differ diff --git a/core/src/components/select/test/basic/select.e2e-legacy.ts-snapshots/select-alert-diff-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/select/test/basic/select.e2e-legacy.ts-snapshots/select-alert-diff-ios-rtl-Mobile-Firefox-linux.png deleted file mode 100644 index 4a79ade990..0000000000 Binary files a/core/src/components/select/test/basic/select.e2e-legacy.ts-snapshots/select-alert-diff-ios-rtl-Mobile-Firefox-linux.png and /dev/null differ diff --git a/core/src/components/select/test/basic/select.e2e-legacy.ts-snapshots/select-alert-diff-ios-rtl-Mobile-Safari-linux.png b/core/src/components/select/test/basic/select.e2e-legacy.ts-snapshots/select-alert-diff-ios-rtl-Mobile-Safari-linux.png deleted file mode 100644 index ffb81ab269..0000000000 Binary files a/core/src/components/select/test/basic/select.e2e-legacy.ts-snapshots/select-alert-diff-ios-rtl-Mobile-Safari-linux.png and /dev/null differ diff --git a/core/src/components/select/test/basic/select.e2e-legacy.ts-snapshots/select-alert-diff-md-ltr-Mobile-Chrome-linux.png b/core/src/components/select/test/basic/select.e2e-legacy.ts-snapshots/select-alert-diff-md-ltr-Mobile-Chrome-linux.png deleted file mode 100644 index 4e9bf7708f..0000000000 Binary files a/core/src/components/select/test/basic/select.e2e-legacy.ts-snapshots/select-alert-diff-md-ltr-Mobile-Chrome-linux.png and /dev/null differ diff --git a/core/src/components/select/test/basic/select.e2e-legacy.ts-snapshots/select-alert-diff-md-ltr-Mobile-Firefox-linux.png b/core/src/components/select/test/basic/select.e2e-legacy.ts-snapshots/select-alert-diff-md-ltr-Mobile-Firefox-linux.png deleted file mode 100644 index 1f0dd7f613..0000000000 Binary files a/core/src/components/select/test/basic/select.e2e-legacy.ts-snapshots/select-alert-diff-md-ltr-Mobile-Firefox-linux.png and /dev/null differ diff --git a/core/src/components/select/test/basic/select.e2e-legacy.ts-snapshots/select-alert-diff-md-ltr-Mobile-Safari-linux.png b/core/src/components/select/test/basic/select.e2e-legacy.ts-snapshots/select-alert-diff-md-ltr-Mobile-Safari-linux.png deleted file mode 100644 index 76594bb7c8..0000000000 Binary files a/core/src/components/select/test/basic/select.e2e-legacy.ts-snapshots/select-alert-diff-md-ltr-Mobile-Safari-linux.png and /dev/null differ diff --git a/core/src/components/select/test/basic/select.e2e-legacy.ts-snapshots/select-alert-diff-md-rtl-Mobile-Chrome-linux.png b/core/src/components/select/test/basic/select.e2e-legacy.ts-snapshots/select-alert-diff-md-rtl-Mobile-Chrome-linux.png deleted file mode 100644 index eb04dacf54..0000000000 Binary files a/core/src/components/select/test/basic/select.e2e-legacy.ts-snapshots/select-alert-diff-md-rtl-Mobile-Chrome-linux.png and /dev/null differ diff --git a/core/src/components/select/test/basic/select.e2e-legacy.ts-snapshots/select-alert-diff-md-rtl-Mobile-Firefox-linux.png b/core/src/components/select/test/basic/select.e2e-legacy.ts-snapshots/select-alert-diff-md-rtl-Mobile-Firefox-linux.png deleted file mode 100644 index b179da4138..0000000000 Binary files a/core/src/components/select/test/basic/select.e2e-legacy.ts-snapshots/select-alert-diff-md-rtl-Mobile-Firefox-linux.png and /dev/null differ diff --git a/core/src/components/select/test/basic/select.e2e-legacy.ts-snapshots/select-alert-diff-md-rtl-Mobile-Safari-linux.png b/core/src/components/select/test/basic/select.e2e-legacy.ts-snapshots/select-alert-diff-md-rtl-Mobile-Safari-linux.png deleted file mode 100644 index 42ef3b0c1d..0000000000 Binary files a/core/src/components/select/test/basic/select.e2e-legacy.ts-snapshots/select-alert-diff-md-rtl-Mobile-Safari-linux.png and /dev/null differ diff --git a/core/src/components/select/test/basic/select.e2e-legacy.ts-snapshots/select-popover-diff-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/select/test/basic/select.e2e-legacy.ts-snapshots/select-popover-diff-ios-ltr-Mobile-Chrome-linux.png deleted file mode 100644 index cb3bd481d1..0000000000 Binary files a/core/src/components/select/test/basic/select.e2e-legacy.ts-snapshots/select-popover-diff-ios-ltr-Mobile-Chrome-linux.png and /dev/null differ diff --git a/core/src/components/select/test/basic/select.e2e-legacy.ts-snapshots/select-popover-diff-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/select/test/basic/select.e2e-legacy.ts-snapshots/select-popover-diff-ios-ltr-Mobile-Firefox-linux.png deleted file mode 100644 index 527cf77064..0000000000 Binary files a/core/src/components/select/test/basic/select.e2e-legacy.ts-snapshots/select-popover-diff-ios-ltr-Mobile-Firefox-linux.png and /dev/null differ diff --git a/core/src/components/select/test/basic/select.e2e-legacy.ts-snapshots/select-popover-diff-ios-ltr-Mobile-Safari-linux.png b/core/src/components/select/test/basic/select.e2e-legacy.ts-snapshots/select-popover-diff-ios-ltr-Mobile-Safari-linux.png deleted file mode 100644 index d127e20eb8..0000000000 Binary files a/core/src/components/select/test/basic/select.e2e-legacy.ts-snapshots/select-popover-diff-ios-ltr-Mobile-Safari-linux.png and /dev/null differ diff --git a/core/src/components/select/test/basic/select.e2e-legacy.ts-snapshots/select-popover-diff-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/select/test/basic/select.e2e-legacy.ts-snapshots/select-popover-diff-ios-rtl-Mobile-Chrome-linux.png deleted file mode 100644 index 42b76b6473..0000000000 Binary files a/core/src/components/select/test/basic/select.e2e-legacy.ts-snapshots/select-popover-diff-ios-rtl-Mobile-Chrome-linux.png and /dev/null differ diff --git a/core/src/components/select/test/basic/select.e2e-legacy.ts-snapshots/select-popover-diff-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/select/test/basic/select.e2e-legacy.ts-snapshots/select-popover-diff-ios-rtl-Mobile-Firefox-linux.png deleted file mode 100644 index d9e54ff3cb..0000000000 Binary files a/core/src/components/select/test/basic/select.e2e-legacy.ts-snapshots/select-popover-diff-ios-rtl-Mobile-Firefox-linux.png and /dev/null differ diff --git a/core/src/components/select/test/basic/select.e2e-legacy.ts-snapshots/select-popover-diff-ios-rtl-Mobile-Safari-linux.png b/core/src/components/select/test/basic/select.e2e-legacy.ts-snapshots/select-popover-diff-ios-rtl-Mobile-Safari-linux.png deleted file mode 100644 index 563ae3ab3d..0000000000 Binary files a/core/src/components/select/test/basic/select.e2e-legacy.ts-snapshots/select-popover-diff-ios-rtl-Mobile-Safari-linux.png and /dev/null differ diff --git a/core/src/components/select/test/basic/select.e2e-legacy.ts-snapshots/select-popover-diff-md-ltr-Mobile-Chrome-linux.png b/core/src/components/select/test/basic/select.e2e-legacy.ts-snapshots/select-popover-diff-md-ltr-Mobile-Chrome-linux.png deleted file mode 100644 index b76c1a28fc..0000000000 Binary files a/core/src/components/select/test/basic/select.e2e-legacy.ts-snapshots/select-popover-diff-md-ltr-Mobile-Chrome-linux.png and /dev/null differ diff --git a/core/src/components/select/test/basic/select.e2e-legacy.ts-snapshots/select-popover-diff-md-ltr-Mobile-Firefox-linux.png b/core/src/components/select/test/basic/select.e2e-legacy.ts-snapshots/select-popover-diff-md-ltr-Mobile-Firefox-linux.png deleted file mode 100644 index d0b2b38540..0000000000 Binary files a/core/src/components/select/test/basic/select.e2e-legacy.ts-snapshots/select-popover-diff-md-ltr-Mobile-Firefox-linux.png and /dev/null differ diff --git a/core/src/components/select/test/basic/select.e2e-legacy.ts-snapshots/select-popover-diff-md-rtl-Mobile-Chrome-linux.png b/core/src/components/select/test/basic/select.e2e-legacy.ts-snapshots/select-popover-diff-md-rtl-Mobile-Chrome-linux.png deleted file mode 100644 index 7592df8768..0000000000 Binary files a/core/src/components/select/test/basic/select.e2e-legacy.ts-snapshots/select-popover-diff-md-rtl-Mobile-Chrome-linux.png and /dev/null differ diff --git a/core/src/components/select/test/basic/select.e2e-legacy.ts-snapshots/select-popover-diff-md-rtl-Mobile-Firefox-linux.png b/core/src/components/select/test/basic/select.e2e-legacy.ts-snapshots/select-popover-diff-md-rtl-Mobile-Firefox-linux.png deleted file mode 100644 index 3ac8a5afc9..0000000000 Binary files a/core/src/components/select/test/basic/select.e2e-legacy.ts-snapshots/select-popover-diff-md-rtl-Mobile-Firefox-linux.png and /dev/null differ diff --git a/core/src/components/select/test/basic/select.e2e.ts b/core/src/components/select/test/basic/select.e2e.ts new file mode 100644 index 0000000000..97c3ca75ae --- /dev/null +++ b/core/src/components/select/test/basic/select.e2e.ts @@ -0,0 +1,238 @@ +import { expect } from '@playwright/test'; +import { configs, test } from '@utils/test/playwright'; +import type { E2ELocator } from '@utils/test/playwright'; + +/** + * This checks that certain overlays open correctly. While the + * overlay rendering varies across directions, the select behavior + * does not. The overlay rendering is already tested in the respective + * test files. + */ +configs({ directions: ['ltr'] }).forEach(({ title, config }) => { + test.describe(title('select: basic'), () => { + test.beforeEach(async ({ page }) => { + await page.goto('/src/components/select/test/basic', config); + }); + + test.describe('select: alert', () => { + test('it should open an alert select', async ({ page }) => { + const ionAlertDidPresent = await page.spyOnEvent('ionAlertDidPresent'); + + await page.click('#customAlertSelect'); + + await ionAlertDidPresent.next(); + + await expect(page.locator('ion-alert')).toBeVisible(); + }); + }); + + test.describe('select: action sheet', () => { + test('it should open an action sheet select', async ({ page }) => { + const ionActionSheetDidPresent = await page.spyOnEvent('ionActionSheetDidPresent'); + + await page.click('#customActionSheetSelect'); + + await ionActionSheetDidPresent.next(); + + await expect(page.locator('ion-action-sheet')).toBeVisible(); + }); + }); + + test.describe('select: popover', () => { + test('it should open a popover select', async ({ page, skip }) => { + // TODO (FW-2979) + skip.browser('webkit', 'Safari 16 only allows text fields and pop-up menus to be focused.'); + + const ionPopoverDidPresent = await page.spyOnEvent('ionPopoverDidPresent'); + + await page.click('#customPopoverSelect'); + + await ionPopoverDidPresent.next(); + + const popover = page.locator('ion-popover'); + + // select has no value, so first option should be focused by default + const popoverOption1 = popover.locator('.select-interface-option:first-of-type ion-radio'); + await expect(popoverOption1).toBeFocused(); + + await expect(popover).toBeVisible(); + }); + }); + }); +}); + +configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) => { + test.describe(title('select: multiple selects'), () => { + test('should not open multiple alert windows when clicked multiple times', async ({ page }) => { + test.info().annotations.push({ + type: 'issue', + description: 'https://github.com/ionic-team/ionic-framework/issues/25126', + }); + + await page.goto('/src/components/select/test/basic', config); + + const select = page.locator('#gender'); + + await select.evaluate((el: HTMLSelectElement) => { + /* + * Playwright's click() method attempts to scroll to the handle + * to perform the action. That is problematic when the overlay + * is already visible. We manually click() the element instead + * to avoid flaky tests. + */ + el.click(); + el.click(); + el.click(); + }); + + const alerts = await page.$$('ion-alert'); + + expect(alerts.length).toBe(1); + }); + }); +}); + +/** + * ionChange has a consistent behavior across modes + */ +configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => { + test.describe(title('select: ionChange'), () => { + test('should fire ionChange when confirming a value from an alert', async ({ page }) => { + await page.setContent( + ` + + Apple + Banana + + `, + config + ); + + const ionAlertDidPresent = await page.spyOnEvent('ionAlertDidPresent'); + const ionChange = await page.spyOnEvent('ionChange'); + const select = page.locator('ion-select'); + + await select.click(); + await ionAlertDidPresent.next(); + + const alert = page.locator('ion-alert'); + const radioButtons = alert.locator('.alert-radio-button'); + const confirmButton = alert.locator('.alert-button:not(.alert-button-role-cancel)'); + + await radioButtons.nth(0).click(); + await confirmButton.click(); + + await ionChange.next(); + expect(ionChange).toHaveReceivedEventDetail({ value: 'apple' }); + expect(ionChange).toHaveReceivedEventTimes(1); + }); + + test('should fire ionChange when confirming a value from a popover', async ({ page }) => { + await page.setContent( + ` + + Apple + Banana + + `, + config + ); + + const ionPopoverDidPresent = await page.spyOnEvent('ionPopoverDidPresent'); + const select = page.locator('ion-select') as E2ELocator; + const ionChange = await select.spyOnEvent('ionChange'); + + await select.click(); + await ionPopoverDidPresent.next(); + + const popover = page.locator('ion-popover'); + const radioButtons = popover.locator('ion-radio'); + + await radioButtons.nth(0).click(); + + await ionChange.next(); + expect(ionChange).toHaveReceivedEventDetail({ value: 'apple' }); + expect(ionChange).toHaveReceivedEventTimes(1); + }); + + test('should fire ionChange when confirming multiple values from a popover', async ({ page }) => { + await page.setContent( + ` + + Apple + Banana + + `, + config + ); + + const ionPopoverDidPresent = await page.spyOnEvent('ionPopoverDidPresent'); + const select = page.locator('ion-select') as E2ELocator; + const ionChange = await select.spyOnEvent('ionChange'); + + await select.click(); + await ionPopoverDidPresent.next(); + + const popover = page.locator('ion-popover'); + const checkboxes = popover.locator('ion-checkbox'); + + await checkboxes.nth(0).click(); + await ionChange.next(); + + expect(ionChange).toHaveReceivedEventDetail({ value: ['apple'] }); + expect(ionChange).toHaveReceivedEventTimes(1); + + await checkboxes.nth(1).click(); + await ionChange.next(); + + expect(ionChange).toHaveReceivedEventDetail({ value: ['apple', 'banana'] }); + expect(ionChange).toHaveReceivedEventTimes(2); + }); + + test('should fire ionChange when confirming a value from an action sheet', async ({ page }) => { + await page.setContent( + ` + + Apple + Banana + + `, + config + ); + + const ionActionSheetDidPresent = await page.spyOnEvent('ionActionSheetDidPresent'); + const ionChange = await page.spyOnEvent('ionChange'); + const select = page.locator('ion-select'); + + await select.click(); + await ionActionSheetDidPresent.next(); + + const actionSheet = page.locator('ion-action-sheet'); + const buttons = actionSheet.locator('.action-sheet-button'); + + await buttons.nth(0).click(); + + await ionChange.next(); + expect(ionChange).toHaveReceivedEventDetail({ value: 'apple' }); + expect(ionChange).toHaveReceivedEventTimes(1); + }); + + test('should not fire when programmatically setting a valid value', async ({ page }) => { + await page.setContent( + ` + + Apple + Banana + + `, + config + ); + + const ionChange = await page.spyOnEvent('ionChange'); + const select = page.locator('ion-select'); + + await select.evaluate((el: HTMLIonSelectElement) => (el.value = 'banana')); + await expect(ionChange).not.toHaveReceivedEvent(); + }); + }); +}); diff --git a/core/src/components/select/test/card/select.e2e-legacy.ts b/core/src/components/select/test/card/select.e2e-legacy.ts deleted file mode 100644 index 9c470a96fd..0000000000 --- a/core/src/components/select/test/card/select.e2e-legacy.ts +++ /dev/null @@ -1,22 +0,0 @@ -import { expect } from '@playwright/test'; -import { test } from '@utils/test/playwright'; - -test.describe('select: card', () => { - test('should render correctly in card', async ({ page, skip }) => { - skip.rtl(); - skip.mode('ios'); - - await page.setContent(` - - - - - - - - `); - - const card = page.locator('ion-card'); - expect(await card.screenshot()).toMatchSnapshot(`select-card-${page.getSnapshotSettings()}.png`); - }); -}); diff --git a/core/src/components/select/test/card/select.e2e.ts b/core/src/components/select/test/card/select.e2e.ts new file mode 100644 index 0000000000..b667eb69b5 --- /dev/null +++ b/core/src/components/select/test/card/select.e2e.ts @@ -0,0 +1,24 @@ +import { expect } from '@playwright/test'; +import { configs, test } from '@utils/test/playwright'; + +configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, screenshot, config }) => { + test.describe(title('select: card'), () => { + test('should render correctly in card', async ({ page }) => { + await page.setContent( + ` + + + + + + + + `, + config + ); + + const card = page.locator('ion-card'); + expect(await card.screenshot()).toMatchSnapshot(screenshot(`select-card`)); + }); + }); +}); diff --git a/core/src/components/select/test/card/select.e2e-legacy.ts-snapshots/select-card-md-ltr-Mobile-Chrome-linux.png b/core/src/components/select/test/card/select.e2e.ts-snapshots/select-card-md-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/card/select.e2e-legacy.ts-snapshots/select-card-md-ltr-Mobile-Chrome-linux.png rename to core/src/components/select/test/card/select.e2e.ts-snapshots/select-card-md-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/card/select.e2e-legacy.ts-snapshots/select-card-md-ltr-Mobile-Firefox-linux.png b/core/src/components/select/test/card/select.e2e.ts-snapshots/select-card-md-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/card/select.e2e-legacy.ts-snapshots/select-card-md-ltr-Mobile-Firefox-linux.png rename to core/src/components/select/test/card/select.e2e.ts-snapshots/select-card-md-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/card/select.e2e-legacy.ts-snapshots/select-card-md-ltr-Mobile-Safari-linux.png b/core/src/components/select/test/card/select.e2e.ts-snapshots/select-card-md-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/card/select.e2e-legacy.ts-snapshots/select-card-md-ltr-Mobile-Safari-linux.png rename to core/src/components/select/test/card/select.e2e.ts-snapshots/select-card-md-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/color/select.e2e-legacy.ts b/core/src/components/select/test/color/select.e2e-legacy.ts deleted file mode 100644 index 97e75a7c92..0000000000 --- a/core/src/components/select/test/color/select.e2e-legacy.ts +++ /dev/null @@ -1,52 +0,0 @@ -import { expect } from '@playwright/test'; -import { test } from '@utils/test/playwright'; - -test.describe('input: color', () => { - test.beforeEach(({ skip }) => { - skip.rtl(); - skip.mode('ios'); - }); - - test.describe('input: fill none', () => { - test('should set label and highlight color on expand', async ({ page }) => { - await page.setContent(` - - Apple - - `); - - const select = page.locator('ion-select'); - expect(await select.screenshot({ animations: 'disabled' })).toMatchSnapshot( - `select-no-fill-color-${page.getSnapshotSettings()}.png` - ); - }); - }); - test.describe('input: fill solid', () => { - test('should set label and highlight color on expand', async ({ page }) => { - await page.setContent(` - - Apple - - `); - - const select = page.locator('ion-select'); - expect(await select.screenshot({ animations: 'disabled' })).toMatchSnapshot( - `select-solid-color-${page.getSnapshotSettings()}.png` - ); - }); - }); - test.describe('input: fill outline', () => { - test('should set label and highlight color on expand', async ({ page }) => { - await page.setContent(` - - Apple - - `); - - const select = page.locator('ion-select'); - expect(await select.screenshot({ animations: 'disabled' })).toMatchSnapshot( - `select-outline-color-${page.getSnapshotSettings()}.png` - ); - }); - }); -}); diff --git a/core/src/components/select/test/color/select.e2e.ts b/core/src/components/select/test/color/select.e2e.ts new file mode 100644 index 0000000000..8c969dda1e --- /dev/null +++ b/core/src/components/select/test/color/select.e2e.ts @@ -0,0 +1,52 @@ +import { expect } from '@playwright/test'; +import { configs, test } from '@utils/test/playwright'; + +configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, screenshot, config }) => { + test.describe(title('input: color'), () => { + test.describe('input: fill none', () => { + test('should set label and highlight color on expand', async ({ page }) => { + await page.setContent( + ` + + Apple + + `, + config + ); + + const select = page.locator('ion-select'); + expect(await select.screenshot({ animations: 'disabled' })).toMatchSnapshot(screenshot(`select-no-fill-color`)); + }); + }); + test.describe('input: fill solid', () => { + test('should set label and highlight color on expand', async ({ page }) => { + await page.setContent( + ` + + Apple + + `, + config + ); + + const select = page.locator('ion-select'); + expect(await select.screenshot({ animations: 'disabled' })).toMatchSnapshot(screenshot(`select-solid-color`)); + }); + }); + test.describe('input: fill outline', () => { + test('should set label and highlight color on expand', async ({ page }) => { + await page.setContent( + ` + + Apple + + `, + config + ); + + const select = page.locator('ion-select'); + expect(await select.screenshot({ animations: 'disabled' })).toMatchSnapshot(screenshot(`select-outline-color`)); + }); + }); + }); +}); diff --git a/core/src/components/select/test/color/select.e2e-legacy.ts-snapshots/select-no-fill-color-md-ltr-Mobile-Chrome-linux.png b/core/src/components/select/test/color/select.e2e.ts-snapshots/select-no-fill-color-md-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/color/select.e2e-legacy.ts-snapshots/select-no-fill-color-md-ltr-Mobile-Chrome-linux.png rename to core/src/components/select/test/color/select.e2e.ts-snapshots/select-no-fill-color-md-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/color/select.e2e-legacy.ts-snapshots/select-no-fill-color-md-ltr-Mobile-Firefox-linux.png b/core/src/components/select/test/color/select.e2e.ts-snapshots/select-no-fill-color-md-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/color/select.e2e-legacy.ts-snapshots/select-no-fill-color-md-ltr-Mobile-Firefox-linux.png rename to core/src/components/select/test/color/select.e2e.ts-snapshots/select-no-fill-color-md-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/color/select.e2e-legacy.ts-snapshots/select-no-fill-color-md-ltr-Mobile-Safari-linux.png b/core/src/components/select/test/color/select.e2e.ts-snapshots/select-no-fill-color-md-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/color/select.e2e-legacy.ts-snapshots/select-no-fill-color-md-ltr-Mobile-Safari-linux.png rename to core/src/components/select/test/color/select.e2e.ts-snapshots/select-no-fill-color-md-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/color/select.e2e-legacy.ts-snapshots/select-outline-color-md-ltr-Mobile-Chrome-linux.png b/core/src/components/select/test/color/select.e2e.ts-snapshots/select-outline-color-md-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/color/select.e2e-legacy.ts-snapshots/select-outline-color-md-ltr-Mobile-Chrome-linux.png rename to core/src/components/select/test/color/select.e2e.ts-snapshots/select-outline-color-md-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/color/select.e2e-legacy.ts-snapshots/select-outline-color-md-ltr-Mobile-Firefox-linux.png b/core/src/components/select/test/color/select.e2e.ts-snapshots/select-outline-color-md-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/color/select.e2e-legacy.ts-snapshots/select-outline-color-md-ltr-Mobile-Firefox-linux.png rename to core/src/components/select/test/color/select.e2e.ts-snapshots/select-outline-color-md-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/color/select.e2e-legacy.ts-snapshots/select-outline-color-md-ltr-Mobile-Safari-linux.png b/core/src/components/select/test/color/select.e2e.ts-snapshots/select-outline-color-md-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/color/select.e2e-legacy.ts-snapshots/select-outline-color-md-ltr-Mobile-Safari-linux.png rename to core/src/components/select/test/color/select.e2e.ts-snapshots/select-outline-color-md-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/color/select.e2e-legacy.ts-snapshots/select-solid-color-md-ltr-Mobile-Chrome-linux.png b/core/src/components/select/test/color/select.e2e.ts-snapshots/select-solid-color-md-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/color/select.e2e-legacy.ts-snapshots/select-solid-color-md-ltr-Mobile-Chrome-linux.png rename to core/src/components/select/test/color/select.e2e.ts-snapshots/select-solid-color-md-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/color/select.e2e-legacy.ts-snapshots/select-solid-color-md-ltr-Mobile-Firefox-linux.png b/core/src/components/select/test/color/select.e2e.ts-snapshots/select-solid-color-md-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/color/select.e2e-legacy.ts-snapshots/select-solid-color-md-ltr-Mobile-Firefox-linux.png rename to core/src/components/select/test/color/select.e2e.ts-snapshots/select-solid-color-md-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/color/select.e2e-legacy.ts-snapshots/select-solid-color-md-ltr-Mobile-Safari-linux.png b/core/src/components/select/test/color/select.e2e.ts-snapshots/select-solid-color-md-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/color/select.e2e-legacy.ts-snapshots/select-solid-color-md-ltr-Mobile-Safari-linux.png rename to core/src/components/select/test/color/select.e2e.ts-snapshots/select-solid-color-md-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/compare-with/select.e2e-legacy.ts b/core/src/components/select/test/compare-with/select.e2e-legacy.ts deleted file mode 100644 index 163c14a253..0000000000 --- a/core/src/components/select/test/compare-with/select.e2e-legacy.ts +++ /dev/null @@ -1,72 +0,0 @@ -import { expect } from '@playwright/test'; -import { test } from '@utils/test/playwright'; - -test.describe('select: compare-with', () => { - test('should correctly set value when using compareWith property', async ({ page, skip }) => { - skip.rtl('This is checking internal logic. RTL tests are not needed'); - - await page.goto('/src/components/select/test/compare-with'); - - const multipleSelect = page.locator('#multiple'); - const singleSelect = page.locator('#single'); - - await expect(multipleSelect).toHaveJSProperty('value', [ - { - label: 'selected by default', - value: '1', - }, - ]); - await expect(singleSelect).toHaveJSProperty('value', { - label: 'selected by default', - value: '1', - }); - }); - - test('should work with different parameter types', async ({ page }, testInfo) => { - test.skip(testInfo.project.metadata.rtl === true, 'This does not check LTR vs RTL layouts'); - test.skip(testInfo.project.metadata.mode === 'md', 'This logic is the same across modes'); - test.info().annotations.push({ - type: 'issue', - description: 'https://github.com/ionic-team/ionic-framework/issues/25759', - }); - - await page.setContent(` - - - - `); - const ionAlertDidPresent = await page.spyOnEvent('ionAlertDidPresent'); - - const select = page.locator('ion-select'); - const selectLabel = select.locator('[part="text"]'); - - await expect(selectLabel).toHaveText('Option #3'); - - await select.click(); - await ionAlertDidPresent.next(); - - const selectRadios = page.locator('ion-alert button.alert-radio'); - await expect(selectRadios.nth(0)).toHaveAttribute('aria-checked', 'false'); - await expect(selectRadios.nth(1)).toHaveAttribute('aria-checked', 'false'); - await expect(selectRadios.nth(2)).toHaveAttribute('aria-checked', 'true'); - }); -}); diff --git a/core/src/components/select/test/compare-with/select.e2e.ts b/core/src/components/select/test/compare-with/select.e2e.ts new file mode 100644 index 0000000000..1c0e209ddc --- /dev/null +++ b/core/src/components/select/test/compare-with/select.e2e.ts @@ -0,0 +1,76 @@ +import { expect } from '@playwright/test'; +import { configs, test } from '@utils/test/playwright'; + +/** + * This behavior does not vary across modes/directions. + */ +configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) => { + test.describe(title('select: compare-with'), () => { + test('should correctly set value when using compareWith property', async ({ page }) => { + await page.goto('/src/components/select/test/compare-with', config); + + const multipleSelect = page.locator('#multiple'); + const singleSelect = page.locator('#single'); + + await expect(multipleSelect).toHaveJSProperty('value', [ + { + label: 'selected by default', + value: '1', + }, + ]); + await expect(singleSelect).toHaveJSProperty('value', { + label: 'selected by default', + value: '1', + }); + }); + + test('should work with different parameter types', async ({ page }) => { + test.info().annotations.push({ + type: 'issue', + description: 'https://github.com/ionic-team/ionic-framework/issues/25759', + }); + + await page.setContent( + ` + + + + `, + config + ); + const ionAlertDidPresent = await page.spyOnEvent('ionAlertDidPresent'); + + const select = page.locator('ion-select'); + const selectLabel = select.locator('[part="text"]'); + + await expect(selectLabel).toHaveText('Option #3'); + + await select.click(); + await ionAlertDidPresent.next(); + + const selectRadios = page.locator('ion-alert button.alert-radio'); + await expect(selectRadios.nth(0)).toHaveAttribute('aria-checked', 'false'); + await expect(selectRadios.nth(1)).toHaveAttribute('aria-checked', 'false'); + await expect(selectRadios.nth(2)).toHaveAttribute('aria-checked', 'true'); + }); + }); +}); diff --git a/core/src/components/select/test/custom/custom.e2e-legacy.ts-snapshots/select-custom-diff-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/select/test/custom/custom.e2e-legacy.ts-snapshots/select-custom-diff-ios-ltr-Mobile-Chrome-linux.png deleted file mode 100644 index 7bbe19c92f..0000000000 Binary files a/core/src/components/select/test/custom/custom.e2e-legacy.ts-snapshots/select-custom-diff-ios-ltr-Mobile-Chrome-linux.png and /dev/null differ diff --git a/core/src/components/select/test/custom/custom.e2e-legacy.ts-snapshots/select-custom-diff-ios-ltr-Mobile-Safari-linux.png b/core/src/components/select/test/custom/custom.e2e-legacy.ts-snapshots/select-custom-diff-ios-ltr-Mobile-Safari-linux.png deleted file mode 100644 index 5789c6bb3a..0000000000 Binary files a/core/src/components/select/test/custom/custom.e2e-legacy.ts-snapshots/select-custom-diff-ios-ltr-Mobile-Safari-linux.png and /dev/null differ diff --git a/core/src/components/select/test/custom/custom.e2e-legacy.ts-snapshots/select-custom-diff-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/select/test/custom/custom.e2e-legacy.ts-snapshots/select-custom-diff-ios-rtl-Mobile-Chrome-linux.png deleted file mode 100644 index a7374fd95d..0000000000 Binary files a/core/src/components/select/test/custom/custom.e2e-legacy.ts-snapshots/select-custom-diff-ios-rtl-Mobile-Chrome-linux.png and /dev/null differ diff --git a/core/src/components/select/test/custom/custom.e2e-legacy.ts-snapshots/select-custom-diff-ios-rtl-Mobile-Safari-linux.png b/core/src/components/select/test/custom/custom.e2e-legacy.ts-snapshots/select-custom-diff-ios-rtl-Mobile-Safari-linux.png deleted file mode 100644 index 8fb95e0d02..0000000000 Binary files a/core/src/components/select/test/custom/custom.e2e-legacy.ts-snapshots/select-custom-diff-ios-rtl-Mobile-Safari-linux.png and /dev/null differ diff --git a/core/src/components/select/test/custom/custom.e2e-legacy.ts-snapshots/select-custom-diff-md-ltr-Mobile-Chrome-linux.png b/core/src/components/select/test/custom/custom.e2e-legacy.ts-snapshots/select-custom-diff-md-ltr-Mobile-Chrome-linux.png deleted file mode 100644 index 86b68099f7..0000000000 Binary files a/core/src/components/select/test/custom/custom.e2e-legacy.ts-snapshots/select-custom-diff-md-ltr-Mobile-Chrome-linux.png and /dev/null differ diff --git a/core/src/components/select/test/custom/custom.e2e-legacy.ts-snapshots/select-custom-diff-md-ltr-Mobile-Safari-linux.png b/core/src/components/select/test/custom/custom.e2e-legacy.ts-snapshots/select-custom-diff-md-ltr-Mobile-Safari-linux.png deleted file mode 100644 index 8ab2bff810..0000000000 Binary files a/core/src/components/select/test/custom/custom.e2e-legacy.ts-snapshots/select-custom-diff-md-ltr-Mobile-Safari-linux.png and /dev/null differ diff --git a/core/src/components/select/test/custom/custom.e2e-legacy.ts-snapshots/select-custom-diff-md-rtl-Mobile-Chrome-linux.png b/core/src/components/select/test/custom/custom.e2e-legacy.ts-snapshots/select-custom-diff-md-rtl-Mobile-Chrome-linux.png deleted file mode 100644 index 4c5fb4b2cf..0000000000 Binary files a/core/src/components/select/test/custom/custom.e2e-legacy.ts-snapshots/select-custom-diff-md-rtl-Mobile-Chrome-linux.png and /dev/null differ diff --git a/core/src/components/select/test/custom/custom.e2e-legacy.ts-snapshots/select-custom-diff-md-rtl-Mobile-Safari-linux.png b/core/src/components/select/test/custom/custom.e2e-legacy.ts-snapshots/select-custom-diff-md-rtl-Mobile-Safari-linux.png deleted file mode 100644 index e22a773146..0000000000 Binary files a/core/src/components/select/test/custom/custom.e2e-legacy.ts-snapshots/select-custom-diff-md-rtl-Mobile-Safari-linux.png and /dev/null differ diff --git a/core/src/components/select/test/custom/select.e2e-legacy.ts b/core/src/components/select/test/custom/select.e2e-legacy.ts deleted file mode 100644 index ac308a1459..0000000000 --- a/core/src/components/select/test/custom/select.e2e-legacy.ts +++ /dev/null @@ -1,39 +0,0 @@ -import { expect } from '@playwright/test'; -import { test } from '@utils/test/playwright'; - -test.describe('select: custom', () => { - test('should be able to customize select using css apis', async ({ page, skip }) => { - skip.rtl(); - - test.info().annotations.push({ - type: 'issue', - description: 'https://github.com/ionic-team/ionic-framework/issues/27208', - }); - - await page.setContent(` - - Apple - - - - `); - - const select = page.locator('ion-select'); - await expect(select).toHaveScreenshot(`select-custon-diff-${page.getSnapshotSettings()}.png`); - }); -}); diff --git a/core/src/components/select/test/custom/select.e2e.ts b/core/src/components/select/test/custom/select.e2e.ts new file mode 100644 index 0000000000..6cf8161b69 --- /dev/null +++ b/core/src/components/select/test/custom/select.e2e.ts @@ -0,0 +1,42 @@ +import { expect } from '@playwright/test'; +import { configs, test } from '@utils/test/playwright'; + +configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => { + test.describe(title('select: custom'), () => { + test('should be able to customize select using css apis', async ({ page }) => { + test.info().annotations.push({ + type: 'issue', + description: 'https://github.com/ionic-team/ionic-framework/issues/27208', + }); + + await page.setContent( + ` + + Apple + + + + `, + config + ); + + const select = page.locator('ion-select'); + await expect(select).toHaveScreenshot(screenshot(`select-custon-diff`)); + }); + }); +}); diff --git a/core/src/components/select/test/custom/select.e2e-legacy.ts-snapshots/select-custon-diff-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/select/test/custom/select.e2e.ts-snapshots/select-custon-diff-ios-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/custom/select.e2e-legacy.ts-snapshots/select-custon-diff-ios-ltr-Mobile-Chrome-linux.png rename to core/src/components/select/test/custom/select.e2e.ts-snapshots/select-custon-diff-ios-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/custom/select.e2e-legacy.ts-snapshots/select-custon-diff-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/select/test/custom/select.e2e.ts-snapshots/select-custon-diff-ios-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/custom/select.e2e-legacy.ts-snapshots/select-custon-diff-ios-ltr-Mobile-Firefox-linux.png rename to core/src/components/select/test/custom/select.e2e.ts-snapshots/select-custon-diff-ios-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/custom/select.e2e-legacy.ts-snapshots/select-custon-diff-ios-ltr-Mobile-Safari-linux.png b/core/src/components/select/test/custom/select.e2e.ts-snapshots/select-custon-diff-ios-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/custom/select.e2e-legacy.ts-snapshots/select-custon-diff-ios-ltr-Mobile-Safari-linux.png rename to core/src/components/select/test/custom/select.e2e.ts-snapshots/select-custon-diff-ios-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/custom/select.e2e-legacy.ts-snapshots/select-custon-diff-md-ltr-Mobile-Chrome-linux.png b/core/src/components/select/test/custom/select.e2e.ts-snapshots/select-custon-diff-md-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/custom/select.e2e-legacy.ts-snapshots/select-custon-diff-md-ltr-Mobile-Chrome-linux.png rename to core/src/components/select/test/custom/select.e2e.ts-snapshots/select-custon-diff-md-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/custom/select.e2e-legacy.ts-snapshots/select-custon-diff-md-ltr-Mobile-Firefox-linux.png b/core/src/components/select/test/custom/select.e2e.ts-snapshots/select-custon-diff-md-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/custom/select.e2e-legacy.ts-snapshots/select-custon-diff-md-ltr-Mobile-Firefox-linux.png rename to core/src/components/select/test/custom/select.e2e.ts-snapshots/select-custon-diff-md-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/custom/select.e2e-legacy.ts-snapshots/select-custon-diff-md-ltr-Mobile-Safari-linux.png b/core/src/components/select/test/custom/select.e2e.ts-snapshots/select-custon-diff-md-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/custom/select.e2e-legacy.ts-snapshots/select-custon-diff-md-ltr-Mobile-Safari-linux.png rename to core/src/components/select/test/custom/select.e2e.ts-snapshots/select-custon-diff-md-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/fill/select.e2e-legacy.ts b/core/src/components/select/test/fill/select.e2e-legacy.ts deleted file mode 100644 index 4f6b20446b..0000000000 --- a/core/src/components/select/test/fill/select.e2e-legacy.ts +++ /dev/null @@ -1,155 +0,0 @@ -import { expect } from '@playwright/test'; -import { test } from '@utils/test/playwright'; - -test.describe('select: fill', () => { - test.beforeEach(({ skip }) => { - skip.mode('ios', 'Fill is only available in MD mode'); - }); - - test.describe('select: fill solid', () => { - test('should not have visual regressions', async ({ page }) => { - await page.setContent(` - - Apple - - `); - - const select = page.locator('ion-select'); - expect(await select.screenshot()).toMatchSnapshot(`select-fill-solid-${page.getSnapshotSettings()}.png`); - }); - test('should render correctly with floating label', async ({ page }) => { - await page.setContent(` - - Apple - - `); - - const select = page.locator('ion-select'); - expect(await select.screenshot()).toMatchSnapshot( - `select-fill-solid-label-floating-${page.getSnapshotSettings()}.png` - ); - }); - test('should not have visual regressions with shaped solid', async ({ page }) => { - await page.setContent(` - - Apple - - `); - - const select = page.locator('ion-select'); - expect(await select.screenshot()).toMatchSnapshot(`select-fill-shaped-solid-${page.getSnapshotSettings()}.png`); - }); - test('padding and border radius should be customizable', async ({ page }) => { - await page.setContent(` - - - Apple - - `); - - const select = page.locator('ion-select'); - expect(await select.screenshot()).toMatchSnapshot( - `select-fill-shaped-solid-custom-${page.getSnapshotSettings()}.png` - ); - }); - }); - test.describe('select: fill outline', () => { - test('should not have visual regressions', async ({ page }) => { - await page.setContent(` - - Apple - - `); - - const select = page.locator('ion-select'); - expect(await select.screenshot()).toMatchSnapshot(`select-fill-outline-${page.getSnapshotSettings()}.png`); - }); - test('should render correctly with floating label', async ({ page }) => { - await page.setContent(` - - Apple - - `); - - const select = page.locator('ion-select'); - expect(await select.screenshot()).toMatchSnapshot( - `select-fill-outline-label-floating-${page.getSnapshotSettings()}.png` - ); - }); - test('should not have visual regressions with shaped outline', async ({ page }) => { - await page.setContent(` - - Apple - - `); - - const select = page.locator('ion-select'); - expect(await select.screenshot()).toMatchSnapshot(`select-fill-shaped-outline-${page.getSnapshotSettings()}.png`); - }); - test('padding and border radius should be customizable', async ({ page }) => { - await page.setContent(` - - - Apple - - `); - - const select = page.locator('ion-select'); - expect(await select.screenshot()).toMatchSnapshot( - `select-fill-shaped-outline-custom-${page.getSnapshotSettings()}.png` - ); - }); - }); -}); diff --git a/core/src/components/select/test/fill/select.e2e.ts b/core/src/components/select/test/fill/select.e2e.ts new file mode 100644 index 0000000000..767191fbdf --- /dev/null +++ b/core/src/components/select/test/fill/select.e2e.ts @@ -0,0 +1,169 @@ +import { expect } from '@playwright/test'; +import { configs, test } from '@utils/test/playwright'; + +configs({ modes: ['md'] }).forEach(({ title, screenshot, config }) => { + test.describe(title('select: fill'), () => { + test.describe('select: fill solid', () => { + test('should not have visual regressions', async ({ page }) => { + await page.setContent( + ` + + Apple + + `, + config + ); + + const select = page.locator('ion-select'); + expect(await select.screenshot()).toMatchSnapshot(screenshot(`select-fill-solid`)); + }); + test('should render correctly with floating label', async ({ page }) => { + await page.setContent( + ` + + Apple + + `, + config + ); + + const select = page.locator('ion-select'); + expect(await select.screenshot()).toMatchSnapshot(screenshot(`select-fill-solid-label-floating`)); + }); + test('should not have visual regressions with shaped solid', async ({ page }) => { + await page.setContent( + ` + + Apple + + `, + config + ); + + const select = page.locator('ion-select'); + expect(await select.screenshot()).toMatchSnapshot(screenshot(`select-fill-shaped-solid`)); + }); + test('padding and border radius should be customizable', async ({ page }) => { + await page.setContent( + ` + + + Apple + + `, + config + ); + + const select = page.locator('ion-select'); + expect(await select.screenshot()).toMatchSnapshot(screenshot(`select-fill-shaped-solid-custom`)); + }); + }); + test.describe('select: fill outline', () => { + test('should not have visual regressions', async ({ page }) => { + await page.setContent( + ` + + Apple + + `, + config + ); + + const select = page.locator('ion-select'); + expect(await select.screenshot()).toMatchSnapshot(screenshot(`select-fill-outline`)); + }); + test('should render correctly with floating label', async ({ page }) => { + await page.setContent( + ` + + Apple + + `, + config + ); + + const select = page.locator('ion-select'); + expect(await select.screenshot()).toMatchSnapshot(screenshot(`select-fill-outline-label-floating`)); + }); + test('should not have visual regressions with shaped outline', async ({ page }) => { + await page.setContent( + ` + + Apple + + `, + config + ); + + const select = page.locator('ion-select'); + expect(await select.screenshot()).toMatchSnapshot(screenshot(`select-fill-shaped-outline`)); + }); + test('padding and border radius should be customizable', async ({ page }) => { + await page.setContent( + ` + + + Apple + + `, + config + ); + + const select = page.locator('ion-select'); + expect(await select.screenshot()).toMatchSnapshot(screenshot(`select-fill-shaped-outline-custom`)); + }); + }); + }); +}); diff --git a/core/src/components/select/test/fill/select.e2e-legacy.ts-snapshots/select-fill-outline-label-floating-md-ltr-Mobile-Chrome-linux.png b/core/src/components/select/test/fill/select.e2e.ts-snapshots/select-fill-outline-label-floating-md-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/fill/select.e2e-legacy.ts-snapshots/select-fill-outline-label-floating-md-ltr-Mobile-Chrome-linux.png rename to core/src/components/select/test/fill/select.e2e.ts-snapshots/select-fill-outline-label-floating-md-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/fill/select.e2e-legacy.ts-snapshots/select-fill-outline-label-floating-md-ltr-Mobile-Firefox-linux.png b/core/src/components/select/test/fill/select.e2e.ts-snapshots/select-fill-outline-label-floating-md-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/fill/select.e2e-legacy.ts-snapshots/select-fill-outline-label-floating-md-ltr-Mobile-Firefox-linux.png rename to core/src/components/select/test/fill/select.e2e.ts-snapshots/select-fill-outline-label-floating-md-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/fill/select.e2e-legacy.ts-snapshots/select-fill-outline-label-floating-md-ltr-Mobile-Safari-linux.png b/core/src/components/select/test/fill/select.e2e.ts-snapshots/select-fill-outline-label-floating-md-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/fill/select.e2e-legacy.ts-snapshots/select-fill-outline-label-floating-md-ltr-Mobile-Safari-linux.png rename to core/src/components/select/test/fill/select.e2e.ts-snapshots/select-fill-outline-label-floating-md-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/fill/select.e2e-legacy.ts-snapshots/select-fill-outline-label-floating-md-rtl-Mobile-Chrome-linux.png b/core/src/components/select/test/fill/select.e2e.ts-snapshots/select-fill-outline-label-floating-md-rtl-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/fill/select.e2e-legacy.ts-snapshots/select-fill-outline-label-floating-md-rtl-Mobile-Chrome-linux.png rename to core/src/components/select/test/fill/select.e2e.ts-snapshots/select-fill-outline-label-floating-md-rtl-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/fill/select.e2e-legacy.ts-snapshots/select-fill-outline-label-floating-md-rtl-Mobile-Firefox-linux.png b/core/src/components/select/test/fill/select.e2e.ts-snapshots/select-fill-outline-label-floating-md-rtl-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/fill/select.e2e-legacy.ts-snapshots/select-fill-outline-label-floating-md-rtl-Mobile-Firefox-linux.png rename to core/src/components/select/test/fill/select.e2e.ts-snapshots/select-fill-outline-label-floating-md-rtl-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/fill/select.e2e-legacy.ts-snapshots/select-fill-outline-label-floating-md-rtl-Mobile-Safari-linux.png b/core/src/components/select/test/fill/select.e2e.ts-snapshots/select-fill-outline-label-floating-md-rtl-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/fill/select.e2e-legacy.ts-snapshots/select-fill-outline-label-floating-md-rtl-Mobile-Safari-linux.png rename to core/src/components/select/test/fill/select.e2e.ts-snapshots/select-fill-outline-label-floating-md-rtl-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/fill/select.e2e-legacy.ts-snapshots/select-fill-outline-md-ltr-Mobile-Chrome-linux.png b/core/src/components/select/test/fill/select.e2e.ts-snapshots/select-fill-outline-md-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/fill/select.e2e-legacy.ts-snapshots/select-fill-outline-md-ltr-Mobile-Chrome-linux.png rename to core/src/components/select/test/fill/select.e2e.ts-snapshots/select-fill-outline-md-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/fill/select.e2e-legacy.ts-snapshots/select-fill-outline-md-ltr-Mobile-Firefox-linux.png b/core/src/components/select/test/fill/select.e2e.ts-snapshots/select-fill-outline-md-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/fill/select.e2e-legacy.ts-snapshots/select-fill-outline-md-ltr-Mobile-Firefox-linux.png rename to core/src/components/select/test/fill/select.e2e.ts-snapshots/select-fill-outline-md-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/fill/select.e2e-legacy.ts-snapshots/select-fill-outline-md-ltr-Mobile-Safari-linux.png b/core/src/components/select/test/fill/select.e2e.ts-snapshots/select-fill-outline-md-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/fill/select.e2e-legacy.ts-snapshots/select-fill-outline-md-ltr-Mobile-Safari-linux.png rename to core/src/components/select/test/fill/select.e2e.ts-snapshots/select-fill-outline-md-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/fill/select.e2e-legacy.ts-snapshots/select-fill-outline-md-rtl-Mobile-Chrome-linux.png b/core/src/components/select/test/fill/select.e2e.ts-snapshots/select-fill-outline-md-rtl-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/fill/select.e2e-legacy.ts-snapshots/select-fill-outline-md-rtl-Mobile-Chrome-linux.png rename to core/src/components/select/test/fill/select.e2e.ts-snapshots/select-fill-outline-md-rtl-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/fill/select.e2e-legacy.ts-snapshots/select-fill-outline-md-rtl-Mobile-Firefox-linux.png b/core/src/components/select/test/fill/select.e2e.ts-snapshots/select-fill-outline-md-rtl-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/fill/select.e2e-legacy.ts-snapshots/select-fill-outline-md-rtl-Mobile-Firefox-linux.png rename to core/src/components/select/test/fill/select.e2e.ts-snapshots/select-fill-outline-md-rtl-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/fill/select.e2e-legacy.ts-snapshots/select-fill-outline-md-rtl-Mobile-Safari-linux.png b/core/src/components/select/test/fill/select.e2e.ts-snapshots/select-fill-outline-md-rtl-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/fill/select.e2e-legacy.ts-snapshots/select-fill-outline-md-rtl-Mobile-Safari-linux.png rename to core/src/components/select/test/fill/select.e2e.ts-snapshots/select-fill-outline-md-rtl-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/fill/select.e2e-legacy.ts-snapshots/select-fill-shaped-outline-custom-md-ltr-Mobile-Chrome-linux.png b/core/src/components/select/test/fill/select.e2e.ts-snapshots/select-fill-shaped-outline-custom-md-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/fill/select.e2e-legacy.ts-snapshots/select-fill-shaped-outline-custom-md-ltr-Mobile-Chrome-linux.png rename to core/src/components/select/test/fill/select.e2e.ts-snapshots/select-fill-shaped-outline-custom-md-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/fill/select.e2e-legacy.ts-snapshots/select-fill-shaped-outline-custom-md-ltr-Mobile-Firefox-linux.png b/core/src/components/select/test/fill/select.e2e.ts-snapshots/select-fill-shaped-outline-custom-md-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/fill/select.e2e-legacy.ts-snapshots/select-fill-shaped-outline-custom-md-ltr-Mobile-Firefox-linux.png rename to core/src/components/select/test/fill/select.e2e.ts-snapshots/select-fill-shaped-outline-custom-md-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/fill/select.e2e-legacy.ts-snapshots/select-fill-shaped-outline-custom-md-ltr-Mobile-Safari-linux.png b/core/src/components/select/test/fill/select.e2e.ts-snapshots/select-fill-shaped-outline-custom-md-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/fill/select.e2e-legacy.ts-snapshots/select-fill-shaped-outline-custom-md-ltr-Mobile-Safari-linux.png rename to core/src/components/select/test/fill/select.e2e.ts-snapshots/select-fill-shaped-outline-custom-md-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/fill/select.e2e-legacy.ts-snapshots/select-fill-shaped-outline-custom-md-rtl-Mobile-Chrome-linux.png b/core/src/components/select/test/fill/select.e2e.ts-snapshots/select-fill-shaped-outline-custom-md-rtl-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/fill/select.e2e-legacy.ts-snapshots/select-fill-shaped-outline-custom-md-rtl-Mobile-Chrome-linux.png rename to core/src/components/select/test/fill/select.e2e.ts-snapshots/select-fill-shaped-outline-custom-md-rtl-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/fill/select.e2e-legacy.ts-snapshots/select-fill-shaped-outline-custom-md-rtl-Mobile-Firefox-linux.png b/core/src/components/select/test/fill/select.e2e.ts-snapshots/select-fill-shaped-outline-custom-md-rtl-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/fill/select.e2e-legacy.ts-snapshots/select-fill-shaped-outline-custom-md-rtl-Mobile-Firefox-linux.png rename to core/src/components/select/test/fill/select.e2e.ts-snapshots/select-fill-shaped-outline-custom-md-rtl-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/fill/select.e2e-legacy.ts-snapshots/select-fill-shaped-outline-custom-md-rtl-Mobile-Safari-linux.png b/core/src/components/select/test/fill/select.e2e.ts-snapshots/select-fill-shaped-outline-custom-md-rtl-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/fill/select.e2e-legacy.ts-snapshots/select-fill-shaped-outline-custom-md-rtl-Mobile-Safari-linux.png rename to core/src/components/select/test/fill/select.e2e.ts-snapshots/select-fill-shaped-outline-custom-md-rtl-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/fill/select.e2e-legacy.ts-snapshots/select-fill-shaped-outline-md-ltr-Mobile-Chrome-linux.png b/core/src/components/select/test/fill/select.e2e.ts-snapshots/select-fill-shaped-outline-md-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/fill/select.e2e-legacy.ts-snapshots/select-fill-shaped-outline-md-ltr-Mobile-Chrome-linux.png rename to core/src/components/select/test/fill/select.e2e.ts-snapshots/select-fill-shaped-outline-md-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/fill/select.e2e-legacy.ts-snapshots/select-fill-shaped-outline-md-ltr-Mobile-Firefox-linux.png b/core/src/components/select/test/fill/select.e2e.ts-snapshots/select-fill-shaped-outline-md-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/fill/select.e2e-legacy.ts-snapshots/select-fill-shaped-outline-md-ltr-Mobile-Firefox-linux.png rename to core/src/components/select/test/fill/select.e2e.ts-snapshots/select-fill-shaped-outline-md-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/fill/select.e2e-legacy.ts-snapshots/select-fill-shaped-outline-md-ltr-Mobile-Safari-linux.png b/core/src/components/select/test/fill/select.e2e.ts-snapshots/select-fill-shaped-outline-md-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/fill/select.e2e-legacy.ts-snapshots/select-fill-shaped-outline-md-ltr-Mobile-Safari-linux.png rename to core/src/components/select/test/fill/select.e2e.ts-snapshots/select-fill-shaped-outline-md-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/fill/select.e2e-legacy.ts-snapshots/select-fill-shaped-outline-md-rtl-Mobile-Chrome-linux.png b/core/src/components/select/test/fill/select.e2e.ts-snapshots/select-fill-shaped-outline-md-rtl-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/fill/select.e2e-legacy.ts-snapshots/select-fill-shaped-outline-md-rtl-Mobile-Chrome-linux.png rename to core/src/components/select/test/fill/select.e2e.ts-snapshots/select-fill-shaped-outline-md-rtl-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/fill/select.e2e-legacy.ts-snapshots/select-fill-shaped-outline-md-rtl-Mobile-Firefox-linux.png b/core/src/components/select/test/fill/select.e2e.ts-snapshots/select-fill-shaped-outline-md-rtl-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/fill/select.e2e-legacy.ts-snapshots/select-fill-shaped-outline-md-rtl-Mobile-Firefox-linux.png rename to core/src/components/select/test/fill/select.e2e.ts-snapshots/select-fill-shaped-outline-md-rtl-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/fill/select.e2e-legacy.ts-snapshots/select-fill-shaped-outline-md-rtl-Mobile-Safari-linux.png b/core/src/components/select/test/fill/select.e2e.ts-snapshots/select-fill-shaped-outline-md-rtl-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/fill/select.e2e-legacy.ts-snapshots/select-fill-shaped-outline-md-rtl-Mobile-Safari-linux.png rename to core/src/components/select/test/fill/select.e2e.ts-snapshots/select-fill-shaped-outline-md-rtl-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/fill/select.e2e-legacy.ts-snapshots/select-fill-shaped-solid-custom-md-ltr-Mobile-Chrome-linux.png b/core/src/components/select/test/fill/select.e2e.ts-snapshots/select-fill-shaped-solid-custom-md-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/fill/select.e2e-legacy.ts-snapshots/select-fill-shaped-solid-custom-md-ltr-Mobile-Chrome-linux.png rename to core/src/components/select/test/fill/select.e2e.ts-snapshots/select-fill-shaped-solid-custom-md-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/fill/select.e2e-legacy.ts-snapshots/select-fill-shaped-solid-custom-md-ltr-Mobile-Firefox-linux.png b/core/src/components/select/test/fill/select.e2e.ts-snapshots/select-fill-shaped-solid-custom-md-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/fill/select.e2e-legacy.ts-snapshots/select-fill-shaped-solid-custom-md-ltr-Mobile-Firefox-linux.png rename to core/src/components/select/test/fill/select.e2e.ts-snapshots/select-fill-shaped-solid-custom-md-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/fill/select.e2e-legacy.ts-snapshots/select-fill-shaped-solid-custom-md-ltr-Mobile-Safari-linux.png b/core/src/components/select/test/fill/select.e2e.ts-snapshots/select-fill-shaped-solid-custom-md-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/fill/select.e2e-legacy.ts-snapshots/select-fill-shaped-solid-custom-md-ltr-Mobile-Safari-linux.png rename to core/src/components/select/test/fill/select.e2e.ts-snapshots/select-fill-shaped-solid-custom-md-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/fill/select.e2e-legacy.ts-snapshots/select-fill-shaped-solid-custom-md-rtl-Mobile-Chrome-linux.png b/core/src/components/select/test/fill/select.e2e.ts-snapshots/select-fill-shaped-solid-custom-md-rtl-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/fill/select.e2e-legacy.ts-snapshots/select-fill-shaped-solid-custom-md-rtl-Mobile-Chrome-linux.png rename to core/src/components/select/test/fill/select.e2e.ts-snapshots/select-fill-shaped-solid-custom-md-rtl-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/fill/select.e2e-legacy.ts-snapshots/select-fill-shaped-solid-custom-md-rtl-Mobile-Firefox-linux.png b/core/src/components/select/test/fill/select.e2e.ts-snapshots/select-fill-shaped-solid-custom-md-rtl-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/fill/select.e2e-legacy.ts-snapshots/select-fill-shaped-solid-custom-md-rtl-Mobile-Firefox-linux.png rename to core/src/components/select/test/fill/select.e2e.ts-snapshots/select-fill-shaped-solid-custom-md-rtl-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/fill/select.e2e-legacy.ts-snapshots/select-fill-shaped-solid-custom-md-rtl-Mobile-Safari-linux.png b/core/src/components/select/test/fill/select.e2e.ts-snapshots/select-fill-shaped-solid-custom-md-rtl-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/fill/select.e2e-legacy.ts-snapshots/select-fill-shaped-solid-custom-md-rtl-Mobile-Safari-linux.png rename to core/src/components/select/test/fill/select.e2e.ts-snapshots/select-fill-shaped-solid-custom-md-rtl-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/fill/select.e2e-legacy.ts-snapshots/select-fill-shaped-solid-md-ltr-Mobile-Chrome-linux.png b/core/src/components/select/test/fill/select.e2e.ts-snapshots/select-fill-shaped-solid-md-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/fill/select.e2e-legacy.ts-snapshots/select-fill-shaped-solid-md-ltr-Mobile-Chrome-linux.png rename to core/src/components/select/test/fill/select.e2e.ts-snapshots/select-fill-shaped-solid-md-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/fill/select.e2e-legacy.ts-snapshots/select-fill-shaped-solid-md-ltr-Mobile-Firefox-linux.png b/core/src/components/select/test/fill/select.e2e.ts-snapshots/select-fill-shaped-solid-md-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/fill/select.e2e-legacy.ts-snapshots/select-fill-shaped-solid-md-ltr-Mobile-Firefox-linux.png rename to core/src/components/select/test/fill/select.e2e.ts-snapshots/select-fill-shaped-solid-md-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/fill/select.e2e-legacy.ts-snapshots/select-fill-shaped-solid-md-ltr-Mobile-Safari-linux.png b/core/src/components/select/test/fill/select.e2e.ts-snapshots/select-fill-shaped-solid-md-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/fill/select.e2e-legacy.ts-snapshots/select-fill-shaped-solid-md-ltr-Mobile-Safari-linux.png rename to core/src/components/select/test/fill/select.e2e.ts-snapshots/select-fill-shaped-solid-md-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/fill/select.e2e-legacy.ts-snapshots/select-fill-shaped-solid-md-rtl-Mobile-Chrome-linux.png b/core/src/components/select/test/fill/select.e2e.ts-snapshots/select-fill-shaped-solid-md-rtl-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/fill/select.e2e-legacy.ts-snapshots/select-fill-shaped-solid-md-rtl-Mobile-Chrome-linux.png rename to core/src/components/select/test/fill/select.e2e.ts-snapshots/select-fill-shaped-solid-md-rtl-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/fill/select.e2e-legacy.ts-snapshots/select-fill-shaped-solid-md-rtl-Mobile-Firefox-linux.png b/core/src/components/select/test/fill/select.e2e.ts-snapshots/select-fill-shaped-solid-md-rtl-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/fill/select.e2e-legacy.ts-snapshots/select-fill-shaped-solid-md-rtl-Mobile-Firefox-linux.png rename to core/src/components/select/test/fill/select.e2e.ts-snapshots/select-fill-shaped-solid-md-rtl-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/fill/select.e2e-legacy.ts-snapshots/select-fill-shaped-solid-md-rtl-Mobile-Safari-linux.png b/core/src/components/select/test/fill/select.e2e.ts-snapshots/select-fill-shaped-solid-md-rtl-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/fill/select.e2e-legacy.ts-snapshots/select-fill-shaped-solid-md-rtl-Mobile-Safari-linux.png rename to core/src/components/select/test/fill/select.e2e.ts-snapshots/select-fill-shaped-solid-md-rtl-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/fill/select.e2e-legacy.ts-snapshots/select-fill-solid-label-floating-md-ltr-Mobile-Chrome-linux.png b/core/src/components/select/test/fill/select.e2e.ts-snapshots/select-fill-solid-label-floating-md-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/fill/select.e2e-legacy.ts-snapshots/select-fill-solid-label-floating-md-ltr-Mobile-Chrome-linux.png rename to core/src/components/select/test/fill/select.e2e.ts-snapshots/select-fill-solid-label-floating-md-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/fill/select.e2e-legacy.ts-snapshots/select-fill-solid-label-floating-md-ltr-Mobile-Firefox-linux.png b/core/src/components/select/test/fill/select.e2e.ts-snapshots/select-fill-solid-label-floating-md-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/fill/select.e2e-legacy.ts-snapshots/select-fill-solid-label-floating-md-ltr-Mobile-Firefox-linux.png rename to core/src/components/select/test/fill/select.e2e.ts-snapshots/select-fill-solid-label-floating-md-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/fill/select.e2e-legacy.ts-snapshots/select-fill-solid-label-floating-md-ltr-Mobile-Safari-linux.png b/core/src/components/select/test/fill/select.e2e.ts-snapshots/select-fill-solid-label-floating-md-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/fill/select.e2e-legacy.ts-snapshots/select-fill-solid-label-floating-md-ltr-Mobile-Safari-linux.png rename to core/src/components/select/test/fill/select.e2e.ts-snapshots/select-fill-solid-label-floating-md-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/fill/select.e2e-legacy.ts-snapshots/select-fill-solid-label-floating-md-rtl-Mobile-Chrome-linux.png b/core/src/components/select/test/fill/select.e2e.ts-snapshots/select-fill-solid-label-floating-md-rtl-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/fill/select.e2e-legacy.ts-snapshots/select-fill-solid-label-floating-md-rtl-Mobile-Chrome-linux.png rename to core/src/components/select/test/fill/select.e2e.ts-snapshots/select-fill-solid-label-floating-md-rtl-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/fill/select.e2e-legacy.ts-snapshots/select-fill-solid-label-floating-md-rtl-Mobile-Firefox-linux.png b/core/src/components/select/test/fill/select.e2e.ts-snapshots/select-fill-solid-label-floating-md-rtl-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/fill/select.e2e-legacy.ts-snapshots/select-fill-solid-label-floating-md-rtl-Mobile-Firefox-linux.png rename to core/src/components/select/test/fill/select.e2e.ts-snapshots/select-fill-solid-label-floating-md-rtl-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/fill/select.e2e-legacy.ts-snapshots/select-fill-solid-label-floating-md-rtl-Mobile-Safari-linux.png b/core/src/components/select/test/fill/select.e2e.ts-snapshots/select-fill-solid-label-floating-md-rtl-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/fill/select.e2e-legacy.ts-snapshots/select-fill-solid-label-floating-md-rtl-Mobile-Safari-linux.png rename to core/src/components/select/test/fill/select.e2e.ts-snapshots/select-fill-solid-label-floating-md-rtl-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/fill/select.e2e-legacy.ts-snapshots/select-fill-solid-md-ltr-Mobile-Chrome-linux.png b/core/src/components/select/test/fill/select.e2e.ts-snapshots/select-fill-solid-md-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/fill/select.e2e-legacy.ts-snapshots/select-fill-solid-md-ltr-Mobile-Chrome-linux.png rename to core/src/components/select/test/fill/select.e2e.ts-snapshots/select-fill-solid-md-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/fill/select.e2e-legacy.ts-snapshots/select-fill-solid-md-ltr-Mobile-Firefox-linux.png b/core/src/components/select/test/fill/select.e2e.ts-snapshots/select-fill-solid-md-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/fill/select.e2e-legacy.ts-snapshots/select-fill-solid-md-ltr-Mobile-Firefox-linux.png rename to core/src/components/select/test/fill/select.e2e.ts-snapshots/select-fill-solid-md-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/fill/select.e2e-legacy.ts-snapshots/select-fill-solid-md-ltr-Mobile-Safari-linux.png b/core/src/components/select/test/fill/select.e2e.ts-snapshots/select-fill-solid-md-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/fill/select.e2e-legacy.ts-snapshots/select-fill-solid-md-ltr-Mobile-Safari-linux.png rename to core/src/components/select/test/fill/select.e2e.ts-snapshots/select-fill-solid-md-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/fill/select.e2e-legacy.ts-snapshots/select-fill-solid-md-rtl-Mobile-Chrome-linux.png b/core/src/components/select/test/fill/select.e2e.ts-snapshots/select-fill-solid-md-rtl-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/fill/select.e2e-legacy.ts-snapshots/select-fill-solid-md-rtl-Mobile-Chrome-linux.png rename to core/src/components/select/test/fill/select.e2e.ts-snapshots/select-fill-solid-md-rtl-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/fill/select.e2e-legacy.ts-snapshots/select-fill-solid-md-rtl-Mobile-Firefox-linux.png b/core/src/components/select/test/fill/select.e2e.ts-snapshots/select-fill-solid-md-rtl-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/fill/select.e2e-legacy.ts-snapshots/select-fill-solid-md-rtl-Mobile-Firefox-linux.png rename to core/src/components/select/test/fill/select.e2e.ts-snapshots/select-fill-solid-md-rtl-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/fill/select.e2e-legacy.ts-snapshots/select-fill-solid-md-rtl-Mobile-Safari-linux.png b/core/src/components/select/test/fill/select.e2e.ts-snapshots/select-fill-solid-md-rtl-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/fill/select.e2e-legacy.ts-snapshots/select-fill-solid-md-rtl-Mobile-Safari-linux.png rename to core/src/components/select/test/fill/select.e2e.ts-snapshots/select-fill-solid-md-rtl-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/highlight/select.e2e-legacy.ts b/core/src/components/select/test/highlight/select.e2e-legacy.ts deleted file mode 100644 index b7ba5a4194..0000000000 --- a/core/src/components/select/test/highlight/select.e2e-legacy.ts +++ /dev/null @@ -1,150 +0,0 @@ -import { expect } from '@playwright/test'; -import { test } from '@utils/test/playwright'; - -test.describe('input: highlights', () => { - test.beforeEach(({ skip }) => { - skip.rtl(); - skip.mode('ios'); - }); - - test.describe('input: no fill', () => { - test('should render valid state correctly', async ({ page }) => { - await page.setContent(` - - Apple - - `); - - const select = page.locator('ion-select'); - await expect(select).toHaveScreenshot(`select-no-fill-valid-${page.getSnapshotSettings()}.png`); - }); - test('should render invalid state correctly', async ({ page }) => { - await page.setContent(` - - Apple - - `); - - const select = page.locator('ion-select'); - await expect(select).toHaveScreenshot(`select-no-fill-invalid-${page.getSnapshotSettings()}.png`); - }); - test('should render focused state correctly', async ({ page }) => { - await page.setContent(` - - Apple - - `); - - const select = page.locator('ion-select'); - await expect(select).toHaveScreenshot(`select-no-fill-focus-${page.getSnapshotSettings()}.png`); - }); - }); - test.describe('input: solid', () => { - test('should render valid state correctly', async ({ page }) => { - await page.setContent(` - - Apple - - `); - - const select = page.locator('ion-select'); - await expect(select).toHaveScreenshot(`select-solid-valid-${page.getSnapshotSettings()}.png`); - }); - test('should render invalid state correctly', async ({ page }) => { - await page.setContent(` - - Apple - - `); - - const select = page.locator('ion-select'); - await expect(select).toHaveScreenshot(`select-solid-invalid-${page.getSnapshotSettings()}.png`); - }); - test('should render focused state correctly', async ({ page }) => { - await page.setContent(` - - Apple - - `); - - const select = page.locator('ion-select'); - await expect(select).toHaveScreenshot(`select-solid-focus-${page.getSnapshotSettings()}.png`); - }); - }); - test.describe('input: outline', () => { - test('should render valid state correctly', async ({ page }) => { - await page.setContent(` - - Apple - - `); - - const select = page.locator('ion-select'); - await expect(select).toHaveScreenshot(`select-outline-valid-${page.getSnapshotSettings()}.png`); - }); - test('should render invalid state correctly', async ({ page }) => { - await page.setContent(` - - Apple - - `); - - const select = page.locator('ion-select'); - await expect(select).toHaveScreenshot(`select-outline-invalid-${page.getSnapshotSettings()}.png`); - }); - test('should render focused state correctly', async ({ page }) => { - await page.setContent(` - - Apple - - `); - - const select = page.locator('ion-select'); - await expect(select).toHaveScreenshot(`select-outline-focus-${page.getSnapshotSettings()}.png`); - }); - }); -}); - -test.describe('select: expanded highlight', () => { - test.beforeEach(({ skip }) => { - skip.rtl(); - skip.mode('ios'); - }); - - test.describe('select: no fill', () => { - test('should render bottom highlight', async ({ page }) => { - await page.setContent(` - - `); - - const select = page.locator('ion-select'); - expect(await select.screenshot({ animations: 'disabled' })).toMatchSnapshot( - `select-no-fill-highlight-${page.getSnapshotSettings()}.png` - ); - }); - }); - test.describe('select: solid', () => { - test('should render bottom highlight', async ({ page }) => { - await page.setContent(` - - `); - - const select = page.locator('ion-select'); - expect(await select.screenshot({ animations: 'disabled' })).toMatchSnapshot( - `select-solid-highlight-${page.getSnapshotSettings()}.png` - ); - }); - }); - test.describe('select: outline', () => { - test('should render bottom highlight', async ({ page }) => { - await page.setContent(` - - `); - - const select = page.locator('ion-select'); - expect(await select.screenshot({ animations: 'disabled' })).toMatchSnapshot( - `select-outline-highlight-${page.getSnapshotSettings()}.png` - ); - }); - }); -}); diff --git a/core/src/components/select/test/highlight/select.e2e.ts b/core/src/components/select/test/highlight/select.e2e.ts new file mode 100644 index 0000000000..30375089a7 --- /dev/null +++ b/core/src/components/select/test/highlight/select.e2e.ts @@ -0,0 +1,178 @@ +import { expect } from '@playwright/test'; +import { configs, test } from '@utils/test/playwright'; + +configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, screenshot, config }) => { + test.describe(title('input: highlights'), () => { + test.describe('input: no fill', () => { + test('should render valid state correctly', async ({ page }) => { + await page.setContent( + ` + + Apple + + `, + config + ); + + const select = page.locator('ion-select'); + await expect(select).toHaveScreenshot(screenshot(`select-no-fill-valid`)); + }); + test('should render invalid state correctly', async ({ page }) => { + await page.setContent( + ` + + Apple + + `, + config + ); + + const select = page.locator('ion-select'); + await expect(select).toHaveScreenshot(screenshot(`select-no-fill-invalid`)); + }); + test('should render focused state correctly', async ({ page }) => { + await page.setContent( + ` + + Apple + + `, + config + ); + + const select = page.locator('ion-select'); + await expect(select).toHaveScreenshot(screenshot(`select-no-fill-focus`)); + }); + }); + test.describe('input: solid', () => { + test('should render valid state correctly', async ({ page }) => { + await page.setContent( + ` + + Apple + + `, + config + ); + + const select = page.locator('ion-select'); + await expect(select).toHaveScreenshot(screenshot(`select-solid-valid`)); + }); + test('should render invalid state correctly', async ({ page }) => { + await page.setContent( + ` + + Apple + + `, + config + ); + + const select = page.locator('ion-select'); + await expect(select).toHaveScreenshot(screenshot(`select-solid-invalid`)); + }); + test('should render focused state correctly', async ({ page }) => { + await page.setContent( + ` + + Apple + + `, + config + ); + + const select = page.locator('ion-select'); + await expect(select).toHaveScreenshot(screenshot(`select-solid-focus`)); + }); + }); + test.describe('input: outline', () => { + test('should render valid state correctly', async ({ page }) => { + await page.setContent( + ` + + Apple + + `, + config + ); + + const select = page.locator('ion-select'); + await expect(select).toHaveScreenshot(screenshot(`select-outline-valid`)); + }); + test('should render invalid state correctly', async ({ page }) => { + await page.setContent( + ` + + Apple + + `, + config + ); + + const select = page.locator('ion-select'); + await expect(select).toHaveScreenshot(screenshot(`select-outline-invalid`)); + }); + test('should render focused state correctly', async ({ page }) => { + await page.setContent( + ` + + Apple + + `, + config + ); + + const select = page.locator('ion-select'); + await expect(select).toHaveScreenshot(screenshot(`select-outline-focus`)); + }); + }); + }); + + test.describe(title('select: expanded highlight'), () => { + test.describe('select: no fill', () => { + test('should render bottom highlight', async ({ page }) => { + await page.setContent( + ` + + `, + config + ); + + const select = page.locator('ion-select'); + expect(await select.screenshot({ animations: 'disabled' })).toMatchSnapshot( + screenshot(`select-no-fill-highlight`) + ); + }); + }); + test.describe('select: solid', () => { + test('should render bottom highlight', async ({ page }) => { + await page.setContent( + ` + + `, + config + ); + + const select = page.locator('ion-select'); + expect(await select.screenshot({ animations: 'disabled' })).toMatchSnapshot( + screenshot(`select-solid-highlight`) + ); + }); + }); + test.describe('select: outline', () => { + test('should render bottom highlight', async ({ page }) => { + await page.setContent( + ` + + `, + config + ); + + const select = page.locator('ion-select'); + expect(await select.screenshot({ animations: 'disabled' })).toMatchSnapshot( + screenshot(`select-outline-highlight`) + ); + }); + }); + }); +}); diff --git a/core/src/components/select/test/highlight/select.e2e-legacy.ts-snapshots/select-no-fill-focus-md-ltr-Mobile-Chrome-linux.png b/core/src/components/select/test/highlight/select.e2e.ts-snapshots/select-no-fill-focus-md-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/highlight/select.e2e-legacy.ts-snapshots/select-no-fill-focus-md-ltr-Mobile-Chrome-linux.png rename to core/src/components/select/test/highlight/select.e2e.ts-snapshots/select-no-fill-focus-md-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/highlight/select.e2e-legacy.ts-snapshots/select-no-fill-focus-md-ltr-Mobile-Firefox-linux.png b/core/src/components/select/test/highlight/select.e2e.ts-snapshots/select-no-fill-focus-md-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/highlight/select.e2e-legacy.ts-snapshots/select-no-fill-focus-md-ltr-Mobile-Firefox-linux.png rename to core/src/components/select/test/highlight/select.e2e.ts-snapshots/select-no-fill-focus-md-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/highlight/select.e2e-legacy.ts-snapshots/select-no-fill-focus-md-ltr-Mobile-Safari-linux.png b/core/src/components/select/test/highlight/select.e2e.ts-snapshots/select-no-fill-focus-md-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/highlight/select.e2e-legacy.ts-snapshots/select-no-fill-focus-md-ltr-Mobile-Safari-linux.png rename to core/src/components/select/test/highlight/select.e2e.ts-snapshots/select-no-fill-focus-md-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/highlight/select.e2e-legacy.ts-snapshots/select-no-fill-highlight-md-ltr-Mobile-Chrome-linux.png b/core/src/components/select/test/highlight/select.e2e.ts-snapshots/select-no-fill-highlight-md-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/highlight/select.e2e-legacy.ts-snapshots/select-no-fill-highlight-md-ltr-Mobile-Chrome-linux.png rename to core/src/components/select/test/highlight/select.e2e.ts-snapshots/select-no-fill-highlight-md-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/highlight/select.e2e-legacy.ts-snapshots/select-no-fill-highlight-md-ltr-Mobile-Firefox-linux.png b/core/src/components/select/test/highlight/select.e2e.ts-snapshots/select-no-fill-highlight-md-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/highlight/select.e2e-legacy.ts-snapshots/select-no-fill-highlight-md-ltr-Mobile-Firefox-linux.png rename to core/src/components/select/test/highlight/select.e2e.ts-snapshots/select-no-fill-highlight-md-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/highlight/select.e2e-legacy.ts-snapshots/select-no-fill-highlight-md-ltr-Mobile-Safari-linux.png b/core/src/components/select/test/highlight/select.e2e.ts-snapshots/select-no-fill-highlight-md-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/highlight/select.e2e-legacy.ts-snapshots/select-no-fill-highlight-md-ltr-Mobile-Safari-linux.png rename to core/src/components/select/test/highlight/select.e2e.ts-snapshots/select-no-fill-highlight-md-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/highlight/select.e2e-legacy.ts-snapshots/select-no-fill-invalid-md-ltr-Mobile-Chrome-linux.png b/core/src/components/select/test/highlight/select.e2e.ts-snapshots/select-no-fill-invalid-md-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/highlight/select.e2e-legacy.ts-snapshots/select-no-fill-invalid-md-ltr-Mobile-Chrome-linux.png rename to core/src/components/select/test/highlight/select.e2e.ts-snapshots/select-no-fill-invalid-md-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/highlight/select.e2e-legacy.ts-snapshots/select-no-fill-invalid-md-ltr-Mobile-Firefox-linux.png b/core/src/components/select/test/highlight/select.e2e.ts-snapshots/select-no-fill-invalid-md-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/highlight/select.e2e-legacy.ts-snapshots/select-no-fill-invalid-md-ltr-Mobile-Firefox-linux.png rename to core/src/components/select/test/highlight/select.e2e.ts-snapshots/select-no-fill-invalid-md-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/highlight/select.e2e-legacy.ts-snapshots/select-no-fill-invalid-md-ltr-Mobile-Safari-linux.png b/core/src/components/select/test/highlight/select.e2e.ts-snapshots/select-no-fill-invalid-md-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/highlight/select.e2e-legacy.ts-snapshots/select-no-fill-invalid-md-ltr-Mobile-Safari-linux.png rename to core/src/components/select/test/highlight/select.e2e.ts-snapshots/select-no-fill-invalid-md-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/highlight/select.e2e-legacy.ts-snapshots/select-no-fill-valid-md-ltr-Mobile-Chrome-linux.png b/core/src/components/select/test/highlight/select.e2e.ts-snapshots/select-no-fill-valid-md-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/highlight/select.e2e-legacy.ts-snapshots/select-no-fill-valid-md-ltr-Mobile-Chrome-linux.png rename to core/src/components/select/test/highlight/select.e2e.ts-snapshots/select-no-fill-valid-md-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/highlight/select.e2e-legacy.ts-snapshots/select-no-fill-valid-md-ltr-Mobile-Firefox-linux.png b/core/src/components/select/test/highlight/select.e2e.ts-snapshots/select-no-fill-valid-md-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/highlight/select.e2e-legacy.ts-snapshots/select-no-fill-valid-md-ltr-Mobile-Firefox-linux.png rename to core/src/components/select/test/highlight/select.e2e.ts-snapshots/select-no-fill-valid-md-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/highlight/select.e2e-legacy.ts-snapshots/select-no-fill-valid-md-ltr-Mobile-Safari-linux.png b/core/src/components/select/test/highlight/select.e2e.ts-snapshots/select-no-fill-valid-md-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/highlight/select.e2e-legacy.ts-snapshots/select-no-fill-valid-md-ltr-Mobile-Safari-linux.png rename to core/src/components/select/test/highlight/select.e2e.ts-snapshots/select-no-fill-valid-md-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/highlight/select.e2e-legacy.ts-snapshots/select-outline-focus-md-ltr-Mobile-Chrome-linux.png b/core/src/components/select/test/highlight/select.e2e.ts-snapshots/select-outline-focus-md-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/highlight/select.e2e-legacy.ts-snapshots/select-outline-focus-md-ltr-Mobile-Chrome-linux.png rename to core/src/components/select/test/highlight/select.e2e.ts-snapshots/select-outline-focus-md-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/highlight/select.e2e-legacy.ts-snapshots/select-outline-focus-md-ltr-Mobile-Firefox-linux.png b/core/src/components/select/test/highlight/select.e2e.ts-snapshots/select-outline-focus-md-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/highlight/select.e2e-legacy.ts-snapshots/select-outline-focus-md-ltr-Mobile-Firefox-linux.png rename to core/src/components/select/test/highlight/select.e2e.ts-snapshots/select-outline-focus-md-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/highlight/select.e2e-legacy.ts-snapshots/select-outline-focus-md-ltr-Mobile-Safari-linux.png b/core/src/components/select/test/highlight/select.e2e.ts-snapshots/select-outline-focus-md-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/highlight/select.e2e-legacy.ts-snapshots/select-outline-focus-md-ltr-Mobile-Safari-linux.png rename to core/src/components/select/test/highlight/select.e2e.ts-snapshots/select-outline-focus-md-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/highlight/select.e2e-legacy.ts-snapshots/select-outline-highlight-md-ltr-Mobile-Chrome-linux.png b/core/src/components/select/test/highlight/select.e2e.ts-snapshots/select-outline-highlight-md-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/highlight/select.e2e-legacy.ts-snapshots/select-outline-highlight-md-ltr-Mobile-Chrome-linux.png rename to core/src/components/select/test/highlight/select.e2e.ts-snapshots/select-outline-highlight-md-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/highlight/select.e2e-legacy.ts-snapshots/select-outline-highlight-md-ltr-Mobile-Firefox-linux.png b/core/src/components/select/test/highlight/select.e2e.ts-snapshots/select-outline-highlight-md-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/highlight/select.e2e-legacy.ts-snapshots/select-outline-highlight-md-ltr-Mobile-Firefox-linux.png rename to core/src/components/select/test/highlight/select.e2e.ts-snapshots/select-outline-highlight-md-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/highlight/select.e2e-legacy.ts-snapshots/select-outline-highlight-md-ltr-Mobile-Safari-linux.png b/core/src/components/select/test/highlight/select.e2e.ts-snapshots/select-outline-highlight-md-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/highlight/select.e2e-legacy.ts-snapshots/select-outline-highlight-md-ltr-Mobile-Safari-linux.png rename to core/src/components/select/test/highlight/select.e2e.ts-snapshots/select-outline-highlight-md-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/highlight/select.e2e-legacy.ts-snapshots/select-outline-invalid-md-ltr-Mobile-Chrome-linux.png b/core/src/components/select/test/highlight/select.e2e.ts-snapshots/select-outline-invalid-md-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/highlight/select.e2e-legacy.ts-snapshots/select-outline-invalid-md-ltr-Mobile-Chrome-linux.png rename to core/src/components/select/test/highlight/select.e2e.ts-snapshots/select-outline-invalid-md-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/highlight/select.e2e-legacy.ts-snapshots/select-outline-invalid-md-ltr-Mobile-Firefox-linux.png b/core/src/components/select/test/highlight/select.e2e.ts-snapshots/select-outline-invalid-md-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/highlight/select.e2e-legacy.ts-snapshots/select-outline-invalid-md-ltr-Mobile-Firefox-linux.png rename to core/src/components/select/test/highlight/select.e2e.ts-snapshots/select-outline-invalid-md-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/highlight/select.e2e-legacy.ts-snapshots/select-outline-invalid-md-ltr-Mobile-Safari-linux.png b/core/src/components/select/test/highlight/select.e2e.ts-snapshots/select-outline-invalid-md-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/highlight/select.e2e-legacy.ts-snapshots/select-outline-invalid-md-ltr-Mobile-Safari-linux.png rename to core/src/components/select/test/highlight/select.e2e.ts-snapshots/select-outline-invalid-md-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/highlight/select.e2e-legacy.ts-snapshots/select-outline-valid-md-ltr-Mobile-Chrome-linux.png b/core/src/components/select/test/highlight/select.e2e.ts-snapshots/select-outline-valid-md-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/highlight/select.e2e-legacy.ts-snapshots/select-outline-valid-md-ltr-Mobile-Chrome-linux.png rename to core/src/components/select/test/highlight/select.e2e.ts-snapshots/select-outline-valid-md-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/highlight/select.e2e-legacy.ts-snapshots/select-outline-valid-md-ltr-Mobile-Firefox-linux.png b/core/src/components/select/test/highlight/select.e2e.ts-snapshots/select-outline-valid-md-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/highlight/select.e2e-legacy.ts-snapshots/select-outline-valid-md-ltr-Mobile-Firefox-linux.png rename to core/src/components/select/test/highlight/select.e2e.ts-snapshots/select-outline-valid-md-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/highlight/select.e2e-legacy.ts-snapshots/select-outline-valid-md-ltr-Mobile-Safari-linux.png b/core/src/components/select/test/highlight/select.e2e.ts-snapshots/select-outline-valid-md-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/highlight/select.e2e-legacy.ts-snapshots/select-outline-valid-md-ltr-Mobile-Safari-linux.png rename to core/src/components/select/test/highlight/select.e2e.ts-snapshots/select-outline-valid-md-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/highlight/select.e2e-legacy.ts-snapshots/select-solid-focus-md-ltr-Mobile-Chrome-linux.png b/core/src/components/select/test/highlight/select.e2e.ts-snapshots/select-solid-focus-md-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/highlight/select.e2e-legacy.ts-snapshots/select-solid-focus-md-ltr-Mobile-Chrome-linux.png rename to core/src/components/select/test/highlight/select.e2e.ts-snapshots/select-solid-focus-md-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/highlight/select.e2e-legacy.ts-snapshots/select-solid-focus-md-ltr-Mobile-Firefox-linux.png b/core/src/components/select/test/highlight/select.e2e.ts-snapshots/select-solid-focus-md-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/highlight/select.e2e-legacy.ts-snapshots/select-solid-focus-md-ltr-Mobile-Firefox-linux.png rename to core/src/components/select/test/highlight/select.e2e.ts-snapshots/select-solid-focus-md-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/highlight/select.e2e-legacy.ts-snapshots/select-solid-focus-md-ltr-Mobile-Safari-linux.png b/core/src/components/select/test/highlight/select.e2e.ts-snapshots/select-solid-focus-md-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/highlight/select.e2e-legacy.ts-snapshots/select-solid-focus-md-ltr-Mobile-Safari-linux.png rename to core/src/components/select/test/highlight/select.e2e.ts-snapshots/select-solid-focus-md-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/highlight/select.e2e-legacy.ts-snapshots/select-solid-highlight-md-ltr-Mobile-Chrome-linux.png b/core/src/components/select/test/highlight/select.e2e.ts-snapshots/select-solid-highlight-md-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/highlight/select.e2e-legacy.ts-snapshots/select-solid-highlight-md-ltr-Mobile-Chrome-linux.png rename to core/src/components/select/test/highlight/select.e2e.ts-snapshots/select-solid-highlight-md-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/highlight/select.e2e-legacy.ts-snapshots/select-solid-highlight-md-ltr-Mobile-Firefox-linux.png b/core/src/components/select/test/highlight/select.e2e.ts-snapshots/select-solid-highlight-md-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/highlight/select.e2e-legacy.ts-snapshots/select-solid-highlight-md-ltr-Mobile-Firefox-linux.png rename to core/src/components/select/test/highlight/select.e2e.ts-snapshots/select-solid-highlight-md-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/highlight/select.e2e-legacy.ts-snapshots/select-solid-highlight-md-ltr-Mobile-Safari-linux.png b/core/src/components/select/test/highlight/select.e2e.ts-snapshots/select-solid-highlight-md-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/highlight/select.e2e-legacy.ts-snapshots/select-solid-highlight-md-ltr-Mobile-Safari-linux.png rename to core/src/components/select/test/highlight/select.e2e.ts-snapshots/select-solid-highlight-md-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/highlight/select.e2e-legacy.ts-snapshots/select-solid-invalid-md-ltr-Mobile-Chrome-linux.png b/core/src/components/select/test/highlight/select.e2e.ts-snapshots/select-solid-invalid-md-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/highlight/select.e2e-legacy.ts-snapshots/select-solid-invalid-md-ltr-Mobile-Chrome-linux.png rename to core/src/components/select/test/highlight/select.e2e.ts-snapshots/select-solid-invalid-md-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/highlight/select.e2e-legacy.ts-snapshots/select-solid-invalid-md-ltr-Mobile-Firefox-linux.png b/core/src/components/select/test/highlight/select.e2e.ts-snapshots/select-solid-invalid-md-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/highlight/select.e2e-legacy.ts-snapshots/select-solid-invalid-md-ltr-Mobile-Firefox-linux.png rename to core/src/components/select/test/highlight/select.e2e.ts-snapshots/select-solid-invalid-md-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/highlight/select.e2e-legacy.ts-snapshots/select-solid-invalid-md-ltr-Mobile-Safari-linux.png b/core/src/components/select/test/highlight/select.e2e.ts-snapshots/select-solid-invalid-md-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/highlight/select.e2e-legacy.ts-snapshots/select-solid-invalid-md-ltr-Mobile-Safari-linux.png rename to core/src/components/select/test/highlight/select.e2e.ts-snapshots/select-solid-invalid-md-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/highlight/select.e2e-legacy.ts-snapshots/select-solid-valid-md-ltr-Mobile-Chrome-linux.png b/core/src/components/select/test/highlight/select.e2e.ts-snapshots/select-solid-valid-md-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/highlight/select.e2e-legacy.ts-snapshots/select-solid-valid-md-ltr-Mobile-Chrome-linux.png rename to core/src/components/select/test/highlight/select.e2e.ts-snapshots/select-solid-valid-md-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/highlight/select.e2e-legacy.ts-snapshots/select-solid-valid-md-ltr-Mobile-Firefox-linux.png b/core/src/components/select/test/highlight/select.e2e.ts-snapshots/select-solid-valid-md-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/highlight/select.e2e-legacy.ts-snapshots/select-solid-valid-md-ltr-Mobile-Firefox-linux.png rename to core/src/components/select/test/highlight/select.e2e.ts-snapshots/select-solid-valid-md-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/highlight/select.e2e-legacy.ts-snapshots/select-solid-valid-md-ltr-Mobile-Safari-linux.png b/core/src/components/select/test/highlight/select.e2e.ts-snapshots/select-solid-valid-md-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/highlight/select.e2e-legacy.ts-snapshots/select-solid-valid-md-ltr-Mobile-Safari-linux.png rename to core/src/components/select/test/highlight/select.e2e.ts-snapshots/select-solid-valid-md-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/item/select.e2e-legacy.ts b/core/src/components/select/test/item/select.e2e-legacy.ts deleted file mode 100644 index e4c2975287..0000000000 --- a/core/src/components/select/test/item/select.e2e-legacy.ts +++ /dev/null @@ -1,40 +0,0 @@ -import { expect } from '@playwright/test'; -import { test } from '@utils/test/playwright'; - -test.describe('select: item', () => { - test.beforeEach(({ skip }) => { - skip.rtl(); - }); - test('should render correctly in list with no fill', async ({ page }) => { - await page.setContent(` - - - - Apple - - - - `); - const list = page.locator('ion-list'); - expect(await list.screenshot()).toMatchSnapshot(`select-list-no-fill-${page.getSnapshotSettings()}.png`); - }); - test('should render correctly in inset list with no fill', async ({ page }) => { - await page.setContent(` - - - - Apple - - - - `); - const list = page.locator('ion-list'); - expect(await list.screenshot()).toMatchSnapshot(`select-inset-list-no-fill-${page.getSnapshotSettings()}.png`); - }); -}); diff --git a/core/src/components/select/test/item/select.e2e.ts b/core/src/components/select/test/item/select.e2e.ts new file mode 100644 index 0000000000..e65dcd6f61 --- /dev/null +++ b/core/src/components/select/test/item/select.e2e.ts @@ -0,0 +1,45 @@ +import { expect } from '@playwright/test'; +import { configs, test } from '@utils/test/playwright'; + +configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => { + test.describe(title('select: item'), () => { + test('should render correctly in list with no fill', async ({ page }) => { + await page.setContent( + ` + + + + Apple + + + + `, + config + ); + const list = page.locator('ion-list'); + expect(await list.screenshot()).toMatchSnapshot(screenshot(`select-list-no-fill`)); + }); + test('should render correctly in inset list with no fill', async ({ page }) => { + await page.setContent( + ` + + + + Apple + + + + `, + config + ); + const list = page.locator('ion-list'); + expect(await list.screenshot()).toMatchSnapshot(screenshot(`select-inset-list-no-fill`)); + }); + }); +}); diff --git a/core/src/components/select/test/item/select.e2e-legacy.ts-snapshots/select-inset-list-no-fill-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/select/test/item/select.e2e.ts-snapshots/select-inset-list-no-fill-ios-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/item/select.e2e-legacy.ts-snapshots/select-inset-list-no-fill-ios-ltr-Mobile-Chrome-linux.png rename to core/src/components/select/test/item/select.e2e.ts-snapshots/select-inset-list-no-fill-ios-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/item/select.e2e-legacy.ts-snapshots/select-inset-list-no-fill-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/select/test/item/select.e2e.ts-snapshots/select-inset-list-no-fill-ios-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/item/select.e2e-legacy.ts-snapshots/select-inset-list-no-fill-ios-ltr-Mobile-Firefox-linux.png rename to core/src/components/select/test/item/select.e2e.ts-snapshots/select-inset-list-no-fill-ios-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/item/select.e2e-legacy.ts-snapshots/select-inset-list-no-fill-ios-ltr-Mobile-Safari-linux.png b/core/src/components/select/test/item/select.e2e.ts-snapshots/select-inset-list-no-fill-ios-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/item/select.e2e-legacy.ts-snapshots/select-inset-list-no-fill-ios-ltr-Mobile-Safari-linux.png rename to core/src/components/select/test/item/select.e2e.ts-snapshots/select-inset-list-no-fill-ios-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/item/select.e2e-legacy.ts-snapshots/select-inset-list-no-fill-md-ltr-Mobile-Chrome-linux.png b/core/src/components/select/test/item/select.e2e.ts-snapshots/select-inset-list-no-fill-md-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/item/select.e2e-legacy.ts-snapshots/select-inset-list-no-fill-md-ltr-Mobile-Chrome-linux.png rename to core/src/components/select/test/item/select.e2e.ts-snapshots/select-inset-list-no-fill-md-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/item/select.e2e-legacy.ts-snapshots/select-inset-list-no-fill-md-ltr-Mobile-Firefox-linux.png b/core/src/components/select/test/item/select.e2e.ts-snapshots/select-inset-list-no-fill-md-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/item/select.e2e-legacy.ts-snapshots/select-inset-list-no-fill-md-ltr-Mobile-Firefox-linux.png rename to core/src/components/select/test/item/select.e2e.ts-snapshots/select-inset-list-no-fill-md-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/item/select.e2e-legacy.ts-snapshots/select-inset-list-no-fill-md-ltr-Mobile-Safari-linux.png b/core/src/components/select/test/item/select.e2e.ts-snapshots/select-inset-list-no-fill-md-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/item/select.e2e-legacy.ts-snapshots/select-inset-list-no-fill-md-ltr-Mobile-Safari-linux.png rename to core/src/components/select/test/item/select.e2e.ts-snapshots/select-inset-list-no-fill-md-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/item/select.e2e-legacy.ts-snapshots/select-list-no-fill-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/select/test/item/select.e2e.ts-snapshots/select-list-no-fill-ios-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/item/select.e2e-legacy.ts-snapshots/select-list-no-fill-ios-ltr-Mobile-Chrome-linux.png rename to core/src/components/select/test/item/select.e2e.ts-snapshots/select-list-no-fill-ios-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/item/select.e2e-legacy.ts-snapshots/select-list-no-fill-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/select/test/item/select.e2e.ts-snapshots/select-list-no-fill-ios-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/item/select.e2e-legacy.ts-snapshots/select-list-no-fill-ios-ltr-Mobile-Firefox-linux.png rename to core/src/components/select/test/item/select.e2e.ts-snapshots/select-list-no-fill-ios-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/item/select.e2e-legacy.ts-snapshots/select-list-no-fill-ios-ltr-Mobile-Safari-linux.png b/core/src/components/select/test/item/select.e2e.ts-snapshots/select-list-no-fill-ios-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/item/select.e2e-legacy.ts-snapshots/select-list-no-fill-ios-ltr-Mobile-Safari-linux.png rename to core/src/components/select/test/item/select.e2e.ts-snapshots/select-list-no-fill-ios-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/item/select.e2e-legacy.ts-snapshots/select-list-no-fill-md-ltr-Mobile-Chrome-linux.png b/core/src/components/select/test/item/select.e2e.ts-snapshots/select-list-no-fill-md-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/item/select.e2e-legacy.ts-snapshots/select-list-no-fill-md-ltr-Mobile-Chrome-linux.png rename to core/src/components/select/test/item/select.e2e.ts-snapshots/select-list-no-fill-md-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/item/select.e2e-legacy.ts-snapshots/select-list-no-fill-md-ltr-Mobile-Firefox-linux.png b/core/src/components/select/test/item/select.e2e.ts-snapshots/select-list-no-fill-md-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/item/select.e2e-legacy.ts-snapshots/select-list-no-fill-md-ltr-Mobile-Firefox-linux.png rename to core/src/components/select/test/item/select.e2e.ts-snapshots/select-list-no-fill-md-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/item/select.e2e-legacy.ts-snapshots/select-list-no-fill-md-ltr-Mobile-Safari-linux.png b/core/src/components/select/test/item/select.e2e.ts-snapshots/select-list-no-fill-md-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/item/select.e2e-legacy.ts-snapshots/select-list-no-fill-md-ltr-Mobile-Safari-linux.png rename to core/src/components/select/test/item/select.e2e.ts-snapshots/select-list-no-fill-md-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts b/core/src/components/select/test/label/select.e2e-legacy.ts deleted file mode 100644 index adf6d84fdd..0000000000 --- a/core/src/components/select/test/label/select.e2e-legacy.ts +++ /dev/null @@ -1,272 +0,0 @@ -import { expect } from '@playwright/test'; -import { test } from '@utils/test/playwright'; - -/** - * By default ion-select only takes up - * as much space as it needs. Justification is - * used for when the select takes up the full - * line (such as in an ion-item). As a result, - * we set the width of the select so we can - * see the justification results. - */ -test.describe('select: label', () => { - test.describe('select: start placement', () => { - test('should render a start justification with label in the start position', async ({ page }) => { - await page.setContent(` - - - `); - - const select = page.locator('ion-select'); - expect(await select.screenshot()).toMatchSnapshot( - `select-label-start-justify-start-${page.getSnapshotSettings()}.png` - ); - }); - test('should render an end justification with label in the start position', async ({ page }) => { - await page.setContent(` - - - `); - - const select = page.locator('ion-select'); - expect(await select.screenshot()).toMatchSnapshot( - `select-label-start-justify-end-${page.getSnapshotSettings()}.png` - ); - }); - test('should render a space between justification with label in the start position', async ({ page }) => { - await page.setContent(` - - - `); - - const select = page.locator('ion-select'); - expect(await select.screenshot()).toMatchSnapshot( - `select-label-start-justify-space-between-${page.getSnapshotSettings()}.png` - ); - }); - }); - - test.describe('select: end placement', () => { - test('should render a start justification with label in the end position', async ({ page }) => { - await page.setContent(` - - - `); - - const select = page.locator('ion-select'); - expect(await select.screenshot()).toMatchSnapshot( - `select-label-end-justify-start-${page.getSnapshotSettings()}.png` - ); - }); - test('should render an end justification with label in the end position', async ({ page }) => { - await page.setContent(` - - - `); - - const select = page.locator('ion-select'); - expect(await select.screenshot()).toMatchSnapshot( - `select-label-end-justify-end-${page.getSnapshotSettings()}.png` - ); - }); - test('should render a space between justification with label in the end position', async ({ page }) => { - await page.setContent(` - - - `); - - const select = page.locator('ion-select'); - expect(await select.screenshot()).toMatchSnapshot( - `select-label-end-justify-space-between-${page.getSnapshotSettings()}.png` - ); - }); - }); - - test.describe('select: fixed placement', () => { - test('should render a start justification with label in the fixed position', async ({ page }) => { - await page.setContent(` - - - `); - - const select = page.locator('ion-select'); - expect(await select.screenshot()).toMatchSnapshot( - `select-label-fixed-justify-start-${page.getSnapshotSettings()}.png` - ); - }); - test('should render an end justification with label in the fixed position', async ({ page }) => { - await page.setContent(` - - - `); - - const select = page.locator('ion-select'); - expect(await select.screenshot()).toMatchSnapshot( - `select-label-fixed-justify-end-${page.getSnapshotSettings()}.png` - ); - }); - test('should render a space between justification with label in the fixed position', async ({ page }) => { - await page.setContent(` - - - `); - - const select = page.locator('ion-select'); - expect(await select.screenshot()).toMatchSnapshot( - `select-label-fixed-justify-space-between-${page.getSnapshotSettings()}.png` - ); - }); - }); - - test.describe('select: floating placement', () => { - test('label should appear above the select when there is a value', async ({ page }) => { - await page.setContent(` - - Apples - - `); - - const select = page.locator('ion-select'); - expect(await select.screenshot()).toMatchSnapshot( - `select-label-floating-value-${page.getSnapshotSettings()}.png` - ); - }); - test('label should appear on top of the select when there is no value', async ({ page }) => { - await page.setContent(` - - Apples - - `); - - const select = page.locator('ion-select'); - expect(await select.screenshot()).toMatchSnapshot( - `select-label-floating-no-value-${page.getSnapshotSettings()}.png` - ); - }); - test('label should appear on top of the select when there is a placeholder and no value', async ({ page }) => { - await page.setContent(` - - Apples - - `); - - const select = page.locator('ion-select'); - expect(await select.screenshot()).toMatchSnapshot( - `select-label-floating-no-value-placeholder-${page.getSnapshotSettings()}.png` - ); - }); - test('label should appear on top of the select when the select is expanded', async ({ page }) => { - await page.setContent(` - - Apples - - `); - - const select = page.locator('ion-select'); - - expect(await select.screenshot({ animations: 'disabled' })).toMatchSnapshot( - `select-label-floating-expanded-${page.getSnapshotSettings()}.png` - ); - }); - test('long text should truncate', async ({ page }) => { - await page.setContent(` - - Apples Apples Apples Apples Apples Apples Apples Apples - - `); - - const select = page.locator('ion-select'); - - expect(await select.screenshot({ animations: 'disabled' })).toMatchSnapshot( - `select-label-floating-long-text-${page.getSnapshotSettings()}.png` - ); - }); - }); - - test.describe('select: stacked placement', () => { - test('label should appear above the select when there is a value', async ({ page }) => { - await page.setContent(` - - Apples - - `); - - const select = page.locator('ion-select'); - expect(await select.screenshot()).toMatchSnapshot(`select-label-stacked-value-${page.getSnapshotSettings()}.png`); - }); - test('label should appear above the select when there is no value', async ({ page }) => { - await page.setContent(` - - Apples - - `); - - const select = page.locator('ion-select'); - expect(await select.screenshot()).toMatchSnapshot( - `select-label-stacked-no-value-${page.getSnapshotSettings()}.png` - ); - }); - test('label should appear on top of the select when the select is expanded', async ({ page }) => { - await page.setContent(` - - Apples - - `); - - const select = page.locator('ion-select'); - - expect(await select.screenshot({ animations: 'disabled' })).toMatchSnapshot( - `select-label-stacked-expanded-${page.getSnapshotSettings()}.png` - ); - }); - test('long text should truncate', async ({ page }) => { - await page.setContent(` - - Apples Apples Apples Apples Apples Apples Apples Apples - - `); - - const select = page.locator('ion-select'); - - expect(await select.screenshot({ animations: 'disabled' })).toMatchSnapshot( - `select-label-stacked-long-text-${page.getSnapshotSettings()}.png` - ); - }); - }); - - test.describe('select: label overflow', () => { - test('label should be truncated with ellipses', async ({ page, skip }) => { - skip.mode('ios'); - skip.rtl(); - - await page.setContent(` - - `); - - const select = page.locator('ion-select'); - expect(await select.screenshot()).toMatchSnapshot(`select-label-truncate-${page.getSnapshotSettings()}.png`); - }); - }); -}); - -test.describe('select: alert label', () => { - test('should use the label to set the default header in an alert', async ({ page, skip }) => { - skip.rtl(); - skip.mode('md'); - - await page.setContent(` - - A - - `); - - const select = page.locator('ion-select'); - const alert = page.locator('ion-alert'); - const ionAlertDidPresent = await page.spyOnEvent('ionAlertDidPresent'); - - await select.click(); - await ionAlertDidPresent.next(); - - await expect(alert.locator('.alert-title')).toHaveText('My Alert'); - }); -}); diff --git a/core/src/components/select/test/label/select.e2e.ts b/core/src/components/select/test/label/select.e2e.ts new file mode 100644 index 0000000000..1989ffab30 --- /dev/null +++ b/core/src/components/select/test/label/select.e2e.ts @@ -0,0 +1,305 @@ +import { expect } from '@playwright/test'; +import { configs, test } from '@utils/test/playwright'; + +/** + * By default ion-select only takes up + * as much space as it needs. Justification is + * used for when the select takes up the full + * line (such as in an ion-item). As a result, + * we set the width of the select so we can + * see the justification results. + */ +configs().forEach(({ title, screenshot, config }) => { + test.describe(title('select: label'), () => { + test.describe('select: start placement', () => { + test('should render a start justification with label in the start position', async ({ page }) => { + await page.setContent( + ` + + + `, + config + ); + + const select = page.locator('ion-select'); + expect(await select.screenshot()).toMatchSnapshot(screenshot(`select-label-start-justify-start`)); + }); + test('should render an end justification with label in the start position', async ({ page }) => { + await page.setContent( + ` + + + `, + config + ); + + const select = page.locator('ion-select'); + expect(await select.screenshot()).toMatchSnapshot(screenshot(`select-label-start-justify-end`)); + }); + test('should render a space between justification with label in the start position', async ({ page }) => { + await page.setContent( + ` + + + `, + config + ); + + const select = page.locator('ion-select'); + expect(await select.screenshot()).toMatchSnapshot(screenshot(`select-label-start-justify-space-between`)); + }); + }); + + test.describe('select: end placement', () => { + test('should render a start justification with label in the end position', async ({ page }) => { + await page.setContent( + ` + + + `, + config + ); + + const select = page.locator('ion-select'); + expect(await select.screenshot()).toMatchSnapshot(screenshot(`select-label-end-justify-start`)); + }); + test('should render an end justification with label in the end position', async ({ page }) => { + await page.setContent( + ` + + + `, + config + ); + + const select = page.locator('ion-select'); + expect(await select.screenshot()).toMatchSnapshot(screenshot(`select-label-end-justify-end`)); + }); + test('should render a space between justification with label in the end position', async ({ page }) => { + await page.setContent( + ` + + + `, + config + ); + + const select = page.locator('ion-select'); + expect(await select.screenshot()).toMatchSnapshot(screenshot(`select-label-end-justify-space-between`)); + }); + }); + + test.describe('select: fixed placement', () => { + test('should render a start justification with label in the fixed position', async ({ page }) => { + await page.setContent( + ` + + + `, + config + ); + + const select = page.locator('ion-select'); + expect(await select.screenshot()).toMatchSnapshot(screenshot(`select-label-fixed-justify-start`)); + }); + test('should render an end justification with label in the fixed position', async ({ page }) => { + await page.setContent( + ` + + + `, + config + ); + + const select = page.locator('ion-select'); + expect(await select.screenshot()).toMatchSnapshot(screenshot(`select-label-fixed-justify-end`)); + }); + test('should render a space between justification with label in the fixed position', async ({ page }) => { + await page.setContent( + ` + + + `, + config + ); + + const select = page.locator('ion-select'); + expect(await select.screenshot()).toMatchSnapshot(screenshot(`select-label-fixed-justify-space-between`)); + }); + }); + + test.describe('select: floating placement', () => { + test('label should appear above the select when there is a value', async ({ page }) => { + await page.setContent( + ` + + Apples + + `, + config + ); + + const select = page.locator('ion-select'); + expect(await select.screenshot()).toMatchSnapshot(screenshot(`select-label-floating-value`)); + }); + test('label should appear on top of the select when there is no value', async ({ page }) => { + await page.setContent( + ` + + Apples + + `, + config + ); + + const select = page.locator('ion-select'); + expect(await select.screenshot()).toMatchSnapshot(screenshot(`select-label-floating-no-value`)); + }); + test('label should appear on top of the select when there is a placeholder and no value', async ({ page }) => { + await page.setContent( + ` + + Apples + + `, + config + ); + + const select = page.locator('ion-select'); + expect(await select.screenshot()).toMatchSnapshot(screenshot(`select-label-floating-no-value-placeholder`)); + }); + test('label should appear on top of the select when the select is expanded', async ({ page }) => { + await page.setContent( + ` + + Apples + + `, + config + ); + + const select = page.locator('ion-select'); + + expect(await select.screenshot({ animations: 'disabled' })).toMatchSnapshot( + screenshot(`select-label-floating-expanded`) + ); + }); + test('long text should truncate', async ({ page }) => { + await page.setContent( + ` + + Apples Apples Apples Apples Apples Apples Apples Apples + + `, + config + ); + + const select = page.locator('ion-select'); + + expect(await select.screenshot({ animations: 'disabled' })).toMatchSnapshot( + screenshot(`select-label-floating-long-text`) + ); + }); + }); + + test.describe('select: stacked placement', () => { + test('label should appear above the select when there is a value', async ({ page }) => { + await page.setContent( + ` + + Apples + + `, + config + ); + + const select = page.locator('ion-select'); + expect(await select.screenshot()).toMatchSnapshot(screenshot(`select-label-stacked-value`)); + }); + test('label should appear above the select when there is no value', async ({ page }) => { + await page.setContent( + ` + + Apples + + `, + config + ); + + const select = page.locator('ion-select'); + expect(await select.screenshot()).toMatchSnapshot(screenshot(`select-label-stacked-no-value`)); + }); + test('label should appear on top of the select when the select is expanded', async ({ page }) => { + await page.setContent( + ` + + Apples + + `, + config + ); + + const select = page.locator('ion-select'); + + expect(await select.screenshot({ animations: 'disabled' })).toMatchSnapshot( + screenshot(`select-label-stacked-expanded`) + ); + }); + test('long text should truncate', async ({ page }) => { + await page.setContent( + ` + + Apples Apples Apples Apples Apples Apples Apples Apples + + `, + config + ); + + const select = page.locator('ion-select'); + + expect(await select.screenshot({ animations: 'disabled' })).toMatchSnapshot( + screenshot(`select-label-stacked-long-text`) + ); + }); + }); + }); +}); + +configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, screenshot, config }) => { + test.describe(title('select: label overflow'), () => { + test('label should be truncated with ellipses', async ({ page }) => { + await page.setContent( + ` + + `, + config + ); + + const select = page.locator('ion-select'); + expect(await select.screenshot()).toMatchSnapshot(screenshot(`select-label-truncate`)); + }); + }); +}); +configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) => { + test.describe(title('select: alert label'), () => { + test('should use the label to set the default header in an alert', async ({ page }) => { + await page.setContent( + ` + + A + + `, + config + ); + + const select = page.locator('ion-select'); + const alert = page.locator('ion-alert'); + const ionAlertDidPresent = await page.spyOnEvent('ionAlertDidPresent'); + + await select.click(); + await ionAlertDidPresent.next(); + + await expect(alert.locator('.alert-title')).toHaveText('My Alert'); + }); + }); +}); diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-end-justify-end-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-end-justify-end-ios-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-end-justify-end-ios-ltr-Mobile-Chrome-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-end-justify-end-ios-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-end-justify-end-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-end-justify-end-ios-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-end-justify-end-ios-ltr-Mobile-Firefox-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-end-justify-end-ios-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-end-justify-end-ios-ltr-Mobile-Safari-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-end-justify-end-ios-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-end-justify-end-ios-ltr-Mobile-Safari-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-end-justify-end-ios-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-end-justify-end-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-end-justify-end-ios-rtl-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-end-justify-end-ios-rtl-Mobile-Chrome-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-end-justify-end-ios-rtl-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-end-justify-end-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-end-justify-end-ios-rtl-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-end-justify-end-ios-rtl-Mobile-Firefox-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-end-justify-end-ios-rtl-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-end-justify-end-ios-rtl-Mobile-Safari-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-end-justify-end-ios-rtl-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-end-justify-end-ios-rtl-Mobile-Safari-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-end-justify-end-ios-rtl-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-end-justify-end-md-ltr-Mobile-Chrome-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-end-justify-end-md-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-end-justify-end-md-ltr-Mobile-Chrome-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-end-justify-end-md-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-end-justify-end-md-ltr-Mobile-Firefox-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-end-justify-end-md-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-end-justify-end-md-ltr-Mobile-Firefox-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-end-justify-end-md-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-end-justify-end-md-ltr-Mobile-Safari-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-end-justify-end-md-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-end-justify-end-md-ltr-Mobile-Safari-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-end-justify-end-md-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-end-justify-end-md-rtl-Mobile-Chrome-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-end-justify-end-md-rtl-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-end-justify-end-md-rtl-Mobile-Chrome-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-end-justify-end-md-rtl-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-end-justify-end-md-rtl-Mobile-Firefox-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-end-justify-end-md-rtl-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-end-justify-end-md-rtl-Mobile-Firefox-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-end-justify-end-md-rtl-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-end-justify-end-md-rtl-Mobile-Safari-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-end-justify-end-md-rtl-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-end-justify-end-md-rtl-Mobile-Safari-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-end-justify-end-md-rtl-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-end-justify-space-between-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-end-justify-space-between-ios-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-end-justify-space-between-ios-ltr-Mobile-Chrome-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-end-justify-space-between-ios-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-end-justify-space-between-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-end-justify-space-between-ios-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-end-justify-space-between-ios-ltr-Mobile-Firefox-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-end-justify-space-between-ios-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-end-justify-space-between-ios-ltr-Mobile-Safari-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-end-justify-space-between-ios-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-end-justify-space-between-ios-ltr-Mobile-Safari-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-end-justify-space-between-ios-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-end-justify-space-between-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-end-justify-space-between-ios-rtl-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-end-justify-space-between-ios-rtl-Mobile-Chrome-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-end-justify-space-between-ios-rtl-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-end-justify-space-between-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-end-justify-space-between-ios-rtl-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-end-justify-space-between-ios-rtl-Mobile-Firefox-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-end-justify-space-between-ios-rtl-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-end-justify-space-between-ios-rtl-Mobile-Safari-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-end-justify-space-between-ios-rtl-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-end-justify-space-between-ios-rtl-Mobile-Safari-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-end-justify-space-between-ios-rtl-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-end-justify-space-between-md-ltr-Mobile-Chrome-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-end-justify-space-between-md-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-end-justify-space-between-md-ltr-Mobile-Chrome-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-end-justify-space-between-md-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-end-justify-space-between-md-ltr-Mobile-Firefox-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-end-justify-space-between-md-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-end-justify-space-between-md-ltr-Mobile-Firefox-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-end-justify-space-between-md-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-end-justify-space-between-md-ltr-Mobile-Safari-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-end-justify-space-between-md-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-end-justify-space-between-md-ltr-Mobile-Safari-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-end-justify-space-between-md-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-end-justify-space-between-md-rtl-Mobile-Chrome-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-end-justify-space-between-md-rtl-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-end-justify-space-between-md-rtl-Mobile-Chrome-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-end-justify-space-between-md-rtl-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-end-justify-space-between-md-rtl-Mobile-Firefox-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-end-justify-space-between-md-rtl-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-end-justify-space-between-md-rtl-Mobile-Firefox-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-end-justify-space-between-md-rtl-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-end-justify-space-between-md-rtl-Mobile-Safari-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-end-justify-space-between-md-rtl-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-end-justify-space-between-md-rtl-Mobile-Safari-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-end-justify-space-between-md-rtl-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-end-justify-start-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-end-justify-start-ios-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-end-justify-start-ios-ltr-Mobile-Chrome-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-end-justify-start-ios-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-end-justify-start-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-end-justify-start-ios-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-end-justify-start-ios-ltr-Mobile-Firefox-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-end-justify-start-ios-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-end-justify-start-ios-ltr-Mobile-Safari-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-end-justify-start-ios-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-end-justify-start-ios-ltr-Mobile-Safari-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-end-justify-start-ios-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-end-justify-start-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-end-justify-start-ios-rtl-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-end-justify-start-ios-rtl-Mobile-Chrome-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-end-justify-start-ios-rtl-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-end-justify-start-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-end-justify-start-ios-rtl-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-end-justify-start-ios-rtl-Mobile-Firefox-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-end-justify-start-ios-rtl-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-end-justify-start-ios-rtl-Mobile-Safari-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-end-justify-start-ios-rtl-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-end-justify-start-ios-rtl-Mobile-Safari-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-end-justify-start-ios-rtl-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-end-justify-start-md-ltr-Mobile-Chrome-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-end-justify-start-md-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-end-justify-start-md-ltr-Mobile-Chrome-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-end-justify-start-md-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-end-justify-start-md-ltr-Mobile-Firefox-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-end-justify-start-md-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-end-justify-start-md-ltr-Mobile-Firefox-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-end-justify-start-md-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-end-justify-start-md-ltr-Mobile-Safari-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-end-justify-start-md-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-end-justify-start-md-ltr-Mobile-Safari-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-end-justify-start-md-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-end-justify-start-md-rtl-Mobile-Chrome-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-end-justify-start-md-rtl-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-end-justify-start-md-rtl-Mobile-Chrome-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-end-justify-start-md-rtl-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-end-justify-start-md-rtl-Mobile-Firefox-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-end-justify-start-md-rtl-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-end-justify-start-md-rtl-Mobile-Firefox-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-end-justify-start-md-rtl-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-end-justify-start-md-rtl-Mobile-Safari-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-end-justify-start-md-rtl-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-end-justify-start-md-rtl-Mobile-Safari-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-end-justify-start-md-rtl-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-fixed-justify-end-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-fixed-justify-end-ios-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-fixed-justify-end-ios-ltr-Mobile-Chrome-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-fixed-justify-end-ios-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-fixed-justify-end-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-fixed-justify-end-ios-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-fixed-justify-end-ios-ltr-Mobile-Firefox-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-fixed-justify-end-ios-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-fixed-justify-end-ios-ltr-Mobile-Safari-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-fixed-justify-end-ios-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-fixed-justify-end-ios-ltr-Mobile-Safari-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-fixed-justify-end-ios-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-fixed-justify-end-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-fixed-justify-end-ios-rtl-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-fixed-justify-end-ios-rtl-Mobile-Chrome-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-fixed-justify-end-ios-rtl-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-fixed-justify-end-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-fixed-justify-end-ios-rtl-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-fixed-justify-end-ios-rtl-Mobile-Firefox-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-fixed-justify-end-ios-rtl-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-fixed-justify-end-ios-rtl-Mobile-Safari-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-fixed-justify-end-ios-rtl-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-fixed-justify-end-ios-rtl-Mobile-Safari-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-fixed-justify-end-ios-rtl-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-fixed-justify-end-md-ltr-Mobile-Chrome-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-fixed-justify-end-md-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-fixed-justify-end-md-ltr-Mobile-Chrome-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-fixed-justify-end-md-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-fixed-justify-end-md-ltr-Mobile-Firefox-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-fixed-justify-end-md-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-fixed-justify-end-md-ltr-Mobile-Firefox-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-fixed-justify-end-md-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-fixed-justify-end-md-ltr-Mobile-Safari-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-fixed-justify-end-md-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-fixed-justify-end-md-ltr-Mobile-Safari-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-fixed-justify-end-md-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-fixed-justify-end-md-rtl-Mobile-Chrome-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-fixed-justify-end-md-rtl-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-fixed-justify-end-md-rtl-Mobile-Chrome-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-fixed-justify-end-md-rtl-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-fixed-justify-end-md-rtl-Mobile-Firefox-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-fixed-justify-end-md-rtl-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-fixed-justify-end-md-rtl-Mobile-Firefox-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-fixed-justify-end-md-rtl-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-fixed-justify-end-md-rtl-Mobile-Safari-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-fixed-justify-end-md-rtl-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-fixed-justify-end-md-rtl-Mobile-Safari-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-fixed-justify-end-md-rtl-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-fixed-justify-space-between-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-fixed-justify-space-between-ios-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-fixed-justify-space-between-ios-ltr-Mobile-Chrome-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-fixed-justify-space-between-ios-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-fixed-justify-space-between-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-fixed-justify-space-between-ios-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-fixed-justify-space-between-ios-ltr-Mobile-Firefox-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-fixed-justify-space-between-ios-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-fixed-justify-space-between-ios-ltr-Mobile-Safari-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-fixed-justify-space-between-ios-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-fixed-justify-space-between-ios-ltr-Mobile-Safari-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-fixed-justify-space-between-ios-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-fixed-justify-space-between-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-fixed-justify-space-between-ios-rtl-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-fixed-justify-space-between-ios-rtl-Mobile-Chrome-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-fixed-justify-space-between-ios-rtl-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-fixed-justify-space-between-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-fixed-justify-space-between-ios-rtl-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-fixed-justify-space-between-ios-rtl-Mobile-Firefox-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-fixed-justify-space-between-ios-rtl-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-fixed-justify-space-between-ios-rtl-Mobile-Safari-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-fixed-justify-space-between-ios-rtl-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-fixed-justify-space-between-ios-rtl-Mobile-Safari-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-fixed-justify-space-between-ios-rtl-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-fixed-justify-space-between-md-ltr-Mobile-Chrome-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-fixed-justify-space-between-md-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-fixed-justify-space-between-md-ltr-Mobile-Chrome-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-fixed-justify-space-between-md-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-fixed-justify-space-between-md-ltr-Mobile-Firefox-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-fixed-justify-space-between-md-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-fixed-justify-space-between-md-ltr-Mobile-Firefox-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-fixed-justify-space-between-md-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-fixed-justify-space-between-md-ltr-Mobile-Safari-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-fixed-justify-space-between-md-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-fixed-justify-space-between-md-ltr-Mobile-Safari-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-fixed-justify-space-between-md-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-fixed-justify-space-between-md-rtl-Mobile-Chrome-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-fixed-justify-space-between-md-rtl-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-fixed-justify-space-between-md-rtl-Mobile-Chrome-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-fixed-justify-space-between-md-rtl-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-fixed-justify-space-between-md-rtl-Mobile-Firefox-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-fixed-justify-space-between-md-rtl-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-fixed-justify-space-between-md-rtl-Mobile-Firefox-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-fixed-justify-space-between-md-rtl-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-fixed-justify-space-between-md-rtl-Mobile-Safari-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-fixed-justify-space-between-md-rtl-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-fixed-justify-space-between-md-rtl-Mobile-Safari-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-fixed-justify-space-between-md-rtl-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-fixed-justify-start-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-fixed-justify-start-ios-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-fixed-justify-start-ios-ltr-Mobile-Chrome-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-fixed-justify-start-ios-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-fixed-justify-start-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-fixed-justify-start-ios-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-fixed-justify-start-ios-ltr-Mobile-Firefox-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-fixed-justify-start-ios-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-fixed-justify-start-ios-ltr-Mobile-Safari-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-fixed-justify-start-ios-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-fixed-justify-start-ios-ltr-Mobile-Safari-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-fixed-justify-start-ios-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-fixed-justify-start-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-fixed-justify-start-ios-rtl-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-fixed-justify-start-ios-rtl-Mobile-Chrome-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-fixed-justify-start-ios-rtl-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-fixed-justify-start-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-fixed-justify-start-ios-rtl-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-fixed-justify-start-ios-rtl-Mobile-Firefox-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-fixed-justify-start-ios-rtl-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-fixed-justify-start-ios-rtl-Mobile-Safari-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-fixed-justify-start-ios-rtl-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-fixed-justify-start-ios-rtl-Mobile-Safari-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-fixed-justify-start-ios-rtl-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-fixed-justify-start-md-ltr-Mobile-Chrome-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-fixed-justify-start-md-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-fixed-justify-start-md-ltr-Mobile-Chrome-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-fixed-justify-start-md-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-fixed-justify-start-md-ltr-Mobile-Firefox-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-fixed-justify-start-md-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-fixed-justify-start-md-ltr-Mobile-Firefox-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-fixed-justify-start-md-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-fixed-justify-start-md-ltr-Mobile-Safari-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-fixed-justify-start-md-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-fixed-justify-start-md-ltr-Mobile-Safari-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-fixed-justify-start-md-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-fixed-justify-start-md-rtl-Mobile-Chrome-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-fixed-justify-start-md-rtl-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-fixed-justify-start-md-rtl-Mobile-Chrome-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-fixed-justify-start-md-rtl-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-fixed-justify-start-md-rtl-Mobile-Firefox-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-fixed-justify-start-md-rtl-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-fixed-justify-start-md-rtl-Mobile-Firefox-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-fixed-justify-start-md-rtl-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-fixed-justify-start-md-rtl-Mobile-Safari-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-fixed-justify-start-md-rtl-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-fixed-justify-start-md-rtl-Mobile-Safari-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-fixed-justify-start-md-rtl-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-expanded-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-expanded-ios-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-expanded-ios-ltr-Mobile-Chrome-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-expanded-ios-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-expanded-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-expanded-ios-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-expanded-ios-ltr-Mobile-Firefox-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-expanded-ios-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-expanded-ios-ltr-Mobile-Safari-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-expanded-ios-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-expanded-ios-ltr-Mobile-Safari-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-expanded-ios-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-expanded-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-expanded-ios-rtl-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-expanded-ios-rtl-Mobile-Chrome-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-expanded-ios-rtl-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-expanded-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-expanded-ios-rtl-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-expanded-ios-rtl-Mobile-Firefox-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-expanded-ios-rtl-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-expanded-ios-rtl-Mobile-Safari-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-expanded-ios-rtl-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-expanded-ios-rtl-Mobile-Safari-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-expanded-ios-rtl-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-expanded-md-ltr-Mobile-Chrome-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-expanded-md-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-expanded-md-ltr-Mobile-Chrome-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-expanded-md-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-expanded-md-ltr-Mobile-Firefox-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-expanded-md-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-expanded-md-ltr-Mobile-Firefox-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-expanded-md-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-expanded-md-ltr-Mobile-Safari-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-expanded-md-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-expanded-md-ltr-Mobile-Safari-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-expanded-md-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-expanded-md-rtl-Mobile-Chrome-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-expanded-md-rtl-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-expanded-md-rtl-Mobile-Chrome-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-expanded-md-rtl-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-expanded-md-rtl-Mobile-Firefox-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-expanded-md-rtl-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-expanded-md-rtl-Mobile-Firefox-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-expanded-md-rtl-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-expanded-md-rtl-Mobile-Safari-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-expanded-md-rtl-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-expanded-md-rtl-Mobile-Safari-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-expanded-md-rtl-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-long-text-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-long-text-ios-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-long-text-ios-ltr-Mobile-Chrome-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-long-text-ios-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-long-text-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-long-text-ios-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-long-text-ios-ltr-Mobile-Firefox-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-long-text-ios-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-long-text-ios-ltr-Mobile-Safari-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-long-text-ios-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-long-text-ios-ltr-Mobile-Safari-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-long-text-ios-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-long-text-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-long-text-ios-rtl-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-long-text-ios-rtl-Mobile-Chrome-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-long-text-ios-rtl-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-long-text-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-long-text-ios-rtl-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-long-text-ios-rtl-Mobile-Firefox-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-long-text-ios-rtl-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-long-text-ios-rtl-Mobile-Safari-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-long-text-ios-rtl-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-long-text-ios-rtl-Mobile-Safari-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-long-text-ios-rtl-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-long-text-md-ltr-Mobile-Chrome-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-long-text-md-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-long-text-md-ltr-Mobile-Chrome-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-long-text-md-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-long-text-md-ltr-Mobile-Firefox-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-long-text-md-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-long-text-md-ltr-Mobile-Firefox-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-long-text-md-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-long-text-md-ltr-Mobile-Safari-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-long-text-md-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-long-text-md-ltr-Mobile-Safari-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-long-text-md-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-long-text-md-rtl-Mobile-Chrome-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-long-text-md-rtl-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-long-text-md-rtl-Mobile-Chrome-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-long-text-md-rtl-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-long-text-md-rtl-Mobile-Firefox-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-long-text-md-rtl-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-long-text-md-rtl-Mobile-Firefox-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-long-text-md-rtl-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-long-text-md-rtl-Mobile-Safari-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-long-text-md-rtl-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-long-text-md-rtl-Mobile-Safari-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-long-text-md-rtl-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-no-value-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-no-value-ios-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-no-value-ios-ltr-Mobile-Chrome-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-no-value-ios-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-no-value-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-no-value-ios-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-no-value-ios-ltr-Mobile-Firefox-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-no-value-ios-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-no-value-ios-ltr-Mobile-Safari-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-no-value-ios-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-no-value-ios-ltr-Mobile-Safari-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-no-value-ios-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-no-value-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-no-value-ios-rtl-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-no-value-ios-rtl-Mobile-Chrome-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-no-value-ios-rtl-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-no-value-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-no-value-ios-rtl-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-no-value-ios-rtl-Mobile-Firefox-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-no-value-ios-rtl-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-no-value-ios-rtl-Mobile-Safari-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-no-value-ios-rtl-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-no-value-ios-rtl-Mobile-Safari-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-no-value-ios-rtl-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-no-value-md-ltr-Mobile-Chrome-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-no-value-md-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-no-value-md-ltr-Mobile-Chrome-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-no-value-md-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-no-value-md-ltr-Mobile-Firefox-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-no-value-md-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-no-value-md-ltr-Mobile-Firefox-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-no-value-md-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-no-value-md-ltr-Mobile-Safari-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-no-value-md-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-no-value-md-ltr-Mobile-Safari-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-no-value-md-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-no-value-md-rtl-Mobile-Chrome-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-no-value-md-rtl-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-no-value-md-rtl-Mobile-Chrome-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-no-value-md-rtl-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-no-value-md-rtl-Mobile-Firefox-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-no-value-md-rtl-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-no-value-md-rtl-Mobile-Firefox-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-no-value-md-rtl-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-no-value-md-rtl-Mobile-Safari-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-no-value-md-rtl-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-no-value-md-rtl-Mobile-Safari-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-no-value-md-rtl-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-no-value-placeholder-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-no-value-placeholder-ios-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-no-value-placeholder-ios-ltr-Mobile-Chrome-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-no-value-placeholder-ios-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-no-value-placeholder-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-no-value-placeholder-ios-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-no-value-placeholder-ios-ltr-Mobile-Firefox-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-no-value-placeholder-ios-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-no-value-placeholder-ios-ltr-Mobile-Safari-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-no-value-placeholder-ios-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-no-value-placeholder-ios-ltr-Mobile-Safari-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-no-value-placeholder-ios-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-no-value-placeholder-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-no-value-placeholder-ios-rtl-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-no-value-placeholder-ios-rtl-Mobile-Chrome-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-no-value-placeholder-ios-rtl-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-no-value-placeholder-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-no-value-placeholder-ios-rtl-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-no-value-placeholder-ios-rtl-Mobile-Firefox-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-no-value-placeholder-ios-rtl-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-no-value-placeholder-ios-rtl-Mobile-Safari-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-no-value-placeholder-ios-rtl-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-no-value-placeholder-ios-rtl-Mobile-Safari-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-no-value-placeholder-ios-rtl-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-no-value-placeholder-md-ltr-Mobile-Chrome-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-no-value-placeholder-md-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-no-value-placeholder-md-ltr-Mobile-Chrome-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-no-value-placeholder-md-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-no-value-placeholder-md-ltr-Mobile-Firefox-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-no-value-placeholder-md-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-no-value-placeholder-md-ltr-Mobile-Firefox-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-no-value-placeholder-md-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-no-value-placeholder-md-ltr-Mobile-Safari-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-no-value-placeholder-md-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-no-value-placeholder-md-ltr-Mobile-Safari-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-no-value-placeholder-md-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-no-value-placeholder-md-rtl-Mobile-Chrome-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-no-value-placeholder-md-rtl-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-no-value-placeholder-md-rtl-Mobile-Chrome-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-no-value-placeholder-md-rtl-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-no-value-placeholder-md-rtl-Mobile-Firefox-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-no-value-placeholder-md-rtl-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-no-value-placeholder-md-rtl-Mobile-Firefox-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-no-value-placeholder-md-rtl-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-no-value-placeholder-md-rtl-Mobile-Safari-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-no-value-placeholder-md-rtl-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-no-value-placeholder-md-rtl-Mobile-Safari-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-no-value-placeholder-md-rtl-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-value-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-value-ios-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-value-ios-ltr-Mobile-Chrome-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-value-ios-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-value-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-value-ios-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-value-ios-ltr-Mobile-Firefox-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-value-ios-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-value-ios-ltr-Mobile-Safari-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-value-ios-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-value-ios-ltr-Mobile-Safari-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-value-ios-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-value-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-value-ios-rtl-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-value-ios-rtl-Mobile-Chrome-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-value-ios-rtl-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-value-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-value-ios-rtl-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-value-ios-rtl-Mobile-Firefox-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-value-ios-rtl-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-value-ios-rtl-Mobile-Safari-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-value-ios-rtl-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-value-ios-rtl-Mobile-Safari-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-value-ios-rtl-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-value-md-ltr-Mobile-Chrome-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-value-md-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-value-md-ltr-Mobile-Chrome-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-value-md-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-value-md-ltr-Mobile-Firefox-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-value-md-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-value-md-ltr-Mobile-Firefox-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-value-md-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-value-md-ltr-Mobile-Safari-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-value-md-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-value-md-ltr-Mobile-Safari-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-value-md-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-value-md-rtl-Mobile-Chrome-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-value-md-rtl-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-value-md-rtl-Mobile-Chrome-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-value-md-rtl-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-value-md-rtl-Mobile-Firefox-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-value-md-rtl-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-value-md-rtl-Mobile-Firefox-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-value-md-rtl-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-value-md-rtl-Mobile-Safari-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-value-md-rtl-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-floating-value-md-rtl-Mobile-Safari-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-floating-value-md-rtl-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-stacked-expanded-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-stacked-expanded-ios-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-stacked-expanded-ios-ltr-Mobile-Chrome-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-stacked-expanded-ios-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-stacked-expanded-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-stacked-expanded-ios-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-stacked-expanded-ios-ltr-Mobile-Firefox-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-stacked-expanded-ios-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-stacked-expanded-ios-ltr-Mobile-Safari-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-stacked-expanded-ios-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-stacked-expanded-ios-ltr-Mobile-Safari-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-stacked-expanded-ios-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-stacked-expanded-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-stacked-expanded-ios-rtl-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-stacked-expanded-ios-rtl-Mobile-Chrome-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-stacked-expanded-ios-rtl-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-stacked-expanded-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-stacked-expanded-ios-rtl-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-stacked-expanded-ios-rtl-Mobile-Firefox-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-stacked-expanded-ios-rtl-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-stacked-expanded-ios-rtl-Mobile-Safari-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-stacked-expanded-ios-rtl-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-stacked-expanded-ios-rtl-Mobile-Safari-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-stacked-expanded-ios-rtl-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-stacked-expanded-md-ltr-Mobile-Chrome-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-stacked-expanded-md-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-stacked-expanded-md-ltr-Mobile-Chrome-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-stacked-expanded-md-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-stacked-expanded-md-ltr-Mobile-Firefox-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-stacked-expanded-md-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-stacked-expanded-md-ltr-Mobile-Firefox-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-stacked-expanded-md-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-stacked-expanded-md-ltr-Mobile-Safari-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-stacked-expanded-md-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-stacked-expanded-md-ltr-Mobile-Safari-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-stacked-expanded-md-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-stacked-expanded-md-rtl-Mobile-Chrome-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-stacked-expanded-md-rtl-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-stacked-expanded-md-rtl-Mobile-Chrome-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-stacked-expanded-md-rtl-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-stacked-expanded-md-rtl-Mobile-Firefox-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-stacked-expanded-md-rtl-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-stacked-expanded-md-rtl-Mobile-Firefox-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-stacked-expanded-md-rtl-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-stacked-expanded-md-rtl-Mobile-Safari-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-stacked-expanded-md-rtl-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-stacked-expanded-md-rtl-Mobile-Safari-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-stacked-expanded-md-rtl-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-stacked-long-text-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-stacked-long-text-ios-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-stacked-long-text-ios-ltr-Mobile-Chrome-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-stacked-long-text-ios-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-stacked-long-text-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-stacked-long-text-ios-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-stacked-long-text-ios-ltr-Mobile-Firefox-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-stacked-long-text-ios-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-stacked-long-text-ios-ltr-Mobile-Safari-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-stacked-long-text-ios-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-stacked-long-text-ios-ltr-Mobile-Safari-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-stacked-long-text-ios-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-stacked-long-text-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-stacked-long-text-ios-rtl-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-stacked-long-text-ios-rtl-Mobile-Chrome-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-stacked-long-text-ios-rtl-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-stacked-long-text-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-stacked-long-text-ios-rtl-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-stacked-long-text-ios-rtl-Mobile-Firefox-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-stacked-long-text-ios-rtl-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-stacked-long-text-ios-rtl-Mobile-Safari-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-stacked-long-text-ios-rtl-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-stacked-long-text-ios-rtl-Mobile-Safari-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-stacked-long-text-ios-rtl-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-stacked-long-text-md-ltr-Mobile-Chrome-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-stacked-long-text-md-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-stacked-long-text-md-ltr-Mobile-Chrome-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-stacked-long-text-md-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-stacked-long-text-md-ltr-Mobile-Firefox-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-stacked-long-text-md-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-stacked-long-text-md-ltr-Mobile-Firefox-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-stacked-long-text-md-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-stacked-long-text-md-ltr-Mobile-Safari-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-stacked-long-text-md-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-stacked-long-text-md-ltr-Mobile-Safari-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-stacked-long-text-md-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-stacked-long-text-md-rtl-Mobile-Chrome-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-stacked-long-text-md-rtl-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-stacked-long-text-md-rtl-Mobile-Chrome-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-stacked-long-text-md-rtl-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-stacked-long-text-md-rtl-Mobile-Firefox-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-stacked-long-text-md-rtl-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-stacked-long-text-md-rtl-Mobile-Firefox-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-stacked-long-text-md-rtl-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-stacked-long-text-md-rtl-Mobile-Safari-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-stacked-long-text-md-rtl-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-stacked-long-text-md-rtl-Mobile-Safari-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-stacked-long-text-md-rtl-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-stacked-no-value-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-stacked-no-value-ios-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-stacked-no-value-ios-ltr-Mobile-Chrome-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-stacked-no-value-ios-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-stacked-no-value-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-stacked-no-value-ios-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-stacked-no-value-ios-ltr-Mobile-Firefox-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-stacked-no-value-ios-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-stacked-no-value-ios-ltr-Mobile-Safari-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-stacked-no-value-ios-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-stacked-no-value-ios-ltr-Mobile-Safari-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-stacked-no-value-ios-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-stacked-no-value-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-stacked-no-value-ios-rtl-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-stacked-no-value-ios-rtl-Mobile-Chrome-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-stacked-no-value-ios-rtl-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-stacked-no-value-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-stacked-no-value-ios-rtl-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-stacked-no-value-ios-rtl-Mobile-Firefox-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-stacked-no-value-ios-rtl-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-stacked-no-value-ios-rtl-Mobile-Safari-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-stacked-no-value-ios-rtl-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-stacked-no-value-ios-rtl-Mobile-Safari-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-stacked-no-value-ios-rtl-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-stacked-no-value-md-ltr-Mobile-Chrome-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-stacked-no-value-md-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-stacked-no-value-md-ltr-Mobile-Chrome-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-stacked-no-value-md-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-stacked-no-value-md-ltr-Mobile-Firefox-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-stacked-no-value-md-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-stacked-no-value-md-ltr-Mobile-Firefox-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-stacked-no-value-md-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-stacked-no-value-md-ltr-Mobile-Safari-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-stacked-no-value-md-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-stacked-no-value-md-ltr-Mobile-Safari-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-stacked-no-value-md-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-stacked-no-value-md-rtl-Mobile-Chrome-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-stacked-no-value-md-rtl-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-stacked-no-value-md-rtl-Mobile-Chrome-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-stacked-no-value-md-rtl-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-stacked-no-value-md-rtl-Mobile-Firefox-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-stacked-no-value-md-rtl-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-stacked-no-value-md-rtl-Mobile-Firefox-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-stacked-no-value-md-rtl-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-stacked-no-value-md-rtl-Mobile-Safari-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-stacked-no-value-md-rtl-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-stacked-no-value-md-rtl-Mobile-Safari-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-stacked-no-value-md-rtl-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-stacked-value-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-stacked-value-ios-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-stacked-value-ios-ltr-Mobile-Chrome-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-stacked-value-ios-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-stacked-value-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-stacked-value-ios-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-stacked-value-ios-ltr-Mobile-Firefox-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-stacked-value-ios-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-stacked-value-ios-ltr-Mobile-Safari-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-stacked-value-ios-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-stacked-value-ios-ltr-Mobile-Safari-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-stacked-value-ios-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-stacked-value-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-stacked-value-ios-rtl-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-stacked-value-ios-rtl-Mobile-Chrome-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-stacked-value-ios-rtl-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-stacked-value-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-stacked-value-ios-rtl-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-stacked-value-ios-rtl-Mobile-Firefox-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-stacked-value-ios-rtl-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-stacked-value-ios-rtl-Mobile-Safari-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-stacked-value-ios-rtl-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-stacked-value-ios-rtl-Mobile-Safari-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-stacked-value-ios-rtl-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-stacked-value-md-ltr-Mobile-Chrome-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-stacked-value-md-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-stacked-value-md-ltr-Mobile-Chrome-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-stacked-value-md-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-stacked-value-md-ltr-Mobile-Firefox-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-stacked-value-md-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-stacked-value-md-ltr-Mobile-Firefox-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-stacked-value-md-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-stacked-value-md-ltr-Mobile-Safari-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-stacked-value-md-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-stacked-value-md-ltr-Mobile-Safari-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-stacked-value-md-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-stacked-value-md-rtl-Mobile-Chrome-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-stacked-value-md-rtl-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-stacked-value-md-rtl-Mobile-Chrome-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-stacked-value-md-rtl-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-stacked-value-md-rtl-Mobile-Firefox-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-stacked-value-md-rtl-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-stacked-value-md-rtl-Mobile-Firefox-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-stacked-value-md-rtl-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-stacked-value-md-rtl-Mobile-Safari-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-stacked-value-md-rtl-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-stacked-value-md-rtl-Mobile-Safari-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-stacked-value-md-rtl-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-start-justify-end-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-start-justify-end-ios-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-start-justify-end-ios-ltr-Mobile-Chrome-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-start-justify-end-ios-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-start-justify-end-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-start-justify-end-ios-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-start-justify-end-ios-ltr-Mobile-Firefox-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-start-justify-end-ios-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-start-justify-end-ios-ltr-Mobile-Safari-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-start-justify-end-ios-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-start-justify-end-ios-ltr-Mobile-Safari-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-start-justify-end-ios-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-start-justify-end-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-start-justify-end-ios-rtl-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-start-justify-end-ios-rtl-Mobile-Chrome-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-start-justify-end-ios-rtl-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-start-justify-end-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-start-justify-end-ios-rtl-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-start-justify-end-ios-rtl-Mobile-Firefox-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-start-justify-end-ios-rtl-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-start-justify-end-ios-rtl-Mobile-Safari-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-start-justify-end-ios-rtl-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-start-justify-end-ios-rtl-Mobile-Safari-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-start-justify-end-ios-rtl-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-start-justify-end-md-ltr-Mobile-Chrome-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-start-justify-end-md-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-start-justify-end-md-ltr-Mobile-Chrome-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-start-justify-end-md-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-start-justify-end-md-ltr-Mobile-Firefox-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-start-justify-end-md-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-start-justify-end-md-ltr-Mobile-Firefox-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-start-justify-end-md-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-start-justify-end-md-ltr-Mobile-Safari-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-start-justify-end-md-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-start-justify-end-md-ltr-Mobile-Safari-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-start-justify-end-md-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-start-justify-end-md-rtl-Mobile-Chrome-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-start-justify-end-md-rtl-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-start-justify-end-md-rtl-Mobile-Chrome-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-start-justify-end-md-rtl-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-start-justify-end-md-rtl-Mobile-Firefox-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-start-justify-end-md-rtl-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-start-justify-end-md-rtl-Mobile-Firefox-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-start-justify-end-md-rtl-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-start-justify-end-md-rtl-Mobile-Safari-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-start-justify-end-md-rtl-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-start-justify-end-md-rtl-Mobile-Safari-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-start-justify-end-md-rtl-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-start-justify-space-between-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-start-justify-space-between-ios-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-start-justify-space-between-ios-ltr-Mobile-Chrome-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-start-justify-space-between-ios-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-start-justify-space-between-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-start-justify-space-between-ios-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-start-justify-space-between-ios-ltr-Mobile-Firefox-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-start-justify-space-between-ios-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-start-justify-space-between-ios-ltr-Mobile-Safari-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-start-justify-space-between-ios-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-start-justify-space-between-ios-ltr-Mobile-Safari-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-start-justify-space-between-ios-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-start-justify-space-between-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-start-justify-space-between-ios-rtl-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-start-justify-space-between-ios-rtl-Mobile-Chrome-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-start-justify-space-between-ios-rtl-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-start-justify-space-between-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-start-justify-space-between-ios-rtl-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-start-justify-space-between-ios-rtl-Mobile-Firefox-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-start-justify-space-between-ios-rtl-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-start-justify-space-between-ios-rtl-Mobile-Safari-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-start-justify-space-between-ios-rtl-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-start-justify-space-between-ios-rtl-Mobile-Safari-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-start-justify-space-between-ios-rtl-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-start-justify-space-between-md-ltr-Mobile-Chrome-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-start-justify-space-between-md-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-start-justify-space-between-md-ltr-Mobile-Chrome-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-start-justify-space-between-md-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-start-justify-space-between-md-ltr-Mobile-Firefox-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-start-justify-space-between-md-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-start-justify-space-between-md-ltr-Mobile-Firefox-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-start-justify-space-between-md-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-start-justify-space-between-md-ltr-Mobile-Safari-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-start-justify-space-between-md-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-start-justify-space-between-md-ltr-Mobile-Safari-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-start-justify-space-between-md-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-start-justify-space-between-md-rtl-Mobile-Chrome-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-start-justify-space-between-md-rtl-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-start-justify-space-between-md-rtl-Mobile-Chrome-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-start-justify-space-between-md-rtl-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-start-justify-space-between-md-rtl-Mobile-Firefox-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-start-justify-space-between-md-rtl-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-start-justify-space-between-md-rtl-Mobile-Firefox-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-start-justify-space-between-md-rtl-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-start-justify-space-between-md-rtl-Mobile-Safari-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-start-justify-space-between-md-rtl-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-start-justify-space-between-md-rtl-Mobile-Safari-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-start-justify-space-between-md-rtl-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-start-justify-start-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-start-justify-start-ios-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-start-justify-start-ios-ltr-Mobile-Chrome-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-start-justify-start-ios-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-start-justify-start-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-start-justify-start-ios-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-start-justify-start-ios-ltr-Mobile-Firefox-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-start-justify-start-ios-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-start-justify-start-ios-ltr-Mobile-Safari-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-start-justify-start-ios-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-start-justify-start-ios-ltr-Mobile-Safari-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-start-justify-start-ios-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-start-justify-start-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-start-justify-start-ios-rtl-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-start-justify-start-ios-rtl-Mobile-Chrome-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-start-justify-start-ios-rtl-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-start-justify-start-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-start-justify-start-ios-rtl-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-start-justify-start-ios-rtl-Mobile-Firefox-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-start-justify-start-ios-rtl-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-start-justify-start-ios-rtl-Mobile-Safari-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-start-justify-start-ios-rtl-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-start-justify-start-ios-rtl-Mobile-Safari-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-start-justify-start-ios-rtl-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-start-justify-start-md-ltr-Mobile-Chrome-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-start-justify-start-md-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-start-justify-start-md-ltr-Mobile-Chrome-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-start-justify-start-md-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-start-justify-start-md-ltr-Mobile-Firefox-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-start-justify-start-md-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-start-justify-start-md-ltr-Mobile-Firefox-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-start-justify-start-md-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-start-justify-start-md-ltr-Mobile-Safari-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-start-justify-start-md-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-start-justify-start-md-ltr-Mobile-Safari-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-start-justify-start-md-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-start-justify-start-md-rtl-Mobile-Chrome-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-start-justify-start-md-rtl-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-start-justify-start-md-rtl-Mobile-Chrome-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-start-justify-start-md-rtl-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-start-justify-start-md-rtl-Mobile-Firefox-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-start-justify-start-md-rtl-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-start-justify-start-md-rtl-Mobile-Firefox-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-start-justify-start-md-rtl-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-start-justify-start-md-rtl-Mobile-Safari-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-start-justify-start-md-rtl-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-start-justify-start-md-rtl-Mobile-Safari-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-start-justify-start-md-rtl-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-truncate-md-ltr-Mobile-Chrome-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-truncate-md-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-truncate-md-ltr-Mobile-Chrome-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-truncate-md-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-truncate-md-ltr-Mobile-Firefox-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-truncate-md-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-truncate-md-ltr-Mobile-Firefox-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-truncate-md-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-truncate-md-ltr-Mobile-Safari-linux.png b/core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-truncate-md-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/label/select.e2e-legacy.ts-snapshots/select-label-truncate-md-ltr-Mobile-Safari-linux.png rename to core/src/components/select/test/label/select.e2e.ts-snapshots/select-label-truncate-md-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/legacy/async/select.e2e-legacy.ts b/core/src/components/select/test/legacy/async/select.e2e-legacy.ts deleted file mode 100644 index 07f9a37d5b..0000000000 --- a/core/src/components/select/test/legacy/async/select.e2e-legacy.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { expect } from '@playwright/test'; -import { test } from '@utils/test/playwright'; - -test.describe.skip('select: async', () => { - test('should correctly set the value after a delay', async ({ page, skip }) => { - skip.rtl('This is checking internal logic. RTL tests are not needed'); - - await page.goto(`/src/components/select/test/legacy/async`); - const selectValueSet = await page.spyOnEvent('selectValueSet'); - - const select = page.locator('#default'); - - await selectValueSet.next(); - - await expect(select).toHaveJSProperty('value', 'bird'); - }); -}); diff --git a/core/src/components/select/test/legacy/async/select.e2e.ts b/core/src/components/select/test/legacy/async/select.e2e.ts new file mode 100644 index 0000000000..df22990e55 --- /dev/null +++ b/core/src/components/select/test/legacy/async/select.e2e.ts @@ -0,0 +1,20 @@ +import { expect } from '@playwright/test'; +import { configs, test } from '@utils/test/playwright'; + +/** + * This is checking internal logic. RTL tests are not needed + */ +configs({ directions: ['ltr'] }).forEach(({ title, config }) => { + test.describe.skip(title('select: async'), () => { + test('should correctly set the value after a delay', async ({ page }) => { + await page.goto(`/src/components/select/test/legacy/async`, config); + const selectValueSet = await page.spyOnEvent('selectValueSet'); + + const select = page.locator('#default'); + + await selectValueSet.next(); + + await expect(select).toHaveJSProperty('value', 'bird'); + }); + }); +}); diff --git a/core/src/components/select/test/legacy/basic/select.e2e-legacy.ts b/core/src/components/select/test/legacy/basic/select.e2e-legacy.ts deleted file mode 100644 index 232ed0bfe9..0000000000 --- a/core/src/components/select/test/legacy/basic/select.e2e-legacy.ts +++ /dev/null @@ -1,200 +0,0 @@ -import { expect } from '@playwright/test'; -import { test } from '@utils/test/playwright'; - -test.describe('select: basic', () => { - test.beforeEach(async ({ page }) => { - await page.goto('/src/components/select/test/legacy/basic'); - }); - - test('should not open multiple alert windows when clicked multiple times', async ({ page }) => { - test.info().annotations.push({ - type: 'issue', - description: 'https://github.com/ionic-team/ionic-framework/issues/25126', - }); - - const select = page.locator('#gender'); - - await select.evaluate((el: HTMLSelectElement) => { - /* - * Playwright's click() method attempts to scroll to the handle - * to perform the action. That is problematic when the overlay - * is already visible. We manually click() the element instead - * to avoid flaky tests. - */ - el.click(); - el.click(); - el.click(); - }); - - const alerts = await page.$$('ion-alert'); - - expect(alerts.length).toBe(1); - }); - - test.describe('select: alert', () => { - test('it should open an alert select', async ({ page }) => { - const ionAlertDidPresent = await page.spyOnEvent('ionAlertDidPresent'); - const ionDismiss = await page.spyOnEvent('ionDismiss'); - - await page.click('#customAlertSelect'); - - await ionAlertDidPresent.next(); - - expect(await page.screenshot({ animations: 'disabled' })).toMatchSnapshot( - `select-alert-diff-${page.getSnapshotSettings()}.png` - ); - - const alert = page.locator('ion-alert'); - await alert.evaluate((el: HTMLIonAlertElement) => el.dismiss()); - - await ionDismiss.next(); - }); - }); - - test.describe('select: action sheet', () => { - test('it should open an action sheet select', async ({ page }) => { - const ionActionSheetDidPresent = await page.spyOnEvent('ionActionSheetDidPresent'); - const ionDismiss = await page.spyOnEvent('ionDismiss'); - - await page.click('#customActionSheetSelect'); - - await ionActionSheetDidPresent.next(); - - expect(await page.screenshot({ animations: 'disabled' })).toMatchSnapshot( - `select-action-sheet-diff-${page.getSnapshotSettings()}.png` - ); - - const actionSheet = page.locator('ion-action-sheet'); - await actionSheet.evaluate((el: HTMLIonActionSheetElement) => el.dismiss()); - - await ionDismiss.next(); - }); - }); - - test.describe('select: popover', () => { - test('it should open a popover select', async ({ page, browserName, skip }) => { - // TODO (FW-2979) - skip.browser('webkit', 'Safari 16 only allows text fields and pop-up menus to be focused.'); - - const ionPopoverDidPresent = await page.spyOnEvent('ionPopoverDidPresent'); - const ionDismiss = await page.spyOnEvent('ionDismiss'); - - await page.click('#customPopoverSelect'); - - await ionPopoverDidPresent.next(); - - const popover = page.locator('ion-popover'); - - // TODO(FW-1436) - if (browserName !== 'firefox') { - // select has no value, so first option should be focused by default - const popoverOption1 = await popover.locator('.select-interface-option:first-of-type ion-radio'); - await expect(popoverOption1).toBeFocused(); - } - - expect(await page.screenshot({ animations: 'disabled' })).toMatchSnapshot( - `select-popover-diff-${page.getSnapshotSettings()}.png` - ); - - await popover.evaluate((el: HTMLIonPopoverElement) => el.dismiss()); - - await ionDismiss.next(); - }); - }); -}); - -test.describe('select: ionChange', () => { - test.beforeEach(({ skip }) => { - skip.rtl(); - skip.mode('ios', 'ionChange has a consistent behavior across modes'); - }); - - test('should fire ionChange when confirming a value from an alert', async ({ page }) => { - await page.setContent(` - - Apple - Banana - - `); - - const ionAlertDidPresent = await page.spyOnEvent('ionAlertDidPresent'); - const ionChange = await page.spyOnEvent('ionChange'); - const select = page.locator('ion-select'); - - await select.click(); - await ionAlertDidPresent.next(); - - const alert = page.locator('ion-alert'); - const radioButtons = alert.locator('.alert-radio-button'); - const confirmButton = alert.locator('.alert-button:not(.alert-button-role-cancel)'); - - await radioButtons.nth(0).click(); - await confirmButton.click(); - - await ionChange.next(); - expect(ionChange).toHaveReceivedEventDetail({ value: 'apple' }); - }); - - test('should fire ionChange when confirming a value from a popover', async ({ page }) => { - await page.setContent(` - - Apple - Banana - - `); - - const ionPopoverDidPresent = await page.spyOnEvent('ionPopoverDidPresent'); - const ionChange = await page.spyOnEvent('ionChange'); - const select = page.locator('ion-select'); - - await select.click(); - await ionPopoverDidPresent.next(); - - const popover = page.locator('ion-popover'); - const radioButtons = popover.locator('ion-radio'); - - await radioButtons.nth(0).click(); - - await ionChange.next(); - expect(ionChange).toHaveReceivedEventDetail({ value: 'apple', event: { isTrusted: true } }); - }); - - test('should fire ionChange when confirming a value from an action sheet', async ({ page }) => { - await page.setContent(` - - Apple - Banana - - `); - - const ionActionSheetDidPresent = await page.spyOnEvent('ionActionSheetDidPresent'); - const ionChange = await page.spyOnEvent('ionChange'); - const select = page.locator('ion-select'); - - await select.click(); - await ionActionSheetDidPresent.next(); - - const actionSheet = page.locator('ion-action-sheet'); - const buttons = actionSheet.locator('.action-sheet-button'); - - await buttons.nth(0).click(); - - await ionChange.next(); - expect(ionChange).toHaveReceivedEventDetail({ value: 'apple' }); - }); - - test('should not fire when programmatically setting a valid value', async ({ page }) => { - await page.setContent(` - - Apple - Banana - - `); - - const ionChange = await page.spyOnEvent('ionChange'); - const select = page.locator('ion-select'); - - await select.evaluate((el: HTMLIonSelectElement) => (el.value = 'banana')); - await expect(ionChange).not.toHaveReceivedEvent(); - }); -}); diff --git a/core/src/components/select/test/legacy/basic/select.e2e-legacy.ts-snapshots/select-action-sheet-diff-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/select/test/legacy/basic/select.e2e-legacy.ts-snapshots/select-action-sheet-diff-ios-ltr-Mobile-Chrome-linux.png deleted file mode 100644 index dc69bd7974..0000000000 Binary files a/core/src/components/select/test/legacy/basic/select.e2e-legacy.ts-snapshots/select-action-sheet-diff-ios-ltr-Mobile-Chrome-linux.png and /dev/null differ diff --git a/core/src/components/select/test/legacy/basic/select.e2e-legacy.ts-snapshots/select-action-sheet-diff-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/select/test/legacy/basic/select.e2e-legacy.ts-snapshots/select-action-sheet-diff-ios-ltr-Mobile-Firefox-linux.png deleted file mode 100644 index 29f014f073..0000000000 Binary files a/core/src/components/select/test/legacy/basic/select.e2e-legacy.ts-snapshots/select-action-sheet-diff-ios-ltr-Mobile-Firefox-linux.png and /dev/null differ diff --git a/core/src/components/select/test/legacy/basic/select.e2e-legacy.ts-snapshots/select-action-sheet-diff-ios-ltr-Mobile-Safari-linux.png b/core/src/components/select/test/legacy/basic/select.e2e-legacy.ts-snapshots/select-action-sheet-diff-ios-ltr-Mobile-Safari-linux.png deleted file mode 100644 index 7ed31bac0f..0000000000 Binary files a/core/src/components/select/test/legacy/basic/select.e2e-legacy.ts-snapshots/select-action-sheet-diff-ios-ltr-Mobile-Safari-linux.png and /dev/null differ diff --git a/core/src/components/select/test/legacy/basic/select.e2e-legacy.ts-snapshots/select-action-sheet-diff-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/select/test/legacy/basic/select.e2e-legacy.ts-snapshots/select-action-sheet-diff-ios-rtl-Mobile-Chrome-linux.png deleted file mode 100644 index 39b63c2cfa..0000000000 Binary files a/core/src/components/select/test/legacy/basic/select.e2e-legacy.ts-snapshots/select-action-sheet-diff-ios-rtl-Mobile-Chrome-linux.png and /dev/null differ diff --git a/core/src/components/select/test/legacy/basic/select.e2e-legacy.ts-snapshots/select-action-sheet-diff-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/select/test/legacy/basic/select.e2e-legacy.ts-snapshots/select-action-sheet-diff-ios-rtl-Mobile-Firefox-linux.png deleted file mode 100644 index 38edf088d1..0000000000 Binary files a/core/src/components/select/test/legacy/basic/select.e2e-legacy.ts-snapshots/select-action-sheet-diff-ios-rtl-Mobile-Firefox-linux.png and /dev/null differ diff --git a/core/src/components/select/test/legacy/basic/select.e2e-legacy.ts-snapshots/select-action-sheet-diff-ios-rtl-Mobile-Safari-linux.png b/core/src/components/select/test/legacy/basic/select.e2e-legacy.ts-snapshots/select-action-sheet-diff-ios-rtl-Mobile-Safari-linux.png deleted file mode 100644 index 207f870582..0000000000 Binary files a/core/src/components/select/test/legacy/basic/select.e2e-legacy.ts-snapshots/select-action-sheet-diff-ios-rtl-Mobile-Safari-linux.png and /dev/null differ diff --git a/core/src/components/select/test/legacy/basic/select.e2e-legacy.ts-snapshots/select-action-sheet-diff-md-ltr-Mobile-Chrome-linux.png b/core/src/components/select/test/legacy/basic/select.e2e-legacy.ts-snapshots/select-action-sheet-diff-md-ltr-Mobile-Chrome-linux.png deleted file mode 100644 index 7e8a06d658..0000000000 Binary files a/core/src/components/select/test/legacy/basic/select.e2e-legacy.ts-snapshots/select-action-sheet-diff-md-ltr-Mobile-Chrome-linux.png and /dev/null differ diff --git a/core/src/components/select/test/legacy/basic/select.e2e-legacy.ts-snapshots/select-action-sheet-diff-md-ltr-Mobile-Firefox-linux.png b/core/src/components/select/test/legacy/basic/select.e2e-legacy.ts-snapshots/select-action-sheet-diff-md-ltr-Mobile-Firefox-linux.png deleted file mode 100644 index 3991956586..0000000000 Binary files a/core/src/components/select/test/legacy/basic/select.e2e-legacy.ts-snapshots/select-action-sheet-diff-md-ltr-Mobile-Firefox-linux.png and /dev/null differ diff --git a/core/src/components/select/test/legacy/basic/select.e2e-legacy.ts-snapshots/select-action-sheet-diff-md-ltr-Mobile-Safari-linux.png b/core/src/components/select/test/legacy/basic/select.e2e-legacy.ts-snapshots/select-action-sheet-diff-md-ltr-Mobile-Safari-linux.png deleted file mode 100644 index d9d8b0923d..0000000000 Binary files a/core/src/components/select/test/legacy/basic/select.e2e-legacy.ts-snapshots/select-action-sheet-diff-md-ltr-Mobile-Safari-linux.png and /dev/null differ diff --git a/core/src/components/select/test/legacy/basic/select.e2e-legacy.ts-snapshots/select-action-sheet-diff-md-rtl-Mobile-Chrome-linux.png b/core/src/components/select/test/legacy/basic/select.e2e-legacy.ts-snapshots/select-action-sheet-diff-md-rtl-Mobile-Chrome-linux.png deleted file mode 100644 index c0e55b1671..0000000000 Binary files a/core/src/components/select/test/legacy/basic/select.e2e-legacy.ts-snapshots/select-action-sheet-diff-md-rtl-Mobile-Chrome-linux.png and /dev/null differ diff --git a/core/src/components/select/test/legacy/basic/select.e2e-legacy.ts-snapshots/select-action-sheet-diff-md-rtl-Mobile-Firefox-linux.png b/core/src/components/select/test/legacy/basic/select.e2e-legacy.ts-snapshots/select-action-sheet-diff-md-rtl-Mobile-Firefox-linux.png deleted file mode 100644 index d376ed6269..0000000000 Binary files a/core/src/components/select/test/legacy/basic/select.e2e-legacy.ts-snapshots/select-action-sheet-diff-md-rtl-Mobile-Firefox-linux.png and /dev/null differ diff --git a/core/src/components/select/test/legacy/basic/select.e2e-legacy.ts-snapshots/select-action-sheet-diff-md-rtl-Mobile-Safari-linux.png b/core/src/components/select/test/legacy/basic/select.e2e-legacy.ts-snapshots/select-action-sheet-diff-md-rtl-Mobile-Safari-linux.png deleted file mode 100644 index 6ebc2b0232..0000000000 Binary files a/core/src/components/select/test/legacy/basic/select.e2e-legacy.ts-snapshots/select-action-sheet-diff-md-rtl-Mobile-Safari-linux.png and /dev/null differ diff --git a/core/src/components/select/test/legacy/basic/select.e2e-legacy.ts-snapshots/select-alert-diff-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/select/test/legacy/basic/select.e2e-legacy.ts-snapshots/select-alert-diff-ios-ltr-Mobile-Chrome-linux.png deleted file mode 100644 index 1fb6258a57..0000000000 Binary files a/core/src/components/select/test/legacy/basic/select.e2e-legacy.ts-snapshots/select-alert-diff-ios-ltr-Mobile-Chrome-linux.png and /dev/null differ diff --git a/core/src/components/select/test/legacy/basic/select.e2e-legacy.ts-snapshots/select-alert-diff-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/select/test/legacy/basic/select.e2e-legacy.ts-snapshots/select-alert-diff-ios-ltr-Mobile-Firefox-linux.png deleted file mode 100644 index 682494abf9..0000000000 Binary files a/core/src/components/select/test/legacy/basic/select.e2e-legacy.ts-snapshots/select-alert-diff-ios-ltr-Mobile-Firefox-linux.png and /dev/null differ diff --git a/core/src/components/select/test/legacy/basic/select.e2e-legacy.ts-snapshots/select-alert-diff-ios-ltr-Mobile-Safari-linux.png b/core/src/components/select/test/legacy/basic/select.e2e-legacy.ts-snapshots/select-alert-diff-ios-ltr-Mobile-Safari-linux.png deleted file mode 100644 index ab31116372..0000000000 Binary files a/core/src/components/select/test/legacy/basic/select.e2e-legacy.ts-snapshots/select-alert-diff-ios-ltr-Mobile-Safari-linux.png and /dev/null differ diff --git a/core/src/components/select/test/legacy/basic/select.e2e-legacy.ts-snapshots/select-alert-diff-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/select/test/legacy/basic/select.e2e-legacy.ts-snapshots/select-alert-diff-ios-rtl-Mobile-Chrome-linux.png deleted file mode 100644 index 7e24a8b561..0000000000 Binary files a/core/src/components/select/test/legacy/basic/select.e2e-legacy.ts-snapshots/select-alert-diff-ios-rtl-Mobile-Chrome-linux.png and /dev/null differ diff --git a/core/src/components/select/test/legacy/basic/select.e2e-legacy.ts-snapshots/select-alert-diff-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/select/test/legacy/basic/select.e2e-legacy.ts-snapshots/select-alert-diff-ios-rtl-Mobile-Firefox-linux.png deleted file mode 100644 index efb91fff92..0000000000 Binary files a/core/src/components/select/test/legacy/basic/select.e2e-legacy.ts-snapshots/select-alert-diff-ios-rtl-Mobile-Firefox-linux.png and /dev/null differ diff --git a/core/src/components/select/test/legacy/basic/select.e2e-legacy.ts-snapshots/select-alert-diff-ios-rtl-Mobile-Safari-linux.png b/core/src/components/select/test/legacy/basic/select.e2e-legacy.ts-snapshots/select-alert-diff-ios-rtl-Mobile-Safari-linux.png deleted file mode 100644 index 3d6eaa9b9d..0000000000 Binary files a/core/src/components/select/test/legacy/basic/select.e2e-legacy.ts-snapshots/select-alert-diff-ios-rtl-Mobile-Safari-linux.png and /dev/null differ diff --git a/core/src/components/select/test/legacy/basic/select.e2e-legacy.ts-snapshots/select-alert-diff-md-ltr-Mobile-Chrome-linux.png b/core/src/components/select/test/legacy/basic/select.e2e-legacy.ts-snapshots/select-alert-diff-md-ltr-Mobile-Chrome-linux.png deleted file mode 100644 index 97851e8e9a..0000000000 Binary files a/core/src/components/select/test/legacy/basic/select.e2e-legacy.ts-snapshots/select-alert-diff-md-ltr-Mobile-Chrome-linux.png and /dev/null differ diff --git a/core/src/components/select/test/legacy/basic/select.e2e-legacy.ts-snapshots/select-alert-diff-md-ltr-Mobile-Firefox-linux.png b/core/src/components/select/test/legacy/basic/select.e2e-legacy.ts-snapshots/select-alert-diff-md-ltr-Mobile-Firefox-linux.png deleted file mode 100644 index 6d5dda4bdc..0000000000 Binary files a/core/src/components/select/test/legacy/basic/select.e2e-legacy.ts-snapshots/select-alert-diff-md-ltr-Mobile-Firefox-linux.png and /dev/null differ diff --git a/core/src/components/select/test/legacy/basic/select.e2e-legacy.ts-snapshots/select-alert-diff-md-ltr-Mobile-Safari-linux.png b/core/src/components/select/test/legacy/basic/select.e2e-legacy.ts-snapshots/select-alert-diff-md-ltr-Mobile-Safari-linux.png deleted file mode 100644 index 491fcd832d..0000000000 Binary files a/core/src/components/select/test/legacy/basic/select.e2e-legacy.ts-snapshots/select-alert-diff-md-ltr-Mobile-Safari-linux.png and /dev/null differ diff --git a/core/src/components/select/test/legacy/basic/select.e2e-legacy.ts-snapshots/select-alert-diff-md-rtl-Mobile-Chrome-linux.png b/core/src/components/select/test/legacy/basic/select.e2e-legacy.ts-snapshots/select-alert-diff-md-rtl-Mobile-Chrome-linux.png deleted file mode 100644 index c4b7d0b9cd..0000000000 Binary files a/core/src/components/select/test/legacy/basic/select.e2e-legacy.ts-snapshots/select-alert-diff-md-rtl-Mobile-Chrome-linux.png and /dev/null differ diff --git a/core/src/components/select/test/legacy/basic/select.e2e-legacy.ts-snapshots/select-alert-diff-md-rtl-Mobile-Firefox-linux.png b/core/src/components/select/test/legacy/basic/select.e2e-legacy.ts-snapshots/select-alert-diff-md-rtl-Mobile-Firefox-linux.png deleted file mode 100644 index e7d6174004..0000000000 Binary files a/core/src/components/select/test/legacy/basic/select.e2e-legacy.ts-snapshots/select-alert-diff-md-rtl-Mobile-Firefox-linux.png and /dev/null differ diff --git a/core/src/components/select/test/legacy/basic/select.e2e-legacy.ts-snapshots/select-alert-diff-md-rtl-Mobile-Safari-linux.png b/core/src/components/select/test/legacy/basic/select.e2e-legacy.ts-snapshots/select-alert-diff-md-rtl-Mobile-Safari-linux.png deleted file mode 100644 index dd28f56b05..0000000000 Binary files a/core/src/components/select/test/legacy/basic/select.e2e-legacy.ts-snapshots/select-alert-diff-md-rtl-Mobile-Safari-linux.png and /dev/null differ diff --git a/core/src/components/select/test/legacy/basic/select.e2e-legacy.ts-snapshots/select-popover-diff-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/select/test/legacy/basic/select.e2e-legacy.ts-snapshots/select-popover-diff-ios-ltr-Mobile-Chrome-linux.png deleted file mode 100644 index af7494360c..0000000000 Binary files a/core/src/components/select/test/legacy/basic/select.e2e-legacy.ts-snapshots/select-popover-diff-ios-ltr-Mobile-Chrome-linux.png and /dev/null differ diff --git a/core/src/components/select/test/legacy/basic/select.e2e-legacy.ts-snapshots/select-popover-diff-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/select/test/legacy/basic/select.e2e-legacy.ts-snapshots/select-popover-diff-ios-ltr-Mobile-Firefox-linux.png deleted file mode 100644 index fca599aa54..0000000000 Binary files a/core/src/components/select/test/legacy/basic/select.e2e-legacy.ts-snapshots/select-popover-diff-ios-ltr-Mobile-Firefox-linux.png and /dev/null differ diff --git a/core/src/components/select/test/legacy/basic/select.e2e-legacy.ts-snapshots/select-popover-diff-ios-ltr-Mobile-Safari-linux.png b/core/src/components/select/test/legacy/basic/select.e2e-legacy.ts-snapshots/select-popover-diff-ios-ltr-Mobile-Safari-linux.png deleted file mode 100644 index e1eac7d58d..0000000000 Binary files a/core/src/components/select/test/legacy/basic/select.e2e-legacy.ts-snapshots/select-popover-diff-ios-ltr-Mobile-Safari-linux.png and /dev/null differ diff --git a/core/src/components/select/test/legacy/basic/select.e2e-legacy.ts-snapshots/select-popover-diff-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/select/test/legacy/basic/select.e2e-legacy.ts-snapshots/select-popover-diff-ios-rtl-Mobile-Chrome-linux.png deleted file mode 100644 index 8f40d6624b..0000000000 Binary files a/core/src/components/select/test/legacy/basic/select.e2e-legacy.ts-snapshots/select-popover-diff-ios-rtl-Mobile-Chrome-linux.png and /dev/null differ diff --git a/core/src/components/select/test/legacy/basic/select.e2e-legacy.ts-snapshots/select-popover-diff-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/select/test/legacy/basic/select.e2e-legacy.ts-snapshots/select-popover-diff-ios-rtl-Mobile-Firefox-linux.png deleted file mode 100644 index 47cdcb8204..0000000000 Binary files a/core/src/components/select/test/legacy/basic/select.e2e-legacy.ts-snapshots/select-popover-diff-ios-rtl-Mobile-Firefox-linux.png and /dev/null differ diff --git a/core/src/components/select/test/legacy/basic/select.e2e-legacy.ts-snapshots/select-popover-diff-ios-rtl-Mobile-Safari-linux.png b/core/src/components/select/test/legacy/basic/select.e2e-legacy.ts-snapshots/select-popover-diff-ios-rtl-Mobile-Safari-linux.png deleted file mode 100644 index 532036f337..0000000000 Binary files a/core/src/components/select/test/legacy/basic/select.e2e-legacy.ts-snapshots/select-popover-diff-ios-rtl-Mobile-Safari-linux.png and /dev/null differ diff --git a/core/src/components/select/test/legacy/basic/select.e2e-legacy.ts-snapshots/select-popover-diff-md-ltr-Mobile-Chrome-linux.png b/core/src/components/select/test/legacy/basic/select.e2e-legacy.ts-snapshots/select-popover-diff-md-ltr-Mobile-Chrome-linux.png deleted file mode 100644 index 4f9fe7cb97..0000000000 Binary files a/core/src/components/select/test/legacy/basic/select.e2e-legacy.ts-snapshots/select-popover-diff-md-ltr-Mobile-Chrome-linux.png and /dev/null differ diff --git a/core/src/components/select/test/legacy/basic/select.e2e-legacy.ts-snapshots/select-popover-diff-md-ltr-Mobile-Firefox-linux.png b/core/src/components/select/test/legacy/basic/select.e2e-legacy.ts-snapshots/select-popover-diff-md-ltr-Mobile-Firefox-linux.png deleted file mode 100644 index fb5d761ba9..0000000000 Binary files a/core/src/components/select/test/legacy/basic/select.e2e-legacy.ts-snapshots/select-popover-diff-md-ltr-Mobile-Firefox-linux.png and /dev/null differ diff --git a/core/src/components/select/test/legacy/basic/select.e2e-legacy.ts-snapshots/select-popover-diff-md-ltr-Mobile-Safari-linux.png b/core/src/components/select/test/legacy/basic/select.e2e-legacy.ts-snapshots/select-popover-diff-md-ltr-Mobile-Safari-linux.png deleted file mode 100644 index 8572f36e51..0000000000 Binary files a/core/src/components/select/test/legacy/basic/select.e2e-legacy.ts-snapshots/select-popover-diff-md-ltr-Mobile-Safari-linux.png and /dev/null differ diff --git a/core/src/components/select/test/legacy/basic/select.e2e-legacy.ts-snapshots/select-popover-diff-md-rtl-Mobile-Chrome-linux.png b/core/src/components/select/test/legacy/basic/select.e2e-legacy.ts-snapshots/select-popover-diff-md-rtl-Mobile-Chrome-linux.png deleted file mode 100644 index 3b6bd1058b..0000000000 Binary files a/core/src/components/select/test/legacy/basic/select.e2e-legacy.ts-snapshots/select-popover-diff-md-rtl-Mobile-Chrome-linux.png and /dev/null differ diff --git a/core/src/components/select/test/legacy/basic/select.e2e-legacy.ts-snapshots/select-popover-diff-md-rtl-Mobile-Firefox-linux.png b/core/src/components/select/test/legacy/basic/select.e2e-legacy.ts-snapshots/select-popover-diff-md-rtl-Mobile-Firefox-linux.png deleted file mode 100644 index e9f5380e77..0000000000 Binary files a/core/src/components/select/test/legacy/basic/select.e2e-legacy.ts-snapshots/select-popover-diff-md-rtl-Mobile-Firefox-linux.png and /dev/null differ diff --git a/core/src/components/select/test/legacy/basic/select.e2e-legacy.ts-snapshots/select-popover-diff-md-rtl-Mobile-Safari-linux.png b/core/src/components/select/test/legacy/basic/select.e2e-legacy.ts-snapshots/select-popover-diff-md-rtl-Mobile-Safari-linux.png deleted file mode 100644 index 0d36d383d8..0000000000 Binary files a/core/src/components/select/test/legacy/basic/select.e2e-legacy.ts-snapshots/select-popover-diff-md-rtl-Mobile-Safari-linux.png and /dev/null differ diff --git a/core/src/components/select/test/legacy/basic/select.e2e.ts b/core/src/components/select/test/legacy/basic/select.e2e.ts new file mode 100644 index 0000000000..7c4e8323d7 --- /dev/null +++ b/core/src/components/select/test/legacy/basic/select.e2e.ts @@ -0,0 +1,196 @@ +import { expect } from '@playwright/test'; +import { configs, test } from '@utils/test/playwright'; + +configs({ directions: ['ltr'] }).forEach(({ title, config }) => { + test.describe(title('select: basic'), () => { + test.beforeEach(async ({ page }) => { + await page.goto('/src/components/select/test/legacy/basic', config); + }); + test.describe('select: alert', () => { + test('it should open an alert select', async ({ page }) => { + const ionAlertDidPresent = await page.spyOnEvent('ionAlertDidPresent'); + + await page.click('#customAlertSelect'); + + await ionAlertDidPresent.next(); + + await expect(page.locator('ion-alert')).toBeVisible(); + }); + }); + + test.describe('select: action sheet', () => { + test('it should open an action sheet select', async ({ page }) => { + const ionActionSheetDidPresent = await page.spyOnEvent('ionActionSheetDidPresent'); + + await page.click('#customActionSheetSelect'); + + await ionActionSheetDidPresent.next(); + + await expect(page.locator('ion-action-sheet')).toBeVisible(); + }); + }); + + test.describe('select: popover', () => { + test('it should open a popover select', async ({ page, browserName, skip }) => { + // TODO (FW-2979) + skip.browser('webkit', 'Safari 16 only allows text fields and pop-up menus to be focused.'); + + const ionPopoverDidPresent = await page.spyOnEvent('ionPopoverDidPresent'); + + await page.click('#customPopoverSelect'); + + await ionPopoverDidPresent.next(); + + const popover = page.locator('ion-popover'); + + // TODO(FW-1436) + if (browserName !== 'firefox') { + // select has no value, so first option should be focused by default + const popoverOption1 = await popover.locator('.select-interface-option:first-of-type ion-radio'); + await expect(popoverOption1).toBeFocused(); + } + + await expect(popover).toBeVisible(); + }); + }); + }); +}); + +configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) => { + test.describe(title('select: multiple selects'), () => { + test('should not open multiple alert windows when clicked multiple times', async ({ page }) => { + test.info().annotations.push({ + type: 'issue', + description: 'https://github.com/ionic-team/ionic-framework/issues/25126', + }); + + await page.goto('/src/components/select/test/basic', config); + + const select = page.locator('#gender'); + + await select.evaluate((el: HTMLSelectElement) => { + /* + * Playwright's click() method attempts to scroll to the handle + * to perform the action. That is problematic when the overlay + * is already visible. We manually click() the element instead + * to avoid flaky tests. + */ + el.click(); + el.click(); + el.click(); + }); + + const alerts = await page.$$('ion-alert'); + + expect(alerts.length).toBe(1); + }); + }); +}); + +/** + * ionChange has a consistent behavior across modes + */ +configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => { + test.describe(title('select: ionChange'), () => { + test('should fire ionChange when confirming a value from an alert', async ({ page }) => { + await page.setContent( + ` + + Apple + Banana + + `, + config + ); + + const ionAlertDidPresent = await page.spyOnEvent('ionAlertDidPresent'); + const ionChange = await page.spyOnEvent('ionChange'); + const select = page.locator('ion-select'); + + await select.click(); + await ionAlertDidPresent.next(); + + const alert = page.locator('ion-alert'); + const radioButtons = alert.locator('.alert-radio-button'); + const confirmButton = alert.locator('.alert-button:not(.alert-button-role-cancel)'); + + await radioButtons.nth(0).click(); + await confirmButton.click(); + + await ionChange.next(); + expect(ionChange).toHaveReceivedEventDetail({ value: 'apple' }); + }); + + test('should fire ionChange when confirming a value from a popover', async ({ page }) => { + await page.setContent( + ` + + Apple + Banana + + `, + config + ); + + const ionPopoverDidPresent = await page.spyOnEvent('ionPopoverDidPresent'); + const ionChange = await page.spyOnEvent('ionChange'); + const select = page.locator('ion-select'); + + await select.click(); + await ionPopoverDidPresent.next(); + + const popover = page.locator('ion-popover'); + const radioButtons = popover.locator('ion-radio'); + + await radioButtons.nth(0).click(); + + await ionChange.next(); + expect(ionChange).toHaveReceivedEventDetail({ value: 'apple', event: { isTrusted: true } }); + }); + + test('should fire ionChange when confirming a value from an action sheet', async ({ page }) => { + await page.setContent( + ` + + Apple + Banana + + `, + config + ); + + const ionActionSheetDidPresent = await page.spyOnEvent('ionActionSheetDidPresent'); + const ionChange = await page.spyOnEvent('ionChange'); + const select = page.locator('ion-select'); + + await select.click(); + await ionActionSheetDidPresent.next(); + + const actionSheet = page.locator('ion-action-sheet'); + const buttons = actionSheet.locator('.action-sheet-button'); + + await buttons.nth(0).click(); + + await ionChange.next(); + expect(ionChange).toHaveReceivedEventDetail({ value: 'apple' }); + }); + + test('should not fire when programmatically setting a valid value', async ({ page }) => { + await page.setContent( + ` + + Apple + Banana + + `, + config + ); + + const ionChange = await page.spyOnEvent('ionChange'); + const select = page.locator('ion-select'); + + await select.evaluate((el: HTMLIonSelectElement) => (el.value = 'banana')); + await expect(ionChange).not.toHaveReceivedEvent(); + }); + }); +}); diff --git a/core/src/components/select/test/legacy/compare-with/select.e2e-legacy.ts b/core/src/components/select/test/legacy/compare-with/select.e2e-legacy.ts deleted file mode 100644 index 84cfd6ec22..0000000000 --- a/core/src/components/select/test/legacy/compare-with/select.e2e-legacy.ts +++ /dev/null @@ -1,72 +0,0 @@ -import { expect } from '@playwright/test'; -import { test } from '@utils/test/playwright'; - -test.describe('select: compare-with', () => { - test('should correctly set value when using compareWith property', async ({ page, skip }) => { - skip.rtl('This is checking internal logic. RTL tests are not needed'); - - await page.goto('/src/components/select/test/legacy/compare-with'); - - const multipleSelect = page.locator('#multiple'); - const singleSelect = page.locator('#single'); - - await expect(multipleSelect).toHaveJSProperty('value', [ - { - label: 'selected by default', - value: '1', - }, - ]); - await expect(singleSelect).toHaveJSProperty('value', { - label: 'selected by default', - value: '1', - }); - }); - - test('should work with different parameter types', async ({ page }, testInfo) => { - test.skip(testInfo.project.metadata.rtl === true, 'This does not check LTR vs RTL layouts'); - test.skip(testInfo.project.metadata.mode === 'md', 'This logic is the same across modes'); - test.info().annotations.push({ - type: 'issue', - description: 'https://github.com/ionic-team/ionic-framework/issues/25759', - }); - - await page.setContent(` - - - - `); - const ionAlertDidPresent = await page.spyOnEvent('ionAlertDidPresent'); - - const select = page.locator('ion-select'); - const selectLabel = select.locator('[part="text"]'); - - await expect(selectLabel).toHaveText('Option #3'); - - await select.click(); - await ionAlertDidPresent.next(); - - const selectRadios = page.locator('ion-alert button.alert-radio'); - await expect(selectRadios.nth(0)).toHaveAttribute('aria-checked', 'false'); - await expect(selectRadios.nth(1)).toHaveAttribute('aria-checked', 'false'); - await expect(selectRadios.nth(2)).toHaveAttribute('aria-checked', 'true'); - }); -}); diff --git a/core/src/components/select/test/legacy/compare-with/select.e2e.ts b/core/src/components/select/test/legacy/compare-with/select.e2e.ts new file mode 100644 index 0000000000..c22b6da257 --- /dev/null +++ b/core/src/components/select/test/legacy/compare-with/select.e2e.ts @@ -0,0 +1,76 @@ +import { expect } from '@playwright/test'; +import { configs, test } from '@utils/test/playwright'; + +/** + * This behavior does not vary across modes/directions. + */ +configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => { + test.describe(title('select: compare-with'), () => { + test('should correctly set value when using compareWith property', async ({ page }) => { + await page.goto('/src/components/select/test/legacy/compare-with', config); + + const multipleSelect = page.locator('#multiple'); + const singleSelect = page.locator('#single'); + + await expect(multipleSelect).toHaveJSProperty('value', [ + { + label: 'selected by default', + value: '1', + }, + ]); + await expect(singleSelect).toHaveJSProperty('value', { + label: 'selected by default', + value: '1', + }); + }); + + test('should work with different parameter types', async ({ page }) => { + test.info().annotations.push({ + type: 'issue', + description: 'https://github.com/ionic-team/ionic-framework/issues/25759', + }); + + await page.setContent( + ` + + + + `, + config + ); + const ionAlertDidPresent = await page.spyOnEvent('ionAlertDidPresent'); + + const select = page.locator('ion-select'); + const selectLabel = select.locator('[part="text"]'); + + await expect(selectLabel).toHaveText('Option #3'); + + await select.click(); + await ionAlertDidPresent.next(); + + const selectRadios = page.locator('ion-alert button.alert-radio'); + await expect(selectRadios.nth(0)).toHaveAttribute('aria-checked', 'false'); + await expect(selectRadios.nth(1)).toHaveAttribute('aria-checked', 'false'); + await expect(selectRadios.nth(2)).toHaveAttribute('aria-checked', 'true'); + }); + }); +}); diff --git a/core/src/components/select/test/legacy/custom/custom.e2e-legacy.ts b/core/src/components/select/test/legacy/custom/custom.e2e-legacy.ts deleted file mode 100644 index 712e613d2e..0000000000 --- a/core/src/components/select/test/legacy/custom/custom.e2e-legacy.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { expect } from '@playwright/test'; -import { test } from '@utils/test/playwright'; - -test.describe('select: custom', () => { - test('should not have visual regressions', async ({ page }) => { - await page.goto(`/src/components/select/test/legacy/custom`); - - await expect(page).toHaveScreenshot(`select-custom-diff-${page.getSnapshotSettings()}.png`); - }); -}); diff --git a/core/src/components/select/test/legacy/custom/custom.e2e.ts b/core/src/components/select/test/legacy/custom/custom.e2e.ts new file mode 100644 index 0000000000..fb0cdfff57 --- /dev/null +++ b/core/src/components/select/test/legacy/custom/custom.e2e.ts @@ -0,0 +1,12 @@ +import { expect } from '@playwright/test'; +import { configs, test } from '@utils/test/playwright'; + +configs().forEach(({ title, screenshot, config }) => { + test.describe(title('select: custom'), () => { + test('should not have visual regressions', async ({ page }) => { + await page.goto(`/src/components/select/test/legacy/custom`, config); + + await expect(page).toHaveScreenshot(screenshot(`select-custom-diff`)); + }); + }); +}); diff --git a/core/src/components/select/test/legacy/custom/custom.e2e-legacy.ts-snapshots/select-custom-diff-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/select/test/legacy/custom/custom.e2e.ts-snapshots/select-custom-diff-ios-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/legacy/custom/custom.e2e-legacy.ts-snapshots/select-custom-diff-ios-ltr-Mobile-Chrome-linux.png rename to core/src/components/select/test/legacy/custom/custom.e2e.ts-snapshots/select-custom-diff-ios-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/legacy/custom/custom.e2e-legacy.ts-snapshots/select-custom-diff-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/select/test/legacy/custom/custom.e2e.ts-snapshots/select-custom-diff-ios-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/legacy/custom/custom.e2e-legacy.ts-snapshots/select-custom-diff-ios-ltr-Mobile-Firefox-linux.png rename to core/src/components/select/test/legacy/custom/custom.e2e.ts-snapshots/select-custom-diff-ios-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/legacy/custom/custom.e2e-legacy.ts-snapshots/select-custom-diff-ios-ltr-Mobile-Safari-linux.png b/core/src/components/select/test/legacy/custom/custom.e2e.ts-snapshots/select-custom-diff-ios-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/legacy/custom/custom.e2e-legacy.ts-snapshots/select-custom-diff-ios-ltr-Mobile-Safari-linux.png rename to core/src/components/select/test/legacy/custom/custom.e2e.ts-snapshots/select-custom-diff-ios-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/legacy/custom/custom.e2e-legacy.ts-snapshots/select-custom-diff-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/select/test/legacy/custom/custom.e2e.ts-snapshots/select-custom-diff-ios-rtl-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/legacy/custom/custom.e2e-legacy.ts-snapshots/select-custom-diff-ios-rtl-Mobile-Chrome-linux.png rename to core/src/components/select/test/legacy/custom/custom.e2e.ts-snapshots/select-custom-diff-ios-rtl-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/legacy/custom/custom.e2e-legacy.ts-snapshots/select-custom-diff-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/select/test/legacy/custom/custom.e2e.ts-snapshots/select-custom-diff-ios-rtl-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/legacy/custom/custom.e2e-legacy.ts-snapshots/select-custom-diff-ios-rtl-Mobile-Firefox-linux.png rename to core/src/components/select/test/legacy/custom/custom.e2e.ts-snapshots/select-custom-diff-ios-rtl-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/legacy/custom/custom.e2e-legacy.ts-snapshots/select-custom-diff-ios-rtl-Mobile-Safari-linux.png b/core/src/components/select/test/legacy/custom/custom.e2e.ts-snapshots/select-custom-diff-ios-rtl-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/legacy/custom/custom.e2e-legacy.ts-snapshots/select-custom-diff-ios-rtl-Mobile-Safari-linux.png rename to core/src/components/select/test/legacy/custom/custom.e2e.ts-snapshots/select-custom-diff-ios-rtl-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/legacy/custom/custom.e2e-legacy.ts-snapshots/select-custom-diff-md-ltr-Mobile-Chrome-linux.png b/core/src/components/select/test/legacy/custom/custom.e2e.ts-snapshots/select-custom-diff-md-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/legacy/custom/custom.e2e-legacy.ts-snapshots/select-custom-diff-md-ltr-Mobile-Chrome-linux.png rename to core/src/components/select/test/legacy/custom/custom.e2e.ts-snapshots/select-custom-diff-md-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/legacy/custom/custom.e2e-legacy.ts-snapshots/select-custom-diff-md-ltr-Mobile-Firefox-linux.png b/core/src/components/select/test/legacy/custom/custom.e2e.ts-snapshots/select-custom-diff-md-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/legacy/custom/custom.e2e-legacy.ts-snapshots/select-custom-diff-md-ltr-Mobile-Firefox-linux.png rename to core/src/components/select/test/legacy/custom/custom.e2e.ts-snapshots/select-custom-diff-md-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/legacy/custom/custom.e2e-legacy.ts-snapshots/select-custom-diff-md-ltr-Mobile-Safari-linux.png b/core/src/components/select/test/legacy/custom/custom.e2e.ts-snapshots/select-custom-diff-md-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/legacy/custom/custom.e2e-legacy.ts-snapshots/select-custom-diff-md-ltr-Mobile-Safari-linux.png rename to core/src/components/select/test/legacy/custom/custom.e2e.ts-snapshots/select-custom-diff-md-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/legacy/custom/custom.e2e-legacy.ts-snapshots/select-custom-diff-md-rtl-Mobile-Chrome-linux.png b/core/src/components/select/test/legacy/custom/custom.e2e.ts-snapshots/select-custom-diff-md-rtl-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/legacy/custom/custom.e2e-legacy.ts-snapshots/select-custom-diff-md-rtl-Mobile-Chrome-linux.png rename to core/src/components/select/test/legacy/custom/custom.e2e.ts-snapshots/select-custom-diff-md-rtl-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/legacy/custom/custom.e2e-legacy.ts-snapshots/select-custom-diff-md-rtl-Mobile-Firefox-linux.png b/core/src/components/select/test/legacy/custom/custom.e2e.ts-snapshots/select-custom-diff-md-rtl-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/legacy/custom/custom.e2e-legacy.ts-snapshots/select-custom-diff-md-rtl-Mobile-Firefox-linux.png rename to core/src/components/select/test/legacy/custom/custom.e2e.ts-snapshots/select-custom-diff-md-rtl-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/legacy/custom/custom.e2e-legacy.ts-snapshots/select-custom-diff-md-rtl-Mobile-Safari-linux.png b/core/src/components/select/test/legacy/custom/custom.e2e.ts-snapshots/select-custom-diff-md-rtl-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/legacy/custom/custom.e2e-legacy.ts-snapshots/select-custom-diff-md-rtl-Mobile-Safari-linux.png rename to core/src/components/select/test/legacy/custom/custom.e2e.ts-snapshots/select-custom-diff-md-rtl-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/legacy/single-value/select.e2e-legacy.ts b/core/src/components/select/test/legacy/single-value/select.e2e-legacy.ts deleted file mode 100644 index f97a9a4644..0000000000 --- a/core/src/components/select/test/legacy/single-value/select.e2e-legacy.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { expect } from '@playwright/test'; -import { test } from '@utils/test/playwright'; - -test.describe('select: single-value', () => { - test('should open single value select', async ({ page }) => { - await page.goto(`/src/components/select/test/legacy/single-value`); - - const ionAlertDidPresent = await page.spyOnEvent('ionAlertDidPresent'); - - await page.click('#gender'); - - await ionAlertDidPresent.next(); - - await expect(page).toHaveScreenshot(`select-single-value-diff-${page.getSnapshotSettings()}.png`, { - animations: 'disabled', - }); - }); -}); diff --git a/core/src/components/select/test/legacy/single-value/select.e2e-legacy.ts-snapshots/select-single-value-diff-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/select/test/legacy/single-value/select.e2e-legacy.ts-snapshots/select-single-value-diff-ios-rtl-Mobile-Chrome-linux.png deleted file mode 100644 index e11ce3143c..0000000000 Binary files a/core/src/components/select/test/legacy/single-value/select.e2e-legacy.ts-snapshots/select-single-value-diff-ios-rtl-Mobile-Chrome-linux.png and /dev/null differ diff --git a/core/src/components/select/test/legacy/single-value/select.e2e-legacy.ts-snapshots/select-single-value-diff-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/select/test/legacy/single-value/select.e2e-legacy.ts-snapshots/select-single-value-diff-ios-rtl-Mobile-Firefox-linux.png deleted file mode 100644 index 1004d5003d..0000000000 Binary files a/core/src/components/select/test/legacy/single-value/select.e2e-legacy.ts-snapshots/select-single-value-diff-ios-rtl-Mobile-Firefox-linux.png and /dev/null differ diff --git a/core/src/components/select/test/legacy/single-value/select.e2e-legacy.ts-snapshots/select-single-value-diff-ios-rtl-Mobile-Safari-linux.png b/core/src/components/select/test/legacy/single-value/select.e2e-legacy.ts-snapshots/select-single-value-diff-ios-rtl-Mobile-Safari-linux.png deleted file mode 100644 index ea3a5b5671..0000000000 Binary files a/core/src/components/select/test/legacy/single-value/select.e2e-legacy.ts-snapshots/select-single-value-diff-ios-rtl-Mobile-Safari-linux.png and /dev/null differ diff --git a/core/src/components/select/test/legacy/single-value/select.e2e-legacy.ts-snapshots/select-single-value-diff-md-ltr-Mobile-Firefox-linux.png b/core/src/components/select/test/legacy/single-value/select.e2e-legacy.ts-snapshots/select-single-value-diff-md-ltr-Mobile-Firefox-linux.png deleted file mode 100644 index 53605e15c5..0000000000 Binary files a/core/src/components/select/test/legacy/single-value/select.e2e-legacy.ts-snapshots/select-single-value-diff-md-ltr-Mobile-Firefox-linux.png and /dev/null differ diff --git a/core/src/components/select/test/legacy/single-value/select.e2e-legacy.ts-snapshots/select-single-value-diff-md-rtl-Mobile-Chrome-linux.png b/core/src/components/select/test/legacy/single-value/select.e2e-legacy.ts-snapshots/select-single-value-diff-md-rtl-Mobile-Chrome-linux.png deleted file mode 100644 index 3bdffc7ac9..0000000000 Binary files a/core/src/components/select/test/legacy/single-value/select.e2e-legacy.ts-snapshots/select-single-value-diff-md-rtl-Mobile-Chrome-linux.png and /dev/null differ diff --git a/core/src/components/select/test/legacy/single-value/select.e2e-legacy.ts-snapshots/select-single-value-diff-md-rtl-Mobile-Firefox-linux.png b/core/src/components/select/test/legacy/single-value/select.e2e-legacy.ts-snapshots/select-single-value-diff-md-rtl-Mobile-Firefox-linux.png deleted file mode 100644 index d1cf5d8ee8..0000000000 Binary files a/core/src/components/select/test/legacy/single-value/select.e2e-legacy.ts-snapshots/select-single-value-diff-md-rtl-Mobile-Firefox-linux.png and /dev/null differ diff --git a/core/src/components/select/test/legacy/single-value/select.e2e-legacy.ts-snapshots/select-single-value-diff-md-rtl-Mobile-Safari-linux.png b/core/src/components/select/test/legacy/single-value/select.e2e-legacy.ts-snapshots/select-single-value-diff-md-rtl-Mobile-Safari-linux.png deleted file mode 100644 index ede2e078af..0000000000 Binary files a/core/src/components/select/test/legacy/single-value/select.e2e-legacy.ts-snapshots/select-single-value-diff-md-rtl-Mobile-Safari-linux.png and /dev/null differ diff --git a/core/src/components/select/test/legacy/single-value/select.e2e.ts b/core/src/components/select/test/legacy/single-value/select.e2e.ts new file mode 100644 index 0000000000..06d8dc8de3 --- /dev/null +++ b/core/src/components/select/test/legacy/single-value/select.e2e.ts @@ -0,0 +1,18 @@ +import { expect } from '@playwright/test'; +import { configs, test } from '@utils/test/playwright'; + +configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => { + test.describe(title('select: single-value'), () => { + test('should open single value select', async ({ page }) => { + await page.goto(`/src/components/select/test/legacy/single-value`, config); + + const ionAlertDidPresent = await page.spyOnEvent('ionAlertDidPresent'); + + await page.click('#gender'); + + await ionAlertDidPresent.next(); + + await expect(page).toHaveScreenshot(screenshot(`select-single-value-diff`)); + }); + }); +}); diff --git a/core/src/components/select/test/legacy/single-value/select.e2e-legacy.ts-snapshots/select-single-value-diff-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/select/test/legacy/single-value/select.e2e.ts-snapshots/select-single-value-diff-ios-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/legacy/single-value/select.e2e-legacy.ts-snapshots/select-single-value-diff-ios-ltr-Mobile-Chrome-linux.png rename to core/src/components/select/test/legacy/single-value/select.e2e.ts-snapshots/select-single-value-diff-ios-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/legacy/single-value/select.e2e-legacy.ts-snapshots/select-single-value-diff-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/select/test/legacy/single-value/select.e2e.ts-snapshots/select-single-value-diff-ios-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/legacy/single-value/select.e2e-legacy.ts-snapshots/select-single-value-diff-ios-ltr-Mobile-Firefox-linux.png rename to core/src/components/select/test/legacy/single-value/select.e2e.ts-snapshots/select-single-value-diff-ios-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/legacy/single-value/select.e2e-legacy.ts-snapshots/select-single-value-diff-ios-ltr-Mobile-Safari-linux.png b/core/src/components/select/test/legacy/single-value/select.e2e.ts-snapshots/select-single-value-diff-ios-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/legacy/single-value/select.e2e-legacy.ts-snapshots/select-single-value-diff-ios-ltr-Mobile-Safari-linux.png rename to core/src/components/select/test/legacy/single-value/select.e2e.ts-snapshots/select-single-value-diff-ios-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/legacy/single-value/select.e2e-legacy.ts-snapshots/select-single-value-diff-md-ltr-Mobile-Chrome-linux.png b/core/src/components/select/test/legacy/single-value/select.e2e.ts-snapshots/select-single-value-diff-md-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/legacy/single-value/select.e2e-legacy.ts-snapshots/select-single-value-diff-md-ltr-Mobile-Chrome-linux.png rename to core/src/components/select/test/legacy/single-value/select.e2e.ts-snapshots/select-single-value-diff-md-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/legacy/single-value/select.e2e.ts-snapshots/select-single-value-diff-md-ltr-Mobile-Firefox-linux.png b/core/src/components/select/test/legacy/single-value/select.e2e.ts-snapshots/select-single-value-diff-md-ltr-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..49cbd472eb Binary files /dev/null and b/core/src/components/select/test/legacy/single-value/select.e2e.ts-snapshots/select-single-value-diff-md-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/select/test/legacy/single-value/select.e2e-legacy.ts-snapshots/select-single-value-diff-md-ltr-Mobile-Safari-linux.png b/core/src/components/select/test/legacy/single-value/select.e2e.ts-snapshots/select-single-value-diff-md-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/legacy/single-value/select.e2e-legacy.ts-snapshots/select-single-value-diff-md-ltr-Mobile-Safari-linux.png rename to core/src/components/select/test/legacy/single-value/select.e2e.ts-snapshots/select-single-value-diff-md-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/legacy/spec/select.e2e-legacy.ts b/core/src/components/select/test/legacy/spec/select.e2e-legacy.ts deleted file mode 100644 index 52f9b1e884..0000000000 --- a/core/src/components/select/test/legacy/spec/select.e2e-legacy.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { expect } from '@playwright/test'; -import { test } from '@utils/test/playwright'; - -test.describe('select: spec', () => { - test('should not have visual regressions', async ({ page }) => { - await page.goto(`/src/components/select/test/legacy/spec`); - - await page.setIonViewport(); - - await expect(page).toHaveScreenshot(`select-spec-diff-${page.getSnapshotSettings()}.png`, { - animations: 'disabled', - }); - }); -}); diff --git a/core/src/components/select/test/legacy/spec/select.e2e-legacy.ts-snapshots/select-spec-diff-md-ltr-Mobile-Firefox-linux.png b/core/src/components/select/test/legacy/spec/select.e2e-legacy.ts-snapshots/select-spec-diff-md-ltr-Mobile-Firefox-linux.png deleted file mode 100644 index 9d9ab19ffa..0000000000 Binary files a/core/src/components/select/test/legacy/spec/select.e2e-legacy.ts-snapshots/select-spec-diff-md-ltr-Mobile-Firefox-linux.png and /dev/null differ diff --git a/core/src/components/select/test/legacy/spec/select.e2e.ts b/core/src/components/select/test/legacy/spec/select.e2e.ts new file mode 100644 index 0000000000..df22e5d794 --- /dev/null +++ b/core/src/components/select/test/legacy/spec/select.e2e.ts @@ -0,0 +1,14 @@ +import { expect } from '@playwright/test'; +import { configs, test } from '@utils/test/playwright'; + +configs().forEach(({ title, screenshot, config }) => { + test.describe(title('select: spec'), () => { + test('should not have visual regressions', async ({ page }) => { + await page.goto(`/src/components/select/test/legacy/spec`, config); + + await page.setIonViewport(); + + await expect(page).toHaveScreenshot(screenshot(`select-spec-diff`)); + }); + }); +}); diff --git a/core/src/components/select/test/legacy/spec/select.e2e-legacy.ts-snapshots/select-spec-diff-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/select/test/legacy/spec/select.e2e.ts-snapshots/select-spec-diff-ios-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/legacy/spec/select.e2e-legacy.ts-snapshots/select-spec-diff-ios-ltr-Mobile-Chrome-linux.png rename to core/src/components/select/test/legacy/spec/select.e2e.ts-snapshots/select-spec-diff-ios-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/legacy/spec/select.e2e-legacy.ts-snapshots/select-spec-diff-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/select/test/legacy/spec/select.e2e.ts-snapshots/select-spec-diff-ios-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/legacy/spec/select.e2e-legacy.ts-snapshots/select-spec-diff-ios-ltr-Mobile-Firefox-linux.png rename to core/src/components/select/test/legacy/spec/select.e2e.ts-snapshots/select-spec-diff-ios-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/legacy/spec/select.e2e-legacy.ts-snapshots/select-spec-diff-ios-ltr-Mobile-Safari-linux.png b/core/src/components/select/test/legacy/spec/select.e2e.ts-snapshots/select-spec-diff-ios-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/legacy/spec/select.e2e-legacy.ts-snapshots/select-spec-diff-ios-ltr-Mobile-Safari-linux.png rename to core/src/components/select/test/legacy/spec/select.e2e.ts-snapshots/select-spec-diff-ios-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/legacy/spec/select.e2e-legacy.ts-snapshots/select-spec-diff-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/select/test/legacy/spec/select.e2e.ts-snapshots/select-spec-diff-ios-rtl-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/legacy/spec/select.e2e-legacy.ts-snapshots/select-spec-diff-ios-rtl-Mobile-Chrome-linux.png rename to core/src/components/select/test/legacy/spec/select.e2e.ts-snapshots/select-spec-diff-ios-rtl-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/legacy/spec/select.e2e-legacy.ts-snapshots/select-spec-diff-ios-rtl-Mobile-Firefox-linux.png b/core/src/components/select/test/legacy/spec/select.e2e.ts-snapshots/select-spec-diff-ios-rtl-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/legacy/spec/select.e2e-legacy.ts-snapshots/select-spec-diff-ios-rtl-Mobile-Firefox-linux.png rename to core/src/components/select/test/legacy/spec/select.e2e.ts-snapshots/select-spec-diff-ios-rtl-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/legacy/spec/select.e2e-legacy.ts-snapshots/select-spec-diff-ios-rtl-Mobile-Safari-linux.png b/core/src/components/select/test/legacy/spec/select.e2e.ts-snapshots/select-spec-diff-ios-rtl-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/legacy/spec/select.e2e-legacy.ts-snapshots/select-spec-diff-ios-rtl-Mobile-Safari-linux.png rename to core/src/components/select/test/legacy/spec/select.e2e.ts-snapshots/select-spec-diff-ios-rtl-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/legacy/spec/select.e2e-legacy.ts-snapshots/select-spec-diff-md-ltr-Mobile-Chrome-linux.png b/core/src/components/select/test/legacy/spec/select.e2e.ts-snapshots/select-spec-diff-md-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/legacy/spec/select.e2e-legacy.ts-snapshots/select-spec-diff-md-ltr-Mobile-Chrome-linux.png rename to core/src/components/select/test/legacy/spec/select.e2e.ts-snapshots/select-spec-diff-md-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/legacy/spec/select.e2e.ts-snapshots/select-spec-diff-md-ltr-Mobile-Firefox-linux.png b/core/src/components/select/test/legacy/spec/select.e2e.ts-snapshots/select-spec-diff-md-ltr-Mobile-Firefox-linux.png new file mode 100644 index 0000000000..7a58f86a22 Binary files /dev/null and b/core/src/components/select/test/legacy/spec/select.e2e.ts-snapshots/select-spec-diff-md-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/select/test/legacy/spec/select.e2e-legacy.ts-snapshots/select-spec-diff-md-ltr-Mobile-Safari-linux.png b/core/src/components/select/test/legacy/spec/select.e2e.ts-snapshots/select-spec-diff-md-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/legacy/spec/select.e2e-legacy.ts-snapshots/select-spec-diff-md-ltr-Mobile-Safari-linux.png rename to core/src/components/select/test/legacy/spec/select.e2e.ts-snapshots/select-spec-diff-md-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/legacy/spec/select.e2e-legacy.ts-snapshots/select-spec-diff-md-rtl-Mobile-Chrome-linux.png b/core/src/components/select/test/legacy/spec/select.e2e.ts-snapshots/select-spec-diff-md-rtl-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/legacy/spec/select.e2e-legacy.ts-snapshots/select-spec-diff-md-rtl-Mobile-Chrome-linux.png rename to core/src/components/select/test/legacy/spec/select.e2e.ts-snapshots/select-spec-diff-md-rtl-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/legacy/spec/select.e2e-legacy.ts-snapshots/select-spec-diff-md-rtl-Mobile-Firefox-linux.png b/core/src/components/select/test/legacy/spec/select.e2e.ts-snapshots/select-spec-diff-md-rtl-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/legacy/spec/select.e2e-legacy.ts-snapshots/select-spec-diff-md-rtl-Mobile-Firefox-linux.png rename to core/src/components/select/test/legacy/spec/select.e2e.ts-snapshots/select-spec-diff-md-rtl-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/legacy/spec/select.e2e-legacy.ts-snapshots/select-spec-diff-md-rtl-Mobile-Safari-linux.png b/core/src/components/select/test/legacy/spec/select.e2e.ts-snapshots/select-spec-diff-md-rtl-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/legacy/spec/select.e2e-legacy.ts-snapshots/select-spec-diff-md-rtl-Mobile-Safari-linux.png rename to core/src/components/select/test/legacy/spec/select.e2e.ts-snapshots/select-spec-diff-md-rtl-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/legacy/standalone/select.e2e-legacy.ts b/core/src/components/select/test/legacy/standalone/select.e2e-legacy.ts deleted file mode 100644 index da5849cf21..0000000000 --- a/core/src/components/select/test/legacy/standalone/select.e2e-legacy.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { test } from '@utils/test/playwright'; - -test.describe('select: standalone', () => { - test('should open an overlay without ion-app', async ({ page }) => { - await page.goto(`/src/components/select/test/legacy/standalone`); - const ionAlertDidPresent = await page.spyOnEvent('ionAlertDidPresent'); - const ionAlertDidDismiss = await page.spyOnEvent('ionAlertDidDismiss'); - - await page.click('#gender'); - - await ionAlertDidPresent.next(); - - const alert = page.locator('ion-alert'); - await alert.evaluate((el: HTMLIonAlertElement) => el.dismiss()); - - await ionAlertDidDismiss.next(); - }); -}); diff --git a/core/src/components/select/test/legacy/standalone/select.e2e.ts b/core/src/components/select/test/legacy/standalone/select.e2e.ts new file mode 100644 index 0000000000..bfb7c8130a --- /dev/null +++ b/core/src/components/select/test/legacy/standalone/select.e2e.ts @@ -0,0 +1,20 @@ +import { configs, test } from '@utils/test/playwright'; + +configs({ directions: ['ltr'] }).forEach(({ title, config }) => { + test.describe(title('select: standalone'), () => { + test('should open an overlay without ion-app', async ({ page }) => { + await page.goto(`/src/components/select/test/legacy/standalone`, config); + const ionAlertDidPresent = await page.spyOnEvent('ionAlertDidPresent'); + const ionAlertDidDismiss = await page.spyOnEvent('ionAlertDidDismiss'); + + await page.click('#gender'); + + await ionAlertDidPresent.next(); + + const alert = page.locator('ion-alert'); + await alert.evaluate((el: HTMLIonAlertElement) => el.dismiss()); + + await ionAlertDidDismiss.next(); + }); + }); +}); diff --git a/core/src/components/select/test/legacy/wrapping/select.e2e-legacy.ts b/core/src/components/select/test/legacy/wrapping/select.e2e-legacy.ts deleted file mode 100644 index c14ad3e42a..0000000000 --- a/core/src/components/select/test/legacy/wrapping/select.e2e-legacy.ts +++ /dev/null @@ -1,46 +0,0 @@ -import { expect } from '@playwright/test'; -import { test } from '@utils/test/playwright'; - -test.describe('select: wrapping', () => { - test('should not wrap text by default', async ({ page, skip }) => { - skip.rtl(); - - await page.setContent(` - - Should not wrap when no label exists and no class is added to make the text wrap - - `); - - const select = page.locator('ion-select'); - await expect(select).toHaveScreenshot(`select-nowrap-${page.getSnapshotSettings()}.png`); - }); - - test('should wrap text with class', async ({ page, skip }) => { - skip.rtl(); - - await page.setContent(` - - Should wrap when no label exists and really long text exists to make it wrap the text - - `); - - const select = page.locator('ion-select'); - await expect(select).toHaveScreenshot(`select-wrap-${page.getSnapshotSettings()}.png`); - }); - - test('should not wrap label while wrapping text with class', async ({ page, skip }) => { - skip.rtl(); - - await page.setContent(` - - Really long label should not wrap - - Should wrap value only when label exists and really long text exists to make it wrap the text - - - `); - - const select = page.locator('ion-item'); - await expect(select).toHaveScreenshot(`select-wrap-with-label-${page.getSnapshotSettings()}.png`); - }); -}); diff --git a/core/src/components/select/test/legacy/wrapping/select.e2e.ts b/core/src/components/select/test/legacy/wrapping/select.e2e.ts new file mode 100644 index 0000000000..fcf3a75018 --- /dev/null +++ b/core/src/components/select/test/legacy/wrapping/select.e2e.ts @@ -0,0 +1,51 @@ +import { expect } from '@playwright/test'; +import { configs, test } from '@utils/test/playwright'; + +configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => { + test.describe(title('select: wrapping'), () => { + test('should not wrap text by default', async ({ page }) => { + await page.setContent( + ` + + Should not wrap when no label exists and no class is added to make the text wrap + + `, + config + ); + + const select = page.locator('ion-select'); + await expect(select).toHaveScreenshot(screenshot(`select-nowrap`)); + }); + + test('should wrap text with class', async ({ page }) => { + await page.setContent( + ` + + Should wrap when no label exists and really long text exists to make it wrap the text + + `, + config + ); + + const select = page.locator('ion-select'); + await expect(select).toHaveScreenshot(screenshot(`select-wrap`)); + }); + + test('should not wrap label while wrapping text with class', async ({ page }) => { + await page.setContent( + ` + + Really long label should not wrap + + Should wrap value only when label exists and really long text exists to make it wrap the text + + + `, + config + ); + + const select = page.locator('ion-item'); + await expect(select).toHaveScreenshot(screenshot(`select-wrap-with-label`)); + }); + }); +}); diff --git a/core/src/components/select/test/legacy/wrapping/select.e2e-legacy.ts-snapshots/select-nowrap-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/select/test/legacy/wrapping/select.e2e.ts-snapshots/select-nowrap-ios-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/legacy/wrapping/select.e2e-legacy.ts-snapshots/select-nowrap-ios-ltr-Mobile-Chrome-linux.png rename to core/src/components/select/test/legacy/wrapping/select.e2e.ts-snapshots/select-nowrap-ios-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/legacy/wrapping/select.e2e-legacy.ts-snapshots/select-nowrap-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/select/test/legacy/wrapping/select.e2e.ts-snapshots/select-nowrap-ios-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/legacy/wrapping/select.e2e-legacy.ts-snapshots/select-nowrap-ios-ltr-Mobile-Firefox-linux.png rename to core/src/components/select/test/legacy/wrapping/select.e2e.ts-snapshots/select-nowrap-ios-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/legacy/wrapping/select.e2e-legacy.ts-snapshots/select-nowrap-ios-ltr-Mobile-Safari-linux.png b/core/src/components/select/test/legacy/wrapping/select.e2e.ts-snapshots/select-nowrap-ios-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/legacy/wrapping/select.e2e-legacy.ts-snapshots/select-nowrap-ios-ltr-Mobile-Safari-linux.png rename to core/src/components/select/test/legacy/wrapping/select.e2e.ts-snapshots/select-nowrap-ios-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/legacy/wrapping/select.e2e-legacy.ts-snapshots/select-nowrap-md-ltr-Mobile-Chrome-linux.png b/core/src/components/select/test/legacy/wrapping/select.e2e.ts-snapshots/select-nowrap-md-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/legacy/wrapping/select.e2e-legacy.ts-snapshots/select-nowrap-md-ltr-Mobile-Chrome-linux.png rename to core/src/components/select/test/legacy/wrapping/select.e2e.ts-snapshots/select-nowrap-md-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/legacy/wrapping/select.e2e-legacy.ts-snapshots/select-nowrap-md-ltr-Mobile-Firefox-linux.png b/core/src/components/select/test/legacy/wrapping/select.e2e.ts-snapshots/select-nowrap-md-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/legacy/wrapping/select.e2e-legacy.ts-snapshots/select-nowrap-md-ltr-Mobile-Firefox-linux.png rename to core/src/components/select/test/legacy/wrapping/select.e2e.ts-snapshots/select-nowrap-md-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/legacy/wrapping/select.e2e-legacy.ts-snapshots/select-nowrap-md-ltr-Mobile-Safari-linux.png b/core/src/components/select/test/legacy/wrapping/select.e2e.ts-snapshots/select-nowrap-md-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/legacy/wrapping/select.e2e-legacy.ts-snapshots/select-nowrap-md-ltr-Mobile-Safari-linux.png rename to core/src/components/select/test/legacy/wrapping/select.e2e.ts-snapshots/select-nowrap-md-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/legacy/wrapping/select.e2e-legacy.ts-snapshots/select-wrap-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/select/test/legacy/wrapping/select.e2e.ts-snapshots/select-wrap-ios-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/legacy/wrapping/select.e2e-legacy.ts-snapshots/select-wrap-ios-ltr-Mobile-Chrome-linux.png rename to core/src/components/select/test/legacy/wrapping/select.e2e.ts-snapshots/select-wrap-ios-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/legacy/wrapping/select.e2e-legacy.ts-snapshots/select-wrap-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/select/test/legacy/wrapping/select.e2e.ts-snapshots/select-wrap-ios-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/legacy/wrapping/select.e2e-legacy.ts-snapshots/select-wrap-ios-ltr-Mobile-Firefox-linux.png rename to core/src/components/select/test/legacy/wrapping/select.e2e.ts-snapshots/select-wrap-ios-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/legacy/wrapping/select.e2e-legacy.ts-snapshots/select-wrap-ios-ltr-Mobile-Safari-linux.png b/core/src/components/select/test/legacy/wrapping/select.e2e.ts-snapshots/select-wrap-ios-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/legacy/wrapping/select.e2e-legacy.ts-snapshots/select-wrap-ios-ltr-Mobile-Safari-linux.png rename to core/src/components/select/test/legacy/wrapping/select.e2e.ts-snapshots/select-wrap-ios-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/legacy/wrapping/select.e2e-legacy.ts-snapshots/select-wrap-md-ltr-Mobile-Chrome-linux.png b/core/src/components/select/test/legacy/wrapping/select.e2e.ts-snapshots/select-wrap-md-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/legacy/wrapping/select.e2e-legacy.ts-snapshots/select-wrap-md-ltr-Mobile-Chrome-linux.png rename to core/src/components/select/test/legacy/wrapping/select.e2e.ts-snapshots/select-wrap-md-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/legacy/wrapping/select.e2e-legacy.ts-snapshots/select-wrap-md-ltr-Mobile-Firefox-linux.png b/core/src/components/select/test/legacy/wrapping/select.e2e.ts-snapshots/select-wrap-md-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/legacy/wrapping/select.e2e-legacy.ts-snapshots/select-wrap-md-ltr-Mobile-Firefox-linux.png rename to core/src/components/select/test/legacy/wrapping/select.e2e.ts-snapshots/select-wrap-md-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/legacy/wrapping/select.e2e-legacy.ts-snapshots/select-wrap-md-ltr-Mobile-Safari-linux.png b/core/src/components/select/test/legacy/wrapping/select.e2e.ts-snapshots/select-wrap-md-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/legacy/wrapping/select.e2e-legacy.ts-snapshots/select-wrap-md-ltr-Mobile-Safari-linux.png rename to core/src/components/select/test/legacy/wrapping/select.e2e.ts-snapshots/select-wrap-md-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/legacy/wrapping/select.e2e-legacy.ts-snapshots/select-wrap-with-label-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/select/test/legacy/wrapping/select.e2e.ts-snapshots/select-wrap-with-label-ios-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/legacy/wrapping/select.e2e-legacy.ts-snapshots/select-wrap-with-label-ios-ltr-Mobile-Chrome-linux.png rename to core/src/components/select/test/legacy/wrapping/select.e2e.ts-snapshots/select-wrap-with-label-ios-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/legacy/wrapping/select.e2e-legacy.ts-snapshots/select-wrap-with-label-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/select/test/legacy/wrapping/select.e2e.ts-snapshots/select-wrap-with-label-ios-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/legacy/wrapping/select.e2e-legacy.ts-snapshots/select-wrap-with-label-ios-ltr-Mobile-Firefox-linux.png rename to core/src/components/select/test/legacy/wrapping/select.e2e.ts-snapshots/select-wrap-with-label-ios-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/legacy/wrapping/select.e2e-legacy.ts-snapshots/select-wrap-with-label-ios-ltr-Mobile-Safari-linux.png b/core/src/components/select/test/legacy/wrapping/select.e2e.ts-snapshots/select-wrap-with-label-ios-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/legacy/wrapping/select.e2e-legacy.ts-snapshots/select-wrap-with-label-ios-ltr-Mobile-Safari-linux.png rename to core/src/components/select/test/legacy/wrapping/select.e2e.ts-snapshots/select-wrap-with-label-ios-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/legacy/wrapping/select.e2e-legacy.ts-snapshots/select-wrap-with-label-md-ltr-Mobile-Chrome-linux.png b/core/src/components/select/test/legacy/wrapping/select.e2e.ts-snapshots/select-wrap-with-label-md-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/legacy/wrapping/select.e2e-legacy.ts-snapshots/select-wrap-with-label-md-ltr-Mobile-Chrome-linux.png rename to core/src/components/select/test/legacy/wrapping/select.e2e.ts-snapshots/select-wrap-with-label-md-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/legacy/wrapping/select.e2e-legacy.ts-snapshots/select-wrap-with-label-md-ltr-Mobile-Firefox-linux.png b/core/src/components/select/test/legacy/wrapping/select.e2e.ts-snapshots/select-wrap-with-label-md-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/legacy/wrapping/select.e2e-legacy.ts-snapshots/select-wrap-with-label-md-ltr-Mobile-Firefox-linux.png rename to core/src/components/select/test/legacy/wrapping/select.e2e.ts-snapshots/select-wrap-with-label-md-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/legacy/wrapping/select.e2e-legacy.ts-snapshots/select-wrap-with-label-md-ltr-Mobile-Safari-linux.png b/core/src/components/select/test/legacy/wrapping/select.e2e.ts-snapshots/select-wrap-with-label-md-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/legacy/wrapping/select.e2e-legacy.ts-snapshots/select-wrap-with-label-md-ltr-Mobile-Safari-linux.png rename to core/src/components/select/test/legacy/wrapping/select.e2e.ts-snapshots/select-wrap-with-label-md-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/popover-size/select.e2e-legacy.ts b/core/src/components/select/test/popover-size/select.e2e-legacy.ts deleted file mode 100644 index 80dc91e160..0000000000 --- a/core/src/components/select/test/popover-size/select.e2e-legacy.ts +++ /dev/null @@ -1,104 +0,0 @@ -import { expect } from '@playwright/test'; -import { test } from '@utils/test/playwright'; -import type { E2EPage } from '@utils/test/playwright'; - -class SelectPopoverSizeFixture { - readonly page: E2EPage; - - constructor(page: E2EPage) { - this.page = page; - } - - async setContent(placement: string, fill?: string) { - const { page } = this; - const fillString = fill !== undefined ? ` fill=${fill}` : ''; - await page.setContent(` - - Apple - - `); - } - - async openPopover() { - const { page } = this; - - const ionPopoverDidPresent = await page.spyOnEvent('ionPopoverDidPresent'); - await page.click('ion-select'); - - await ionPopoverDidPresent.next(); - } - - async expectPopoverSize(size: string) { - const { page } = this; - - const popover = page.locator('ion-popover'); - - await expect(popover).toHaveJSProperty('size', size); - } -} - -test.describe('select: popover sizing', () => { - test.beforeEach(async ({ skip }) => { - skip.rtl(); - }); - - test('popover should have cover size with a floating label', async ({ page }) => { - const fixture = new SelectPopoverSizeFixture(page); - - await fixture.setContent('floating'); - await fixture.openPopover(); - await fixture.expectPopoverSize('cover'); - }); - - test('popover should have cover size with a stacked label', async ({ page }) => { - const fixture = new SelectPopoverSizeFixture(page); - - await fixture.setContent('stacked'); - await fixture.openPopover(); - await fixture.expectPopoverSize('cover'); - }); - - test('popover should have auto size with a start label', async ({ page }) => { - const fixture = new SelectPopoverSizeFixture(page); - - await fixture.setContent('start'); - await fixture.openPopover(); - await fixture.expectPopoverSize('auto'); - }); - - test('popover should have auto size with a end label', async ({ page }) => { - const fixture = new SelectPopoverSizeFixture(page); - - await fixture.setContent('end'); - await fixture.openPopover(); - await fixture.expectPopoverSize('auto'); - }); - - test('popover should have auto size with a fixed label', async ({ page }) => { - const fixture = new SelectPopoverSizeFixture(page); - - await fixture.setContent('fixed'); - await fixture.openPopover(); - await fixture.expectPopoverSize('auto'); - }); - - test('popover should have cover size with outline fill in MD', async ({ page, skip }) => { - skip.mode('ios'); - - const fixture = new SelectPopoverSizeFixture(page); - - await fixture.setContent('start', 'outline'); - await fixture.openPopover(); - await fixture.expectPopoverSize('cover'); - }); - - test('popover should have cover size with solid fill in MD', async ({ page, skip }) => { - skip.mode('ios'); - - const fixture = new SelectPopoverSizeFixture(page); - - await fixture.setContent('start', 'solid'); - await fixture.openPopover(); - await fixture.expectPopoverSize('cover'); - }); -}); diff --git a/core/src/components/select/test/popover-size/select.e2e.ts b/core/src/components/select/test/popover-size/select.e2e.ts new file mode 100644 index 0000000000..24ad90cf41 --- /dev/null +++ b/core/src/components/select/test/popover-size/select.e2e.ts @@ -0,0 +1,105 @@ +import { expect } from '@playwright/test'; +import { configs, test } from '@utils/test/playwright'; +import type { E2EPage, E2EPageOptions } from '@utils/test/playwright'; + +class SelectPopoverSizeFixture { + readonly page: E2EPage; + + constructor(page: E2EPage) { + this.page = page; + } + + async setContent(config: E2EPageOptions, placement: string, fill?: string) { + const { page } = this; + const fillString = fill !== undefined ? ` fill=${fill}` : ''; + await page.setContent( + ` + + Apple + + `, + config + ); + } + + async openPopover() { + const { page } = this; + + const ionPopoverDidPresent = await page.spyOnEvent('ionPopoverDidPresent'); + await page.click('ion-select'); + + await ionPopoverDidPresent.next(); + } + + async expectPopoverSize(size: string) { + const { page } = this; + + const popover = page.locator('ion-popover'); + + await expect(popover).toHaveJSProperty('size', size); + } +} + +configs({ directions: ['ltr'] }).forEach(({ title, config }) => { + test.describe(title('select: popover sizing'), () => { + test('popover should have cover size with a floating label', async ({ page }) => { + const fixture = new SelectPopoverSizeFixture(page); + + await fixture.setContent(config, 'floating'); + await fixture.openPopover(); + await fixture.expectPopoverSize('cover'); + }); + + test('popover should have cover size with a stacked label', async ({ page }) => { + const fixture = new SelectPopoverSizeFixture(page); + + await fixture.setContent(config, 'stacked'); + await fixture.openPopover(); + await fixture.expectPopoverSize('cover'); + }); + + test('popover should have auto size with a start label', async ({ page }) => { + const fixture = new SelectPopoverSizeFixture(page); + + await fixture.setContent(config, 'start'); + await fixture.openPopover(); + await fixture.expectPopoverSize('auto'); + }); + + test('popover should have auto size with a end label', async ({ page }) => { + const fixture = new SelectPopoverSizeFixture(page); + + await fixture.setContent(config, 'end'); + await fixture.openPopover(); + await fixture.expectPopoverSize('auto'); + }); + + test('popover should have auto size with a fixed label', async ({ page }) => { + const fixture = new SelectPopoverSizeFixture(page); + + await fixture.setContent(config, 'fixed'); + await fixture.openPopover(); + await fixture.expectPopoverSize('auto'); + }); + }); +}); + +configs({ modes: ['md'], directions: ['ltr'] }).forEach(({ title, config }) => { + test.describe(title('select: popover sizing with fill'), () => { + test('popover should have cover size with outline fill in MD', async ({ page }) => { + const fixture = new SelectPopoverSizeFixture(page); + + await fixture.setContent(config, 'start', 'outline'); + await fixture.openPopover(); + await fixture.expectPopoverSize('cover'); + }); + + test('popover should have cover size with solid fill in MD', async ({ page }) => { + const fixture = new SelectPopoverSizeFixture(page); + + await fixture.setContent(config, 'start', 'solid'); + await fixture.openPopover(); + await fixture.expectPopoverSize('cover'); + }); + }); +}); diff --git a/core/src/components/select/test/single-value/select.e2e-legacy.ts-snapshots/select-single-value-diff-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/select/test/single-value/select.e2e-legacy.ts-snapshots/select-single-value-diff-ios-ltr-Mobile-Chrome-linux.png deleted file mode 100644 index 2027f96aca..0000000000 Binary files a/core/src/components/select/test/single-value/select.e2e-legacy.ts-snapshots/select-single-value-diff-ios-ltr-Mobile-Chrome-linux.png and /dev/null differ diff --git a/core/src/components/select/test/single-value/select.e2e-legacy.ts-snapshots/select-single-value-diff-ios-ltr-Mobile-Safari-linux.png b/core/src/components/select/test/single-value/select.e2e-legacy.ts-snapshots/select-single-value-diff-ios-ltr-Mobile-Safari-linux.png deleted file mode 100644 index 3cc28678b7..0000000000 Binary files a/core/src/components/select/test/single-value/select.e2e-legacy.ts-snapshots/select-single-value-diff-ios-ltr-Mobile-Safari-linux.png and /dev/null differ diff --git a/core/src/components/select/test/single-value/select.e2e-legacy.ts-snapshots/select-single-value-diff-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/select/test/single-value/select.e2e-legacy.ts-snapshots/select-single-value-diff-ios-rtl-Mobile-Chrome-linux.png deleted file mode 100644 index fe73d1528e..0000000000 Binary files a/core/src/components/select/test/single-value/select.e2e-legacy.ts-snapshots/select-single-value-diff-ios-rtl-Mobile-Chrome-linux.png and /dev/null differ diff --git a/core/src/components/select/test/single-value/select.e2e-legacy.ts-snapshots/select-single-value-diff-ios-rtl-Mobile-Safari-linux.png b/core/src/components/select/test/single-value/select.e2e-legacy.ts-snapshots/select-single-value-diff-ios-rtl-Mobile-Safari-linux.png deleted file mode 100644 index 0a35f46082..0000000000 Binary files a/core/src/components/select/test/single-value/select.e2e-legacy.ts-snapshots/select-single-value-diff-ios-rtl-Mobile-Safari-linux.png and /dev/null differ diff --git a/core/src/components/select/test/single-value/select.e2e-legacy.ts-snapshots/select-single-value-diff-md-ltr-Mobile-Chrome-linux.png b/core/src/components/select/test/single-value/select.e2e-legacy.ts-snapshots/select-single-value-diff-md-ltr-Mobile-Chrome-linux.png deleted file mode 100644 index 45abbe80b4..0000000000 Binary files a/core/src/components/select/test/single-value/select.e2e-legacy.ts-snapshots/select-single-value-diff-md-ltr-Mobile-Chrome-linux.png and /dev/null differ diff --git a/core/src/components/select/test/single-value/select.e2e-legacy.ts-snapshots/select-single-value-diff-md-ltr-Mobile-Safari-linux.png b/core/src/components/select/test/single-value/select.e2e-legacy.ts-snapshots/select-single-value-diff-md-ltr-Mobile-Safari-linux.png deleted file mode 100644 index 15a018032c..0000000000 Binary files a/core/src/components/select/test/single-value/select.e2e-legacy.ts-snapshots/select-single-value-diff-md-ltr-Mobile-Safari-linux.png and /dev/null differ diff --git a/core/src/components/select/test/single-value/select.e2e-legacy.ts-snapshots/select-single-value-diff-md-rtl-Mobile-Chrome-linux.png b/core/src/components/select/test/single-value/select.e2e-legacy.ts-snapshots/select-single-value-diff-md-rtl-Mobile-Chrome-linux.png deleted file mode 100644 index 491bf712bd..0000000000 Binary files a/core/src/components/select/test/single-value/select.e2e-legacy.ts-snapshots/select-single-value-diff-md-rtl-Mobile-Chrome-linux.png and /dev/null differ diff --git a/core/src/components/select/test/single-value/select.e2e-legacy.ts-snapshots/select-single-value-diff-md-rtl-Mobile-Safari-linux.png b/core/src/components/select/test/single-value/select.e2e-legacy.ts-snapshots/select-single-value-diff-md-rtl-Mobile-Safari-linux.png deleted file mode 100644 index 6b06103674..0000000000 Binary files a/core/src/components/select/test/single-value/select.e2e-legacy.ts-snapshots/select-single-value-diff-md-rtl-Mobile-Safari-linux.png and /dev/null differ diff --git a/core/src/components/select/test/spec/select.e2e-legacy.ts-snapshots/select-spec-diff-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/select/test/spec/select.e2e-legacy.ts-snapshots/select-spec-diff-ios-ltr-Mobile-Chrome-linux.png deleted file mode 100644 index 7475cd191a..0000000000 Binary files a/core/src/components/select/test/spec/select.e2e-legacy.ts-snapshots/select-spec-diff-ios-ltr-Mobile-Chrome-linux.png and /dev/null differ diff --git a/core/src/components/select/test/spec/select.e2e-legacy.ts-snapshots/select-spec-diff-ios-ltr-Mobile-Safari-linux.png b/core/src/components/select/test/spec/select.e2e-legacy.ts-snapshots/select-spec-diff-ios-ltr-Mobile-Safari-linux.png deleted file mode 100644 index 3864176f18..0000000000 Binary files a/core/src/components/select/test/spec/select.e2e-legacy.ts-snapshots/select-spec-diff-ios-ltr-Mobile-Safari-linux.png and /dev/null differ diff --git a/core/src/components/select/test/spec/select.e2e-legacy.ts-snapshots/select-spec-diff-ios-rtl-Mobile-Chrome-linux.png b/core/src/components/select/test/spec/select.e2e-legacy.ts-snapshots/select-spec-diff-ios-rtl-Mobile-Chrome-linux.png deleted file mode 100644 index 3de9a61d40..0000000000 Binary files a/core/src/components/select/test/spec/select.e2e-legacy.ts-snapshots/select-spec-diff-ios-rtl-Mobile-Chrome-linux.png and /dev/null differ diff --git a/core/src/components/select/test/spec/select.e2e-legacy.ts-snapshots/select-spec-diff-ios-rtl-Mobile-Safari-linux.png b/core/src/components/select/test/spec/select.e2e-legacy.ts-snapshots/select-spec-diff-ios-rtl-Mobile-Safari-linux.png deleted file mode 100644 index 9284eb8f08..0000000000 Binary files a/core/src/components/select/test/spec/select.e2e-legacy.ts-snapshots/select-spec-diff-ios-rtl-Mobile-Safari-linux.png and /dev/null differ diff --git a/core/src/components/select/test/spec/select.e2e-legacy.ts-snapshots/select-spec-diff-md-ltr-Mobile-Chrome-linux.png b/core/src/components/select/test/spec/select.e2e-legacy.ts-snapshots/select-spec-diff-md-ltr-Mobile-Chrome-linux.png deleted file mode 100644 index e0bac9af80..0000000000 Binary files a/core/src/components/select/test/spec/select.e2e-legacy.ts-snapshots/select-spec-diff-md-ltr-Mobile-Chrome-linux.png and /dev/null differ diff --git a/core/src/components/select/test/spec/select.e2e-legacy.ts-snapshots/select-spec-diff-md-ltr-Mobile-Safari-linux.png b/core/src/components/select/test/spec/select.e2e-legacy.ts-snapshots/select-spec-diff-md-ltr-Mobile-Safari-linux.png deleted file mode 100644 index a1ef0cdfc5..0000000000 Binary files a/core/src/components/select/test/spec/select.e2e-legacy.ts-snapshots/select-spec-diff-md-ltr-Mobile-Safari-linux.png and /dev/null differ diff --git a/core/src/components/select/test/spec/select.e2e-legacy.ts-snapshots/select-spec-diff-md-rtl-Mobile-Chrome-linux.png b/core/src/components/select/test/spec/select.e2e-legacy.ts-snapshots/select-spec-diff-md-rtl-Mobile-Chrome-linux.png deleted file mode 100644 index 5436e82684..0000000000 Binary files a/core/src/components/select/test/spec/select.e2e-legacy.ts-snapshots/select-spec-diff-md-rtl-Mobile-Chrome-linux.png and /dev/null differ diff --git a/core/src/components/select/test/spec/select.e2e-legacy.ts-snapshots/select-spec-diff-md-rtl-Mobile-Safari-linux.png b/core/src/components/select/test/spec/select.e2e-legacy.ts-snapshots/select-spec-diff-md-rtl-Mobile-Safari-linux.png deleted file mode 100644 index 12544d6c35..0000000000 Binary files a/core/src/components/select/test/spec/select.e2e-legacy.ts-snapshots/select-spec-diff-md-rtl-Mobile-Safari-linux.png and /dev/null differ diff --git a/core/src/components/select/test/states/select.e2e-legacy.ts b/core/src/components/select/test/states/select.e2e-legacy.ts deleted file mode 100644 index 72c8f038c9..0000000000 --- a/core/src/components/select/test/states/select.e2e-legacy.ts +++ /dev/null @@ -1,47 +0,0 @@ -import { expect } from '@playwright/test'; -import { test } from '@utils/test/playwright'; - -test.describe('select: states', () => { - test.beforeEach(({ skip }) => { - skip.rtl(); - }); - test('should render enabled select with a placeholder correctly', async ({ page }) => { - await page.setContent(` - - `); - - const select = page.locator('ion-select'); - expect(await select.screenshot()).toMatchSnapshot(`select-placeholder-${page.getSnapshotSettings()}.png`); - }); - - test('should render enabled select with a value correctly', async ({ page }) => { - await page.setContent(` - - Apples - - `); - - const select = page.locator('ion-select'); - expect(await select.screenshot()).toMatchSnapshot(`select-value-${page.getSnapshotSettings()}.png`); - }); - - test('should render disabled select with a placeholder correctly', async ({ page }) => { - await page.setContent(` - - `); - - const select = page.locator('ion-select'); - expect(await select.screenshot()).toMatchSnapshot(`select-disabled-placeholder-${page.getSnapshotSettings()}.png`); - }); - - test('should render disabled select with a value correctly', async ({ page }) => { - await page.setContent(` - - Apples - - `); - - const select = page.locator('ion-select'); - expect(await select.screenshot()).toMatchSnapshot(`select-disabled-value-${page.getSnapshotSettings()}.png`); - }); -}); diff --git a/core/src/components/select/test/states/select.e2e.ts b/core/src/components/select/test/states/select.e2e.ts new file mode 100644 index 0000000000..82c1bcd121 --- /dev/null +++ b/core/src/components/select/test/states/select.e2e.ts @@ -0,0 +1,58 @@ +import { expect } from '@playwright/test'; +import { configs, test } from '@utils/test/playwright'; + +configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => { + test.describe(title('select: states'), () => { + test('should render enabled select with a placeholder correctly', async ({ page }) => { + await page.setContent( + ` + + `, + config + ); + + const select = page.locator('ion-select'); + expect(await select.screenshot()).toMatchSnapshot(screenshot(`select-placeholder`)); + }); + + test('should render enabled select with a value correctly', async ({ page }) => { + await page.setContent( + ` + + Apples + + `, + config + ); + + const select = page.locator('ion-select'); + expect(await select.screenshot()).toMatchSnapshot(screenshot(`select-value`)); + }); + + test('should render disabled select with a placeholder correctly', async ({ page }) => { + await page.setContent( + ` + + `, + config + ); + + const select = page.locator('ion-select'); + expect(await select.screenshot()).toMatchSnapshot(screenshot(`select-disabled-placeholder`)); + }); + + test('should render disabled select with a value correctly', async ({ page }) => { + await page.setContent( + ` + + Apples + + `, + config + ); + + const select = page.locator('ion-select'); + expect(await select.screenshot()).toMatchSnapshot(screenshot(`select-disabled-value`)); + }); + }); +}); diff --git a/core/src/components/select/test/states/select.e2e-legacy.ts-snapshots/select-disabled-placeholder-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/select/test/states/select.e2e.ts-snapshots/select-disabled-placeholder-ios-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/states/select.e2e-legacy.ts-snapshots/select-disabled-placeholder-ios-ltr-Mobile-Chrome-linux.png rename to core/src/components/select/test/states/select.e2e.ts-snapshots/select-disabled-placeholder-ios-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/states/select.e2e-legacy.ts-snapshots/select-disabled-placeholder-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/select/test/states/select.e2e.ts-snapshots/select-disabled-placeholder-ios-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/states/select.e2e-legacy.ts-snapshots/select-disabled-placeholder-ios-ltr-Mobile-Firefox-linux.png rename to core/src/components/select/test/states/select.e2e.ts-snapshots/select-disabled-placeholder-ios-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/states/select.e2e-legacy.ts-snapshots/select-disabled-placeholder-ios-ltr-Mobile-Safari-linux.png b/core/src/components/select/test/states/select.e2e.ts-snapshots/select-disabled-placeholder-ios-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/states/select.e2e-legacy.ts-snapshots/select-disabled-placeholder-ios-ltr-Mobile-Safari-linux.png rename to core/src/components/select/test/states/select.e2e.ts-snapshots/select-disabled-placeholder-ios-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/states/select.e2e-legacy.ts-snapshots/select-disabled-placeholder-md-ltr-Mobile-Chrome-linux.png b/core/src/components/select/test/states/select.e2e.ts-snapshots/select-disabled-placeholder-md-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/states/select.e2e-legacy.ts-snapshots/select-disabled-placeholder-md-ltr-Mobile-Chrome-linux.png rename to core/src/components/select/test/states/select.e2e.ts-snapshots/select-disabled-placeholder-md-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/states/select.e2e-legacy.ts-snapshots/select-disabled-placeholder-md-ltr-Mobile-Firefox-linux.png b/core/src/components/select/test/states/select.e2e.ts-snapshots/select-disabled-placeholder-md-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/states/select.e2e-legacy.ts-snapshots/select-disabled-placeholder-md-ltr-Mobile-Firefox-linux.png rename to core/src/components/select/test/states/select.e2e.ts-snapshots/select-disabled-placeholder-md-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/states/select.e2e-legacy.ts-snapshots/select-disabled-placeholder-md-ltr-Mobile-Safari-linux.png b/core/src/components/select/test/states/select.e2e.ts-snapshots/select-disabled-placeholder-md-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/states/select.e2e-legacy.ts-snapshots/select-disabled-placeholder-md-ltr-Mobile-Safari-linux.png rename to core/src/components/select/test/states/select.e2e.ts-snapshots/select-disabled-placeholder-md-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/states/select.e2e-legacy.ts-snapshots/select-disabled-value-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/select/test/states/select.e2e.ts-snapshots/select-disabled-value-ios-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/states/select.e2e-legacy.ts-snapshots/select-disabled-value-ios-ltr-Mobile-Chrome-linux.png rename to core/src/components/select/test/states/select.e2e.ts-snapshots/select-disabled-value-ios-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/states/select.e2e-legacy.ts-snapshots/select-disabled-value-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/select/test/states/select.e2e.ts-snapshots/select-disabled-value-ios-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/states/select.e2e-legacy.ts-snapshots/select-disabled-value-ios-ltr-Mobile-Firefox-linux.png rename to core/src/components/select/test/states/select.e2e.ts-snapshots/select-disabled-value-ios-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/states/select.e2e-legacy.ts-snapshots/select-disabled-value-ios-ltr-Mobile-Safari-linux.png b/core/src/components/select/test/states/select.e2e.ts-snapshots/select-disabled-value-ios-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/states/select.e2e-legacy.ts-snapshots/select-disabled-value-ios-ltr-Mobile-Safari-linux.png rename to core/src/components/select/test/states/select.e2e.ts-snapshots/select-disabled-value-ios-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/states/select.e2e-legacy.ts-snapshots/select-disabled-value-md-ltr-Mobile-Chrome-linux.png b/core/src/components/select/test/states/select.e2e.ts-snapshots/select-disabled-value-md-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/states/select.e2e-legacy.ts-snapshots/select-disabled-value-md-ltr-Mobile-Chrome-linux.png rename to core/src/components/select/test/states/select.e2e.ts-snapshots/select-disabled-value-md-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/states/select.e2e-legacy.ts-snapshots/select-disabled-value-md-ltr-Mobile-Firefox-linux.png b/core/src/components/select/test/states/select.e2e.ts-snapshots/select-disabled-value-md-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/states/select.e2e-legacy.ts-snapshots/select-disabled-value-md-ltr-Mobile-Firefox-linux.png rename to core/src/components/select/test/states/select.e2e.ts-snapshots/select-disabled-value-md-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/states/select.e2e-legacy.ts-snapshots/select-disabled-value-md-ltr-Mobile-Safari-linux.png b/core/src/components/select/test/states/select.e2e.ts-snapshots/select-disabled-value-md-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/states/select.e2e-legacy.ts-snapshots/select-disabled-value-md-ltr-Mobile-Safari-linux.png rename to core/src/components/select/test/states/select.e2e.ts-snapshots/select-disabled-value-md-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/states/select.e2e-legacy.ts-snapshots/select-placeholder-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/select/test/states/select.e2e.ts-snapshots/select-placeholder-ios-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/states/select.e2e-legacy.ts-snapshots/select-placeholder-ios-ltr-Mobile-Chrome-linux.png rename to core/src/components/select/test/states/select.e2e.ts-snapshots/select-placeholder-ios-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/states/select.e2e-legacy.ts-snapshots/select-placeholder-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/select/test/states/select.e2e.ts-snapshots/select-placeholder-ios-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/states/select.e2e-legacy.ts-snapshots/select-placeholder-ios-ltr-Mobile-Firefox-linux.png rename to core/src/components/select/test/states/select.e2e.ts-snapshots/select-placeholder-ios-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/states/select.e2e-legacy.ts-snapshots/select-placeholder-ios-ltr-Mobile-Safari-linux.png b/core/src/components/select/test/states/select.e2e.ts-snapshots/select-placeholder-ios-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/states/select.e2e-legacy.ts-snapshots/select-placeholder-ios-ltr-Mobile-Safari-linux.png rename to core/src/components/select/test/states/select.e2e.ts-snapshots/select-placeholder-ios-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/states/select.e2e-legacy.ts-snapshots/select-placeholder-md-ltr-Mobile-Chrome-linux.png b/core/src/components/select/test/states/select.e2e.ts-snapshots/select-placeholder-md-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/states/select.e2e-legacy.ts-snapshots/select-placeholder-md-ltr-Mobile-Chrome-linux.png rename to core/src/components/select/test/states/select.e2e.ts-snapshots/select-placeholder-md-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/states/select.e2e-legacy.ts-snapshots/select-placeholder-md-ltr-Mobile-Firefox-linux.png b/core/src/components/select/test/states/select.e2e.ts-snapshots/select-placeholder-md-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/states/select.e2e-legacy.ts-snapshots/select-placeholder-md-ltr-Mobile-Firefox-linux.png rename to core/src/components/select/test/states/select.e2e.ts-snapshots/select-placeholder-md-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/states/select.e2e-legacy.ts-snapshots/select-placeholder-md-ltr-Mobile-Safari-linux.png b/core/src/components/select/test/states/select.e2e.ts-snapshots/select-placeholder-md-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/states/select.e2e-legacy.ts-snapshots/select-placeholder-md-ltr-Mobile-Safari-linux.png rename to core/src/components/select/test/states/select.e2e.ts-snapshots/select-placeholder-md-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/states/select.e2e-legacy.ts-snapshots/select-value-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/select/test/states/select.e2e.ts-snapshots/select-value-ios-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/states/select.e2e-legacy.ts-snapshots/select-value-ios-ltr-Mobile-Chrome-linux.png rename to core/src/components/select/test/states/select.e2e.ts-snapshots/select-value-ios-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/states/select.e2e-legacy.ts-snapshots/select-value-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/select/test/states/select.e2e.ts-snapshots/select-value-ios-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/states/select.e2e-legacy.ts-snapshots/select-value-ios-ltr-Mobile-Firefox-linux.png rename to core/src/components/select/test/states/select.e2e.ts-snapshots/select-value-ios-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/states/select.e2e-legacy.ts-snapshots/select-value-ios-ltr-Mobile-Safari-linux.png b/core/src/components/select/test/states/select.e2e.ts-snapshots/select-value-ios-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/states/select.e2e-legacy.ts-snapshots/select-value-ios-ltr-Mobile-Safari-linux.png rename to core/src/components/select/test/states/select.e2e.ts-snapshots/select-value-ios-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/states/select.e2e-legacy.ts-snapshots/select-value-md-ltr-Mobile-Chrome-linux.png b/core/src/components/select/test/states/select.e2e.ts-snapshots/select-value-md-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/states/select.e2e-legacy.ts-snapshots/select-value-md-ltr-Mobile-Chrome-linux.png rename to core/src/components/select/test/states/select.e2e.ts-snapshots/select-value-md-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/states/select.e2e-legacy.ts-snapshots/select-value-md-ltr-Mobile-Firefox-linux.png b/core/src/components/select/test/states/select.e2e.ts-snapshots/select-value-md-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/states/select.e2e-legacy.ts-snapshots/select-value-md-ltr-Mobile-Firefox-linux.png rename to core/src/components/select/test/states/select.e2e.ts-snapshots/select-value-md-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/states/select.e2e-legacy.ts-snapshots/select-value-md-ltr-Mobile-Safari-linux.png b/core/src/components/select/test/states/select.e2e.ts-snapshots/select-value-md-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/states/select.e2e-legacy.ts-snapshots/select-value-md-ltr-Mobile-Safari-linux.png rename to core/src/components/select/test/states/select.e2e.ts-snapshots/select-value-md-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/wrapping/select.e2e-legacy.ts b/core/src/components/select/test/wrapping/select.e2e-legacy.ts deleted file mode 100644 index b0cb52887c..0000000000 --- a/core/src/components/select/test/wrapping/select.e2e-legacy.ts +++ /dev/null @@ -1,43 +0,0 @@ -import { expect } from '@playwright/test'; -import { test } from '@utils/test/playwright'; - -test.describe('select: wrapping', () => { - test('should not wrap text by default', async ({ page, skip }) => { - skip.rtl(); - - await page.setContent(` - - Should not wrap when no label exists and no class is added to make the text wrap - - `); - - const select = page.locator('ion-select'); - await expect(select).toHaveScreenshot(`select-nowrap-${page.getSnapshotSettings()}.png`); - }); - - test('should wrap text with class', async ({ page, skip }) => { - skip.rtl(); - - await page.setContent(` - - Should wrap when no label exists and really long text exists to make it wrap the text - - `); - - const select = page.locator('ion-select'); - await expect(select).toHaveScreenshot(`select-wrap-${page.getSnapshotSettings()}.png`); - }); - - test('should not wrap label while wrapping text with class', async ({ page, skip }) => { - skip.rtl(); - - await page.setContent(` - - Should wrap value only when label exists and really long text exists to make it wrap the text - - `); - - const select = page.locator('ion-select'); - await expect(select).toHaveScreenshot(`select-wrap-with-label-${page.getSnapshotSettings()}.png`); - }); -}); diff --git a/core/src/components/select/test/wrapping/select.e2e.ts b/core/src/components/select/test/wrapping/select.e2e.ts new file mode 100644 index 0000000000..c399732cd4 --- /dev/null +++ b/core/src/components/select/test/wrapping/select.e2e.ts @@ -0,0 +1,48 @@ +import { expect } from '@playwright/test'; +import { configs, test } from '@utils/test/playwright'; + +configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => { + test.describe(title('select: wrapping'), () => { + test('should not wrap text by default', async ({ page }) => { + await page.setContent( + ` + + Should not wrap when no label exists and no class is added to make the text wrap + + `, + config + ); + + const select = page.locator('ion-select'); + await expect(select).toHaveScreenshot(screenshot(`select-nowrap`)); + }); + + test('should wrap text with class', async ({ page }) => { + await page.setContent( + ` + + Should wrap when no label exists and really long text exists to make it wrap the text + + `, + config + ); + + const select = page.locator('ion-select'); + await expect(select).toHaveScreenshot(screenshot(`select-wrap`)); + }); + + test('should not wrap label while wrapping text with class', async ({ page }) => { + await page.setContent( + ` + + Should wrap value only when label exists and really long text exists to make it wrap the text + + `, + config + ); + + const select = page.locator('ion-select'); + await expect(select).toHaveScreenshot(screenshot(`select-wrap-with-label`)); + }); + }); +}); diff --git a/core/src/components/select/test/wrapping/select.e2e-legacy.ts-snapshots/select-nowrap-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/select/test/wrapping/select.e2e.ts-snapshots/select-nowrap-ios-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/wrapping/select.e2e-legacy.ts-snapshots/select-nowrap-ios-ltr-Mobile-Chrome-linux.png rename to core/src/components/select/test/wrapping/select.e2e.ts-snapshots/select-nowrap-ios-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/wrapping/select.e2e-legacy.ts-snapshots/select-nowrap-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/select/test/wrapping/select.e2e.ts-snapshots/select-nowrap-ios-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/wrapping/select.e2e-legacy.ts-snapshots/select-nowrap-ios-ltr-Mobile-Firefox-linux.png rename to core/src/components/select/test/wrapping/select.e2e.ts-snapshots/select-nowrap-ios-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/wrapping/select.e2e-legacy.ts-snapshots/select-nowrap-ios-ltr-Mobile-Safari-linux.png b/core/src/components/select/test/wrapping/select.e2e.ts-snapshots/select-nowrap-ios-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/wrapping/select.e2e-legacy.ts-snapshots/select-nowrap-ios-ltr-Mobile-Safari-linux.png rename to core/src/components/select/test/wrapping/select.e2e.ts-snapshots/select-nowrap-ios-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/wrapping/select.e2e-legacy.ts-snapshots/select-nowrap-md-ltr-Mobile-Chrome-linux.png b/core/src/components/select/test/wrapping/select.e2e.ts-snapshots/select-nowrap-md-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/wrapping/select.e2e-legacy.ts-snapshots/select-nowrap-md-ltr-Mobile-Chrome-linux.png rename to core/src/components/select/test/wrapping/select.e2e.ts-snapshots/select-nowrap-md-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/wrapping/select.e2e-legacy.ts-snapshots/select-nowrap-md-ltr-Mobile-Firefox-linux.png b/core/src/components/select/test/wrapping/select.e2e.ts-snapshots/select-nowrap-md-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/wrapping/select.e2e-legacy.ts-snapshots/select-nowrap-md-ltr-Mobile-Firefox-linux.png rename to core/src/components/select/test/wrapping/select.e2e.ts-snapshots/select-nowrap-md-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/wrapping/select.e2e-legacy.ts-snapshots/select-nowrap-md-ltr-Mobile-Safari-linux.png b/core/src/components/select/test/wrapping/select.e2e.ts-snapshots/select-nowrap-md-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/wrapping/select.e2e-legacy.ts-snapshots/select-nowrap-md-ltr-Mobile-Safari-linux.png rename to core/src/components/select/test/wrapping/select.e2e.ts-snapshots/select-nowrap-md-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/wrapping/select.e2e-legacy.ts-snapshots/select-wrap-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/select/test/wrapping/select.e2e.ts-snapshots/select-wrap-ios-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/wrapping/select.e2e-legacy.ts-snapshots/select-wrap-ios-ltr-Mobile-Chrome-linux.png rename to core/src/components/select/test/wrapping/select.e2e.ts-snapshots/select-wrap-ios-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/wrapping/select.e2e-legacy.ts-snapshots/select-wrap-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/select/test/wrapping/select.e2e.ts-snapshots/select-wrap-ios-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/wrapping/select.e2e-legacy.ts-snapshots/select-wrap-ios-ltr-Mobile-Firefox-linux.png rename to core/src/components/select/test/wrapping/select.e2e.ts-snapshots/select-wrap-ios-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/wrapping/select.e2e-legacy.ts-snapshots/select-wrap-ios-ltr-Mobile-Safari-linux.png b/core/src/components/select/test/wrapping/select.e2e.ts-snapshots/select-wrap-ios-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/wrapping/select.e2e-legacy.ts-snapshots/select-wrap-ios-ltr-Mobile-Safari-linux.png rename to core/src/components/select/test/wrapping/select.e2e.ts-snapshots/select-wrap-ios-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/wrapping/select.e2e-legacy.ts-snapshots/select-wrap-md-ltr-Mobile-Chrome-linux.png b/core/src/components/select/test/wrapping/select.e2e.ts-snapshots/select-wrap-md-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/wrapping/select.e2e-legacy.ts-snapshots/select-wrap-md-ltr-Mobile-Chrome-linux.png rename to core/src/components/select/test/wrapping/select.e2e.ts-snapshots/select-wrap-md-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/wrapping/select.e2e-legacy.ts-snapshots/select-wrap-md-ltr-Mobile-Firefox-linux.png b/core/src/components/select/test/wrapping/select.e2e.ts-snapshots/select-wrap-md-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/wrapping/select.e2e-legacy.ts-snapshots/select-wrap-md-ltr-Mobile-Firefox-linux.png rename to core/src/components/select/test/wrapping/select.e2e.ts-snapshots/select-wrap-md-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/wrapping/select.e2e-legacy.ts-snapshots/select-wrap-md-ltr-Mobile-Safari-linux.png b/core/src/components/select/test/wrapping/select.e2e.ts-snapshots/select-wrap-md-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/wrapping/select.e2e-legacy.ts-snapshots/select-wrap-md-ltr-Mobile-Safari-linux.png rename to core/src/components/select/test/wrapping/select.e2e.ts-snapshots/select-wrap-md-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/wrapping/select.e2e-legacy.ts-snapshots/select-wrap-with-label-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/select/test/wrapping/select.e2e.ts-snapshots/select-wrap-with-label-ios-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/wrapping/select.e2e-legacy.ts-snapshots/select-wrap-with-label-ios-ltr-Mobile-Chrome-linux.png rename to core/src/components/select/test/wrapping/select.e2e.ts-snapshots/select-wrap-with-label-ios-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/wrapping/select.e2e-legacy.ts-snapshots/select-wrap-with-label-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/select/test/wrapping/select.e2e.ts-snapshots/select-wrap-with-label-ios-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/wrapping/select.e2e-legacy.ts-snapshots/select-wrap-with-label-ios-ltr-Mobile-Firefox-linux.png rename to core/src/components/select/test/wrapping/select.e2e.ts-snapshots/select-wrap-with-label-ios-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/wrapping/select.e2e-legacy.ts-snapshots/select-wrap-with-label-ios-ltr-Mobile-Safari-linux.png b/core/src/components/select/test/wrapping/select.e2e.ts-snapshots/select-wrap-with-label-ios-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/wrapping/select.e2e-legacy.ts-snapshots/select-wrap-with-label-ios-ltr-Mobile-Safari-linux.png rename to core/src/components/select/test/wrapping/select.e2e.ts-snapshots/select-wrap-with-label-ios-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/select/test/wrapping/select.e2e-legacy.ts-snapshots/select-wrap-with-label-md-ltr-Mobile-Chrome-linux.png b/core/src/components/select/test/wrapping/select.e2e.ts-snapshots/select-wrap-with-label-md-ltr-Mobile-Chrome-linux.png similarity index 100% rename from core/src/components/select/test/wrapping/select.e2e-legacy.ts-snapshots/select-wrap-with-label-md-ltr-Mobile-Chrome-linux.png rename to core/src/components/select/test/wrapping/select.e2e.ts-snapshots/select-wrap-with-label-md-ltr-Mobile-Chrome-linux.png diff --git a/core/src/components/select/test/wrapping/select.e2e-legacy.ts-snapshots/select-wrap-with-label-md-ltr-Mobile-Firefox-linux.png b/core/src/components/select/test/wrapping/select.e2e.ts-snapshots/select-wrap-with-label-md-ltr-Mobile-Firefox-linux.png similarity index 100% rename from core/src/components/select/test/wrapping/select.e2e-legacy.ts-snapshots/select-wrap-with-label-md-ltr-Mobile-Firefox-linux.png rename to core/src/components/select/test/wrapping/select.e2e.ts-snapshots/select-wrap-with-label-md-ltr-Mobile-Firefox-linux.png diff --git a/core/src/components/select/test/wrapping/select.e2e-legacy.ts-snapshots/select-wrap-with-label-md-ltr-Mobile-Safari-linux.png b/core/src/components/select/test/wrapping/select.e2e.ts-snapshots/select-wrap-with-label-md-ltr-Mobile-Safari-linux.png similarity index 100% rename from core/src/components/select/test/wrapping/select.e2e-legacy.ts-snapshots/select-wrap-with-label-md-ltr-Mobile-Safari-linux.png rename to core/src/components/select/test/wrapping/select.e2e.ts-snapshots/select-wrap-with-label-md-ltr-Mobile-Safari-linux.png diff --git a/core/src/components/textarea/test/states/textarea.e2e.ts-snapshots/textarea-disabled-ios-ltr-Mobile-Safari-linux.png b/core/src/components/textarea/test/states/textarea.e2e.ts-snapshots/textarea-disabled-ios-ltr-Mobile-Safari-linux.png index b50906d093..b1941a13b7 100644 Binary files a/core/src/components/textarea/test/states/textarea.e2e.ts-snapshots/textarea-disabled-ios-ltr-Mobile-Safari-linux.png and b/core/src/components/textarea/test/states/textarea.e2e.ts-snapshots/textarea-disabled-ios-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/textarea/test/states/textarea.e2e.ts-snapshots/textarea-disabled-md-ltr-Mobile-Safari-linux.png b/core/src/components/textarea/test/states/textarea.e2e.ts-snapshots/textarea-disabled-md-ltr-Mobile-Safari-linux.png index 3e1248a627..dfd2704861 100644 Binary files a/core/src/components/textarea/test/states/textarea.e2e.ts-snapshots/textarea-disabled-md-ltr-Mobile-Safari-linux.png and b/core/src/components/textarea/test/states/textarea.e2e.ts-snapshots/textarea-disabled-md-ltr-Mobile-Safari-linux.png differ diff --git a/core/src/components/toast/test/basic/toast.e2e.ts-snapshots/toast-translucent-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/toast/test/basic/toast.e2e.ts-snapshots/toast-translucent-ios-ltr-Mobile-Firefox-linux.png index b91418fad3..e0677313a6 100644 Binary files a/core/src/components/toast/test/basic/toast.e2e.ts-snapshots/toast-translucent-ios-ltr-Mobile-Firefox-linux.png and b/core/src/components/toast/test/basic/toast.e2e.ts-snapshots/toast-translucent-ios-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/toast/test/is-open/toast.e2e.ts b/core/src/components/toast/test/is-open/toast.e2e.ts index fc74b12133..2cb6daa4bf 100644 --- a/core/src/components/toast/test/is-open/toast.e2e.ts +++ b/core/src/components/toast/test/is-open/toast.e2e.ts @@ -6,29 +6,20 @@ import { configs, test } from '@utils/test/playwright'; */ configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) => { test.describe(title('toast: isOpen'), () => { - test.beforeEach(async ({ page }) => { + test('should open and close the toast', async ({ page }) => { await page.goto('/src/components/toast/test/is-open', config); - }); - test('should open the toast', async ({ page }) => { const ionToastDidPresent = await page.spyOnEvent('ionToastDidPresent'); + const ionToastDidDismiss = await page.spyOnEvent('ionToastDidDismiss'); + const toast = page.locator('ion-toast'); await page.click('#default'); await ionToastDidPresent.next(); await expect(toast).toBeVisible(); - }); - test('should open the toast then close after a timeout', async ({ page }) => { - const ionToastDidPresent = await page.spyOnEvent('ionToastDidPresent'); - const ionToastDidDismiss = await page.spyOnEvent('ionToastDidDismiss'); - const toast = page.locator('ion-toast'); - - await page.click('#timeout'); - - await ionToastDidPresent.next(); - await expect(toast).toBeVisible(); + await toast.evaluate((el: HTMLIonToastElement) => (el.isOpen = false)); await ionToastDidDismiss.next(); await expect(toast).toBeHidden(); diff --git a/core/src/components/toast/test/standalone/toast.e2e.ts b/core/src/components/toast/test/standalone/toast.e2e.ts index 0f4bdc0764..cf6d67fbd5 100644 --- a/core/src/components/toast/test/standalone/toast.e2e.ts +++ b/core/src/components/toast/test/standalone/toast.e2e.ts @@ -2,22 +2,21 @@ import { expect } from '@playwright/test'; import { configs, test } from '@utils/test/playwright'; /** - * This test does not check LTR vs RTL layouts + * This behavior does not vary across modes/directions. */ -configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => { +configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ title, config }) => { test.describe(title('toast: standalone'), () => { - test.beforeEach(async ({ page }) => { + test('should open overlay without ion-app', async ({ page }) => { await page.goto(`/src/components/toast/test/standalone`, config); - }); - test('should not have visual regressions', async ({ page }) => { + const ionToastDidPresent = await page.spyOnEvent('ionToastDidPresent'); + const toast = page.locator('ion-toast'); const basicButton = page.locator('#basic-toast'); await basicButton.click(); await ionToastDidPresent.next(); - - await expect(page).toHaveScreenshot(screenshot(`toast-standalone`)); + await expect(toast).toBeVisible(); }); }); }); diff --git a/core/src/components/toast/test/standalone/toast.e2e.ts-snapshots/toast-standalone-ios-ltr-Mobile-Chrome-linux.png b/core/src/components/toast/test/standalone/toast.e2e.ts-snapshots/toast-standalone-ios-ltr-Mobile-Chrome-linux.png deleted file mode 100644 index 119a9c72b1..0000000000 Binary files a/core/src/components/toast/test/standalone/toast.e2e.ts-snapshots/toast-standalone-ios-ltr-Mobile-Chrome-linux.png and /dev/null differ diff --git a/core/src/components/toast/test/standalone/toast.e2e.ts-snapshots/toast-standalone-ios-ltr-Mobile-Firefox-linux.png b/core/src/components/toast/test/standalone/toast.e2e.ts-snapshots/toast-standalone-ios-ltr-Mobile-Firefox-linux.png deleted file mode 100644 index a9bc630cfc..0000000000 Binary files a/core/src/components/toast/test/standalone/toast.e2e.ts-snapshots/toast-standalone-ios-ltr-Mobile-Firefox-linux.png and /dev/null differ diff --git a/core/src/components/toast/test/standalone/toast.e2e.ts-snapshots/toast-standalone-ios-ltr-Mobile-Safari-linux.png b/core/src/components/toast/test/standalone/toast.e2e.ts-snapshots/toast-standalone-ios-ltr-Mobile-Safari-linux.png deleted file mode 100644 index 0543204631..0000000000 Binary files a/core/src/components/toast/test/standalone/toast.e2e.ts-snapshots/toast-standalone-ios-ltr-Mobile-Safari-linux.png and /dev/null differ diff --git a/core/src/components/toast/test/standalone/toast.e2e.ts-snapshots/toast-standalone-md-ltr-Mobile-Chrome-linux.png b/core/src/components/toast/test/standalone/toast.e2e.ts-snapshots/toast-standalone-md-ltr-Mobile-Chrome-linux.png deleted file mode 100644 index 91b7aaa1e5..0000000000 Binary files a/core/src/components/toast/test/standalone/toast.e2e.ts-snapshots/toast-standalone-md-ltr-Mobile-Chrome-linux.png and /dev/null differ diff --git a/core/src/components/toast/test/standalone/toast.e2e.ts-snapshots/toast-standalone-md-ltr-Mobile-Firefox-linux.png b/core/src/components/toast/test/standalone/toast.e2e.ts-snapshots/toast-standalone-md-ltr-Mobile-Firefox-linux.png deleted file mode 100644 index 2387b0aec6..0000000000 Binary files a/core/src/components/toast/test/standalone/toast.e2e.ts-snapshots/toast-standalone-md-ltr-Mobile-Firefox-linux.png and /dev/null differ diff --git a/core/src/components/toast/test/standalone/toast.e2e.ts-snapshots/toast-standalone-md-ltr-Mobile-Safari-linux.png b/core/src/components/toast/test/standalone/toast.e2e.ts-snapshots/toast-standalone-md-ltr-Mobile-Safari-linux.png deleted file mode 100644 index 04bc205bd8..0000000000 Binary files a/core/src/components/toast/test/standalone/toast.e2e.ts-snapshots/toast-standalone-md-ltr-Mobile-Safari-linux.png and /dev/null differ diff --git a/core/src/components/toggle/test/sizes/toggle.e2e.ts-snapshots/toggle-sizes-diff-md-ltr-Mobile-Firefox-linux.png b/core/src/components/toggle/test/sizes/toggle.e2e.ts-snapshots/toggle-sizes-diff-md-ltr-Mobile-Firefox-linux.png index dc29482661..fa4db1eb8b 100644 Binary files a/core/src/components/toggle/test/sizes/toggle.e2e.ts-snapshots/toggle-sizes-diff-md-ltr-Mobile-Firefox-linux.png and b/core/src/components/toggle/test/sizes/toggle.e2e.ts-snapshots/toggle-sizes-diff-md-ltr-Mobile-Firefox-linux.png differ diff --git a/core/src/components/toggle/test/sizes/toggle.e2e.ts-snapshots/toggle-sizes-diff-md-rtl-Mobile-Firefox-linux.png b/core/src/components/toggle/test/sizes/toggle.e2e.ts-snapshots/toggle-sizes-diff-md-rtl-Mobile-Firefox-linux.png index a8d5b59c56..24b9fb13df 100644 Binary files a/core/src/components/toggle/test/sizes/toggle.e2e.ts-snapshots/toggle-sizes-diff-md-rtl-Mobile-Firefox-linux.png and b/core/src/components/toggle/test/sizes/toggle.e2e.ts-snapshots/toggle-sizes-diff-md-rtl-Mobile-Firefox-linux.png differ diff --git a/core/src/themes/ionic.functions.string.scss b/core/src/themes/ionic.functions.string.scss index fc861fa36c..098a2e9f73 100644 --- a/core/src/themes/ionic.functions.string.scss +++ b/core/src/themes/ionic.functions.string.scss @@ -84,23 +84,7 @@ // Add Root Selector // -------------------------------------------------------------------------------- -// Adds a root selector using host-context based on the selector passed -// -// Examples -// -------------------------------------------------------------------------------- -// @include add-root-selector("[dir=rtl]", ":host") -// --> :host-context([dir=rtl]) -// -// @include add-root-selector("[dir=rtl]", ":host(.fixed)") -// --> :host-context([dir=rtl]):host(.fixed) -// --> :host-context([dir=rtl]).fixed -// -// @include add-root-selector("[dir=rtl]", ":host(.tab-layout-icon-hide) ::slotted(ion-badge)") -// --> :host-context([dir=rtl]).tab-layout-icon-hide ::slotted(ion-badge) -// -// @include add-root-selector("[dir=rtl]", ".shadow") -// --> [dir=rtl] .shadow -// --> :host-context([dir=rtl]) .shadow +// Adds a root selector using host based on the selector passed // -------------------------------------------------------------------------------- @function add-root-selector($root, $addHostSelector) { @@ -110,8 +94,13 @@ @each $selector in $selectors { // If the selector contains :host( it means it is targeting a class on the host - // element so we need to change how we target it + // element so we need to change how we target it: + // @include add-root-selector(":host(.fixed)", "[dir=rtl]") + // --> :host-context([dir=rtl]):host(.fixed) + // --> :host-context([dir=rtl]).fixed @if str-contains($selector, ":host(") { + // @include add-root-selector(":host(.fixed)", "[dir=rtl]") + // --> :host-context([dir=rtl]):host(.fixed) $shadow-element: str-replace($selector, ":host(", ":host-context(#{$addHostSelector}):host("); $list: append($list, $shadow-element, comma); @@ -122,26 +111,63 @@ @if str-contains($element, ":host(") { $scoped-element: $element; - @if str-contains($element, "))") { - $scoped-element: str-replace($scoped-element, "))", ")"); - } @else { - $scoped-element: str-replace($scoped-element, ")", ""); - } - $scoped-element: str-replace($scoped-element, ":host(", ":host-context(#{$addHostSelector})"); + // Replace the :host( and ) so all we have left is the class + // inside of it: + // :host(.fixed) -> .fixed + $scoped-element: str-replace($scoped-element, ")", ""); + $scoped-element: str-replace($scoped-element, ":host(", ""); + // Add the class back inside of host with the rtl selector: + // .fixed -> :host-context([dir=rtl]).fixed + $scoped-element: str-replace($scoped-element, $scoped-element, ":host-context(#{$addHostSelector})#{$scoped-element}"); + + // @include add-root-selector(":host(.fixed)", "[dir=rtl]") + // --> :host-context([dir=rtl]).fixed $new-element: append($new-element, $scoped-element, space); } @else { + // Add back any selectors that followed the host after transforming the + // first selector: + // :host(.fixed) ::slotted(ion-icon) + // --> :host-context([dir=rtl]):host(.fixed) ::slotted(ion-icon) + // --> :host-context([dir=rtl]).fixed ::slotted(ion-icon) $new-element: append($new-element, $element, space); } } $list: append($list, $new-element, comma); - // If the selector contains :host it means it is targeting just the host + // If the selector contains :host without a parantheses + // it means it is targeting just the host // element so we can change it to look for host-context + // @include add-root-selector(":host", "[dir=rtl]") + // --> :host-context([dir=rtl]) + // --> :host:dir(rtl) } @else if str-contains($selector, ":host") { - $list: append($list, ":host-context(#{$addHostSelector})", comma); + $new-element: (); + $elements: str-split($selector, " "); + + @each $element in $elements { + @if str-contains($element, ":host") { + // Replace the :host with the addHostSelector: + // :host -> :host-context([dir=rtl]) + $updated-element: str-replace($element, ":host", ":host-context(#{$addHostSelector})"); + + // Add the final selector after all transformations: + // :host -> :host-context([dir=rtl]) + $new-element: append($new-element, $updated-element, space); + } @else { + // Add back any selectors that followed the host after transforming the + // first selector: + // :host ::slotted(ion-icon) -> :host-context([dir=rtl]) ::slotted(ion-icon) + $new-element: append($new-element, $element, space); + } + } + + $list: append($list, $new-element, comma); // If the selector does not contain host at all it is either a shadow - // or normal element so append both the dir check and host-context + // or normal element so append both the addHostSelector and host-context + // @include add-root-selector("ion-component", "[dir=rtl]") + // --> :host-context([dir=rtl]) ion-component + // --> [dir=rtl] ion-component } @else { $list: append($list, "#{$addHostSelector} #{$selector}", comma); $list: append($list, ":host-context(#{$addHostSelector}) #{$selector}", comma); diff --git a/core/src/themes/ionic.mixins.scss b/core/src/themes/ionic.mixins.scss index 3a77c28db1..053a4627c6 100644 --- a/core/src/themes/ionic.mixins.scss +++ b/core/src/themes/ionic.mixins.scss @@ -194,8 +194,66 @@ @mixin rtl() { $root: #{&}; - @at-root #{add-root-selector($root, "[dir=rtl]")} { - @content; + $rootSplit: str-split($root, ","); + $selectors: #{add-root-selector($root, "[dir=rtl]")}; + $selectorsSplit: str-split($selectors, ","); + + $hostContextSelectors: (); + $restSelectors: (); + $dirSelectors: (); + + // Selectors must be split into individual selectors in case the browser + // doesn't support a specific selector. + // For example, Firefox and Safari doesn't support `:host-context()`. + // If an invalid selector is used, then the entire group of selectors + // will be ignored. + // @link https://www.w3.org/TR/selectors-3/#grouping + @each $selector in $selectorsSplit { + // Group the selectors back into a single selector to optimize the output. + @if str-index($selector, ":host-context") { + $hostContextSelectors: append($hostContextSelectors, $selector, comma); + } @else { + // Group the selectors back into a single selector to optimize the output. + $restSelectors: append($restSelectors, $selector, comma); + } + } + + // Supported by Chrome. + @if length($hostContextSelectors) > 0 { + @at-root #{$hostContextSelectors} { + @content; + } + } + + // Supported by all browsers. + @if length($restSelectors) > 0 { + @at-root #{$restSelectors} { + @content; + } + } + + // If browser can support `:dir()`, then add the `:dir()` selectors. + @supports selector(:dir(rtl)) { + // Adding :dir() in case the browser doesn't support `:host-context()` and does support `:dir()`. + // `:host-context()` is added: + // - through the `add-root-selector()` function. + // - first so that it takes precedence over `:dir()`. + // For example, + // - Firefox doesn't support `:host-context()`, but does support `:dir()`. + // - Safari doesn't support `:host-context()`, but Safari 16.4+ supports `:dir()` + // @link https://webkit.org/blog/13966/webkit-features-in-safari-16-4/ + @each $selector in $rootSplit { + $dirSelector: "#{$selector}:dir(rtl)"; + // Group the selectors back into a single selector to optimize the output. + $dirSelectors: append($dirSelectors, $dirSelector, comma); + } + + // Supported by Firefox. + @if length($dirSelectors) > 0 { + @at-root #{$dirSelectors} { + @content; + } + } } } diff --git a/core/src/utils/floating-point/floating-point.spec.ts b/core/src/utils/floating-point/floating-point.spec.ts new file mode 100644 index 0000000000..80db4138b5 --- /dev/null +++ b/core/src/utils/floating-point/floating-point.spec.ts @@ -0,0 +1,22 @@ +import { getDecimalPlaces, roundToMaxDecimalPlaces } from './index'; + +describe('floating point utils', () => { + describe('getDecimalPlaces', () => { + it('should calculate decimal places for a float', async () => { + const n = getDecimalPlaces(5.001); + expect(n).toBe(3); + }); + + it('should return no decimal places for a whole number', async () => { + const n = getDecimalPlaces(5); + expect(n).toBe(0); + }); + }); + + describe('roundToMaxDecimalPlaces', () => { + it('should round to the highest number of places as references', async () => { + const n = roundToMaxDecimalPlaces(5.12345, 1.12, 2.123); + expect(n).toBe(5.123); + }); + }); +}); diff --git a/core/src/utils/floating-point/index.ts b/core/src/utils/floating-point/index.ts new file mode 100644 index 0000000000..d8ed857074 --- /dev/null +++ b/core/src/utils/floating-point/index.ts @@ -0,0 +1,41 @@ +export function getDecimalPlaces(n: number) { + if (n % 1 === 0) return 0; + return n.toString().split('.')[1].length; +} + +/** + * Fixes floating point rounding errors in a result by rounding + * to the same specificity, or number of decimal places (*not* + * significant figures) as provided reference numbers. If multiple + * references are provided, the highest number of decimal places + * between them will be used. + * + * The main use case is when numbers x and y are added to produce n, + * but x and y are floats, so n may have rounding errors (such as + * 3.1000000004 instead of 3.1). As long as only addition/subtraction + * occurs between x and y, the specificity of the result will never + * increase, so x and y should be passed in as the references. + * + * If multiplication, division, or other operations were used to + * calculate n, the rounded result may have less specificity than + * desired. For example, 1 / 3 = 0.33333(...), but + * roundToMaxDecimalPlaces((1 / 3), 1, 3) will return 0, since both + * 1 and 3 are whole numbers. + * + * Note that extremely precise reference numbers may lead to rounding + * errors not being trimmed, due to the error result having the same or + * fewer decimal places as the reference(s). This is acceptable as we + * would not be able to tell the difference between a rounding error + * and correct value in this case, but it does mean there is an implicit + * precision limit. If precision that high is needed, it is recommended + * to use a third party data type designed to handle floating point + * errors instead. + * + * @param n The number to round. + * @param references Number(s) used to calculate n, or that should otherwise + * be used as a reference for the desired specificity. + */ +export function roundToMaxDecimalPlaces(n: number, ...references: number[]) { + const maxPlaces = Math.max(...references.map((r) => getDecimalPlaces(r))); + return Number(n.toFixed(maxPlaces)); +} diff --git a/core/src/utils/test/playwright/docs/README.md b/core/src/utils/test/playwright/docs/README.md index abf2d8f68a..3836f331f4 100644 --- a/core/src/utils/test/playwright/docs/README.md +++ b/core/src/utils/test/playwright/docs/README.md @@ -7,5 +7,4 @@ This directory contains information on how to get the most out of Ionic's E2E te | Directory | Description | | - | - | | [Best Practices](./best-practices.md) | Contains information on conventions to follow as well as pitfalls to avoid when writing tests | -| [API](./api.md) | Documents the custom functionality that has been built on top of Playwright | -| [Migrating to Generators](./migrating-to-generators.md) | A step-by-step guide for migrating existing E2E tests to use the generator architecture | +| [API](./api.md) | Documents the custom functionality that has been built on top of Playwright | \ No newline at end of file diff --git a/core/src/utils/test/playwright/docs/migrating-to-generators.md b/core/src/utils/test/playwright/docs/migrating-to-generators.md deleted file mode 100644 index d00558f898..0000000000 --- a/core/src/utils/test/playwright/docs/migrating-to-generators.md +++ /dev/null @@ -1,115 +0,0 @@ -# Generator Migration - -This guide shows how to migrate an E2E test to use the new generator architecture. - -## Steps to Migrate - -1. Import `configs` from `@utils/test/playwright`. - -```typescript -/** - * test should already have been imported - * for the existing E2E test. - */ -import { configs, test } from '@utils/test/playwright'; -``` - -2. Call `configs` outside of the `test.describe` block, and pass in any of your configuration. This should replace any `skip.rtl` or `skip.mode` calls. `skip.browser` calls can remain in place. If you are not using `skip.rtl` or `skip.mode` then you can call `configs` without passing an options (i.e. `configs().forEach(...)`). - -```typescript -import { configs, test } from '@utils/test/playwright'; - -configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ config, title, screenshot }) => { - test.describe('accordion: basic', () => { - ... - }); -}); -``` - -:warning: Be careful when replacing `skip.rtl` and `skip.mode` with `configs`. For example, `skip.mode('md')` means that the test should _skip_ MD mode and only run in iOS mode **not** that the test should only run in MD mode. Similarly, `skip.rtl()` means that the test should only run in the LTR direction. - -3. Update the title of the describe block to use the `title` function. - -```typescript -import { configs, test } from '@utils/test/playwright'; - -configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ config, title, screenshot }) => { - test.describe(title('accordion: basic'), () => { - ... - }); -}); -``` - -4. Pass the `config` object to either `page.goto` or `page.setContent`. - -```typescript -import { configs, test } from '@utils/test/playwright'; - -configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ config, title, screenshot }) => { - test.describe(title('accordion: basic'), () => { - test('should not have visual regressions', async ({ page }) => { - await page.goto('/src/components/accordion/test/basic', config); - - /** - * If using setContent: - * await page.setContent('...', config); - */ - }); - }); -}); -``` - -5. If taking a screenshot, replace `page.getSnapshotSettings()` with the `screenshot` function. - -```typescript -import { configs, test } from '@utils/test/playwright'; - -configs({ modes: ['ios'], directions: ['ltr'] }).forEach(({ config, title, screenshot }) => { - test.describe(title('accordion: basic'), () => { - test('should not have visual regressions', async ({ page }) => { - await page.goto('/src/components/accordion/test/basic', config); - - /** - * The `screenshot` function will automatically add ".png" - * as well as the test config. - */ - await expect(page).toHaveScreenshot(screenshot('accordion-basic')); - }); - }); -}); -``` - -6. Rename your `*.e2e-legacy.ts` file to `*.e2e.ts`. - -**Example:** `accordion.e2e-legacy.ts` becomes `accordion.e2e.ts` - -7. If the test has a screenshots directory, rename the `*.e2e-legacy.ts-snapshots` directory to `*.e2e.ts-snapshots`. - -**Example:** `accordion.e2e-legacy.ts-snapshots` becomes `accordion.e2e.ts-snapshots` - -8. Run `git add .` to stage your changes. - -:warning: It is very important that you also stage the screenshot files when renaming the directory. The screenshot files are gitignored to prevent team members from accidentally overwriting the ground truth screenshots. As a result, you will need to bypass the gitignore to add the screenshots using the `--force` (`-f`) flag: - -`git add -f src/components/[name of component]/test/[test directory]/**/*-linux.png` - -This will forcibly stage only the screenshots generated on CI (due to the use of `-linux.png`). - -**Example:** `git add -f src/components/accordion/test/basic/**/*-linux.png` - -9. Review your changes. **There should be no deleted or added screenshots.** Instead, the screenshots should be listed as "renamed". - -**Example:** - -``` -renamed: src/components/accordion/test/basic/accordion.e2e-legacy.ts -> src/components/accordion/test/basic/accordion.e2e.ts -renamed: src/components/accordion/test/basic/accordion.e2e-legacy.ts-snapshots/accordion-basic-ios-ltr-Mobile-Chrome-linux.png -> src/components/accordion/test/basic/accordion.e2e.ts-snapshots/accordion-basic-ios-ltr-Mobile-Chrome-linux.png -renamed: src/components/accordion/test/basic/accordion.e2e-legacy.ts-snapshots/accordion-basic-ios-ltr-Mobile-Firefox-linux.png -> src/components/accordion/test/basic/accordion.e2e.ts-snapshots/accordion-basic-ios-ltr-Mobile-Firefox-linux.png -renamed: src/components/accordion/test/basic/accordion.e2e-legacy.ts-snapshots/accordion-basic-ios-ltr-Mobile-Safari-linux.png -> src/components/accordion/test/basic/accordion.e2e.ts-snapshots/accordion-basic-ios-ltr-Mobile-Safari-linux.png -``` - -10. Commit your changes using the following format: `test([component]): migrate [test directory] to generators` - -**Example:** `test(accordion): migrate basic to generators` - -11. Push your changes. \ No newline at end of file diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md index ffe1743593..23c85f1561 100644 --- a/docs/CHANGELOG.md +++ b/docs/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [7.0.6](https://github.com/ionic-team/ionic-framework/compare/v7.0.5...v7.0.6) (2023-05-11) + +**Note:** Version bump only for package @ionic/docs + + + + + ## [7.0.5](https://github.com/ionic-team/ionic-framework/compare/v7.0.4...v7.0.5) (2023-05-03) **Note:** Version bump only for package @ionic/docs diff --git a/docs/package-lock.json b/docs/package-lock.json index bd7cebdb16..cf15ca0555 100644 --- a/docs/package-lock.json +++ b/docs/package-lock.json @@ -1,12 +1,12 @@ { "name": "@ionic/docs", - "version": "7.0.5", + "version": "7.0.6", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@ionic/docs", - "version": "7.0.5", + "version": "7.0.6", "license": "MIT" } } diff --git a/docs/package.json b/docs/package.json index 87d3500b9b..5553e31696 100644 --- a/docs/package.json +++ b/docs/package.json @@ -1,6 +1,6 @@ { "name": "@ionic/docs", - "version": "7.0.5", + "version": "7.0.6", "description": "Pre-packaged API documentation for the Ionic docs.", "main": "core.json", "types": "core.d.ts", diff --git a/lerna.json b/lerna.json index b635aaa4d0..3061e8a3ba 100644 --- a/lerna.json +++ b/lerna.json @@ -5,5 +5,5 @@ "angular", "packages/*" ], - "version": "7.0.5" + "version": "7.0.6" } diff --git a/packages/angular-server/CHANGELOG.md b/packages/angular-server/CHANGELOG.md index 7be46e89b9..87d2682ec9 100644 --- a/packages/angular-server/CHANGELOG.md +++ b/packages/angular-server/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [7.0.6](https://github.com/ionic-team/ionic-framework/compare/v7.0.5...v7.0.6) (2023-05-11) + +**Note:** Version bump only for package @ionic/angular-server + + + + + ## [7.0.5](https://github.com/ionic-team/ionic-framework/compare/v7.0.4...v7.0.5) (2023-05-03) **Note:** Version bump only for package @ionic/angular-server diff --git a/packages/angular-server/package-lock.json b/packages/angular-server/package-lock.json index bec782c711..6b1e860667 100644 --- a/packages/angular-server/package-lock.json +++ b/packages/angular-server/package-lock.json @@ -1,15 +1,15 @@ { "name": "@ionic/angular-server", - "version": "7.0.5", + "version": "7.0.6", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@ionic/angular-server", - "version": "7.0.5", + "version": "7.0.6", "license": "MIT", "dependencies": { - "@ionic/core": "^7.0.5" + "@ionic/core": "^7.0.6" }, "devDependencies": { "@angular-eslint/eslint-plugin": "^14.0.0", @@ -1060,9 +1060,9 @@ "dev": true }, "node_modules/@ionic/core": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/@ionic/core/-/core-7.0.5.tgz", - "integrity": "sha512-dcuE/PEF+GHsPEsLppUASSwWnzVcxFZE7uPMDzTwUPMOFTTaRgWbPxIly/4/VRbV6GSL6MEcuVVxhEdWjSODTg==", + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/@ionic/core/-/core-7.0.6.tgz", + "integrity": "sha512-ssZs8QzyNPmGCUdK5i5OupA7BDmOjJEOhqfpNGbxwXX3YQ08naVDjNxYn/VSW9O1zSyfecJqJz0Akw/LdKIN/Q==", "dependencies": { "@stencil/core": "^3.2.2", "ionicons": "^7.1.0", @@ -7342,9 +7342,9 @@ "dev": true }, "@ionic/core": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/@ionic/core/-/core-7.0.5.tgz", - "integrity": "sha512-dcuE/PEF+GHsPEsLppUASSwWnzVcxFZE7uPMDzTwUPMOFTTaRgWbPxIly/4/VRbV6GSL6MEcuVVxhEdWjSODTg==", + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/@ionic/core/-/core-7.0.6.tgz", + "integrity": "sha512-ssZs8QzyNPmGCUdK5i5OupA7BDmOjJEOhqfpNGbxwXX3YQ08naVDjNxYn/VSW9O1zSyfecJqJz0Akw/LdKIN/Q==", "requires": { "@stencil/core": "^3.2.2", "ionicons": "^7.1.0", diff --git a/packages/angular-server/package.json b/packages/angular-server/package.json index b0d0961b11..9cf36bbd6c 100644 --- a/packages/angular-server/package.json +++ b/packages/angular-server/package.json @@ -1,6 +1,6 @@ { "name": "@ionic/angular-server", - "version": "7.0.5", + "version": "7.0.6", "description": "Angular SSR Module for Ionic", "keywords": [ "ionic", @@ -61,6 +61,6 @@ }, "prettier": "@ionic/prettier-config", "dependencies": { - "@ionic/core": "^7.0.5" + "@ionic/core": "^7.0.6" } } diff --git a/packages/react-router/CHANGELOG.md b/packages/react-router/CHANGELOG.md index de61b3255f..533223baf4 100644 --- a/packages/react-router/CHANGELOG.md +++ b/packages/react-router/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [7.0.6](https://github.com/ionic-team/ionic-framework/compare/v7.0.5...v7.0.6) (2023-05-11) + +**Note:** Version bump only for package @ionic/react-router + + + + + ## [7.0.5](https://github.com/ionic-team/ionic-framework/compare/v7.0.4...v7.0.5) (2023-05-03) **Note:** Version bump only for package @ionic/react-router diff --git a/packages/react-router/package-lock.json b/packages/react-router/package-lock.json index 4193447063..dbe6ed8a24 100644 --- a/packages/react-router/package-lock.json +++ b/packages/react-router/package-lock.json @@ -1,15 +1,15 @@ { "name": "@ionic/react-router", - "version": "7.0.5", + "version": "7.0.6", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@ionic/react-router", - "version": "7.0.5", + "version": "7.0.6", "license": "MIT", "dependencies": { - "@ionic/react": "^7.0.5", + "@ionic/react": "^7.0.6", "tslib": "*" }, "devDependencies": { @@ -205,9 +205,9 @@ "dev": true }, "node_modules/@ionic/core": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/@ionic/core/-/core-7.0.5.tgz", - "integrity": "sha512-dcuE/PEF+GHsPEsLppUASSwWnzVcxFZE7uPMDzTwUPMOFTTaRgWbPxIly/4/VRbV6GSL6MEcuVVxhEdWjSODTg==", + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/@ionic/core/-/core-7.0.6.tgz", + "integrity": "sha512-ssZs8QzyNPmGCUdK5i5OupA7BDmOjJEOhqfpNGbxwXX3YQ08naVDjNxYn/VSW9O1zSyfecJqJz0Akw/LdKIN/Q==", "dependencies": { "@stencil/core": "^3.2.2", "ionicons": "^7.1.0", @@ -381,11 +381,11 @@ } }, "node_modules/@ionic/react": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/@ionic/react/-/react-7.0.5.tgz", - "integrity": "sha512-7OvVaAIVYgD9duZ2zrmMukvWMrU2QT2Ky/n/FnlAFkCZ7kmoSU1V0qwONidBHOBK25j6+1s3jM0h+ngrV1FPGA==", + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/@ionic/react/-/react-7.0.6.tgz", + "integrity": "sha512-PQIDRVPcjbzxPypbdxIG55nAbrGreCyg8tlNRZw9LuC/IWhDXvMBR+umyF8cwwiiftRxCLukVtfd9M22bJ4slQ==", "dependencies": { - "@ionic/core": "7.0.5", + "@ionic/core": "7.0.6", "ionicons": "^7.0.0", "tslib": "*" }, @@ -3643,9 +3643,9 @@ "dev": true }, "@ionic/core": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/@ionic/core/-/core-7.0.5.tgz", - "integrity": "sha512-dcuE/PEF+GHsPEsLppUASSwWnzVcxFZE7uPMDzTwUPMOFTTaRgWbPxIly/4/VRbV6GSL6MEcuVVxhEdWjSODTg==", + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/@ionic/core/-/core-7.0.6.tgz", + "integrity": "sha512-ssZs8QzyNPmGCUdK5i5OupA7BDmOjJEOhqfpNGbxwXX3YQ08naVDjNxYn/VSW9O1zSyfecJqJz0Akw/LdKIN/Q==", "requires": { "@stencil/core": "^3.2.2", "ionicons": "^7.1.0", @@ -3749,11 +3749,11 @@ "requires": {} }, "@ionic/react": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/@ionic/react/-/react-7.0.5.tgz", - "integrity": "sha512-7OvVaAIVYgD9duZ2zrmMukvWMrU2QT2Ky/n/FnlAFkCZ7kmoSU1V0qwONidBHOBK25j6+1s3jM0h+ngrV1FPGA==", + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/@ionic/react/-/react-7.0.6.tgz", + "integrity": "sha512-PQIDRVPcjbzxPypbdxIG55nAbrGreCyg8tlNRZw9LuC/IWhDXvMBR+umyF8cwwiiftRxCLukVtfd9M22bJ4slQ==", "requires": { - "@ionic/core": "7.0.5", + "@ionic/core": "7.0.6", "ionicons": "^7.0.0", "tslib": "*" } diff --git a/packages/react-router/package.json b/packages/react-router/package.json index 2f9760e9a5..197e358637 100644 --- a/packages/react-router/package.json +++ b/packages/react-router/package.json @@ -1,6 +1,6 @@ { "name": "@ionic/react-router", - "version": "7.0.5", + "version": "7.0.6", "description": "React Router wrapper for @ionic/react", "keywords": [ "ionic", @@ -37,7 +37,7 @@ "dist/" ], "dependencies": { - "@ionic/react": "^7.0.5", + "@ionic/react": "^7.0.6", "tslib": "*" }, "peerDependencies": { diff --git a/packages/react/CHANGELOG.md b/packages/react/CHANGELOG.md index f498408ad9..d5b7660b88 100644 --- a/packages/react/CHANGELOG.md +++ b/packages/react/CHANGELOG.md @@ -3,6 +3,17 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [7.0.6](https://github.com/ionic-team/ionic-framework/compare/v7.0.5...v7.0.6) (2023-05-11) + + +### Bug Fixes + +* **react:** remove incorrect class key from IonicReactProps ([#27432](https://github.com/ionic-team/ionic-framework/issues/27432)) ([415c44c](https://github.com/ionic-team/ionic-framework/commit/415c44c0adc231367727c14f355c982afc385172)) + + + + + ## [7.0.5](https://github.com/ionic-team/ionic-framework/compare/v7.0.4...v7.0.5) (2023-05-03) **Note:** Version bump only for package @ionic/react diff --git a/packages/react/package-lock.json b/packages/react/package-lock.json index 1381dab986..66bab2742c 100644 --- a/packages/react/package-lock.json +++ b/packages/react/package-lock.json @@ -1,15 +1,15 @@ { "name": "@ionic/react", - "version": "7.0.5", + "version": "7.0.6", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@ionic/react", - "version": "7.0.5", + "version": "7.0.6", "license": "MIT", "dependencies": { - "@ionic/core": "^7.0.5", + "@ionic/core": "^7.0.6", "ionicons": "^7.0.0", "tslib": "*" }, @@ -697,9 +697,9 @@ "dev": true }, "node_modules/@ionic/core": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/@ionic/core/-/core-7.0.5.tgz", - "integrity": "sha512-dcuE/PEF+GHsPEsLppUASSwWnzVcxFZE7uPMDzTwUPMOFTTaRgWbPxIly/4/VRbV6GSL6MEcuVVxhEdWjSODTg==", + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/@ionic/core/-/core-7.0.6.tgz", + "integrity": "sha512-ssZs8QzyNPmGCUdK5i5OupA7BDmOjJEOhqfpNGbxwXX3YQ08naVDjNxYn/VSW9O1zSyfecJqJz0Akw/LdKIN/Q==", "dependencies": { "@stencil/core": "^3.2.2", "ionicons": "^7.1.0", @@ -11778,9 +11778,9 @@ "dev": true }, "@ionic/core": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/@ionic/core/-/core-7.0.5.tgz", - "integrity": "sha512-dcuE/PEF+GHsPEsLppUASSwWnzVcxFZE7uPMDzTwUPMOFTTaRgWbPxIly/4/VRbV6GSL6MEcuVVxhEdWjSODTg==", + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/@ionic/core/-/core-7.0.6.tgz", + "integrity": "sha512-ssZs8QzyNPmGCUdK5i5OupA7BDmOjJEOhqfpNGbxwXX3YQ08naVDjNxYn/VSW9O1zSyfecJqJz0Akw/LdKIN/Q==", "requires": { "@stencil/core": "^3.2.2", "ionicons": "^7.1.0", diff --git a/packages/react/package.json b/packages/react/package.json index 343060817f..4104e2cfd7 100644 --- a/packages/react/package.json +++ b/packages/react/package.json @@ -1,6 +1,6 @@ { "name": "@ionic/react", - "version": "7.0.5", + "version": "7.0.6", "description": "React specific wrapper for @ionic/core", "keywords": [ "ionic", @@ -41,7 +41,7 @@ "css/" ], "dependencies": { - "@ionic/core": "^7.0.5", + "@ionic/core": "^7.0.6", "ionicons": "^7.0.0", "tslib": "*" }, diff --git a/packages/react/src/components/IonicReactProps.ts b/packages/react/src/components/IonicReactProps.ts index e2f06d0d95..11bc240436 100644 --- a/packages/react/src/components/IonicReactProps.ts +++ b/packages/react/src/components/IonicReactProps.ts @@ -1,5 +1,4 @@ export interface IonicReactProps { - class?: string; className?: string; style?: { [key: string]: any }; } diff --git a/packages/vue-router/CHANGELOG.md b/packages/vue-router/CHANGELOG.md index ebcdd5ad08..ad0544322e 100644 --- a/packages/vue-router/CHANGELOG.md +++ b/packages/vue-router/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [7.0.6](https://github.com/ionic-team/ionic-framework/compare/v7.0.5...v7.0.6) (2023-05-11) + +**Note:** Version bump only for package @ionic/vue-router + + + + + ## [7.0.5](https://github.com/ionic-team/ionic-framework/compare/v7.0.4...v7.0.5) (2023-05-03) **Note:** Version bump only for package @ionic/vue-router diff --git a/packages/vue-router/package-lock.json b/packages/vue-router/package-lock.json index 15a9372b67..8a4947e897 100644 --- a/packages/vue-router/package-lock.json +++ b/packages/vue-router/package-lock.json @@ -1,15 +1,15 @@ { "name": "@ionic/vue-router", - "version": "7.0.5", + "version": "7.0.6", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@ionic/vue-router", - "version": "7.0.5", + "version": "7.0.6", "license": "MIT", "dependencies": { - "@ionic/vue": "^7.0.5" + "@ionic/vue": "^7.0.6" }, "devDependencies": { "@ionic/eslint-config": "^0.3.0", @@ -660,9 +660,9 @@ "dev": true }, "node_modules/@ionic/core": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/@ionic/core/-/core-7.0.5.tgz", - "integrity": "sha512-dcuE/PEF+GHsPEsLppUASSwWnzVcxFZE7uPMDzTwUPMOFTTaRgWbPxIly/4/VRbV6GSL6MEcuVVxhEdWjSODTg==", + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/@ionic/core/-/core-7.0.6.tgz", + "integrity": "sha512-ssZs8QzyNPmGCUdK5i5OupA7BDmOjJEOhqfpNGbxwXX3YQ08naVDjNxYn/VSW9O1zSyfecJqJz0Akw/LdKIN/Q==", "dependencies": { "@stencil/core": "^3.2.2", "ionicons": "^7.1.0", @@ -851,11 +851,11 @@ } }, "node_modules/@ionic/vue": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/@ionic/vue/-/vue-7.0.5.tgz", - "integrity": "sha512-xcjD/X8x7CcKMz29PzWTJQYHSJeQxWy+ffLlCfqKokmScHOTnIYCGNiYC2jSw1ZzklL5GI1Z0qmeadJrjVdBeQ==", + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/@ionic/vue/-/vue-7.0.6.tgz", + "integrity": "sha512-c0BG2dFCu0wv41snauz8tDg9q3PVU2Cs63X9BN9fTItpx+XNEnpG0m5plrUz+9y9tp4oogCuecQyVnuCzu+pUQ==", "dependencies": { - "@ionic/core": "7.0.5", + "@ionic/core": "7.0.6", "ionicons": "^7.0.0" } }, @@ -7677,9 +7677,9 @@ "dev": true }, "@ionic/core": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/@ionic/core/-/core-7.0.5.tgz", - "integrity": "sha512-dcuE/PEF+GHsPEsLppUASSwWnzVcxFZE7uPMDzTwUPMOFTTaRgWbPxIly/4/VRbV6GSL6MEcuVVxhEdWjSODTg==", + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/@ionic/core/-/core-7.0.6.tgz", + "integrity": "sha512-ssZs8QzyNPmGCUdK5i5OupA7BDmOjJEOhqfpNGbxwXX3YQ08naVDjNxYn/VSW9O1zSyfecJqJz0Akw/LdKIN/Q==", "requires": { "@stencil/core": "^3.2.2", "ionicons": "^7.1.0", @@ -7792,11 +7792,11 @@ "requires": {} }, "@ionic/vue": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/@ionic/vue/-/vue-7.0.5.tgz", - "integrity": "sha512-xcjD/X8x7CcKMz29PzWTJQYHSJeQxWy+ffLlCfqKokmScHOTnIYCGNiYC2jSw1ZzklL5GI1Z0qmeadJrjVdBeQ==", + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/@ionic/vue/-/vue-7.0.6.tgz", + "integrity": "sha512-c0BG2dFCu0wv41snauz8tDg9q3PVU2Cs63X9BN9fTItpx+XNEnpG0m5plrUz+9y9tp4oogCuecQyVnuCzu+pUQ==", "requires": { - "@ionic/core": "7.0.5", + "@ionic/core": "7.0.6", "ionicons": "^7.0.0" } }, diff --git a/packages/vue-router/package.json b/packages/vue-router/package.json index aacfe7a984..df73f918a1 100644 --- a/packages/vue-router/package.json +++ b/packages/vue-router/package.json @@ -1,6 +1,6 @@ { "name": "@ionic/vue-router", - "version": "7.0.5", + "version": "7.0.6", "description": "Vue Router integration for @ionic/vue", "scripts": { "test.spec": "jest", @@ -45,7 +45,7 @@ }, "homepage": "https://github.com/ionic-team/ionic#readme", "dependencies": { - "@ionic/vue": "^7.0.5" + "@ionic/vue": "^7.0.6" }, "devDependencies": { "@ionic/eslint-config": "^0.3.0", diff --git a/packages/vue/CHANGELOG.md b/packages/vue/CHANGELOG.md index faac3fbcf2..532b86b66d 100644 --- a/packages/vue/CHANGELOG.md +++ b/packages/vue/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [7.0.6](https://github.com/ionic-team/ionic-framework/compare/v7.0.5...v7.0.6) (2023-05-11) + +**Note:** Version bump only for package @ionic/vue + + + + + ## [7.0.5](https://github.com/ionic-team/ionic-framework/compare/v7.0.4...v7.0.5) (2023-05-03) **Note:** Version bump only for package @ionic/vue diff --git a/packages/vue/package-lock.json b/packages/vue/package-lock.json index 48e5f4966f..ba73307c75 100644 --- a/packages/vue/package-lock.json +++ b/packages/vue/package-lock.json @@ -1,15 +1,15 @@ { "name": "@ionic/vue", - "version": "7.0.5", + "version": "7.0.6", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@ionic/vue", - "version": "7.0.5", + "version": "7.0.6", "license": "MIT", "dependencies": { - "@ionic/core": "^7.0.5", + "@ionic/core": "^7.0.6", "ionicons": "^7.0.0" }, "devDependencies": { @@ -207,9 +207,9 @@ "dev": true }, "node_modules/@ionic/core": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/@ionic/core/-/core-7.0.5.tgz", - "integrity": "sha512-dcuE/PEF+GHsPEsLppUASSwWnzVcxFZE7uPMDzTwUPMOFTTaRgWbPxIly/4/VRbV6GSL6MEcuVVxhEdWjSODTg==", + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/@ionic/core/-/core-7.0.6.tgz", + "integrity": "sha512-ssZs8QzyNPmGCUdK5i5OupA7BDmOjJEOhqfpNGbxwXX3YQ08naVDjNxYn/VSW9O1zSyfecJqJz0Akw/LdKIN/Q==", "dependencies": { "@stencil/core": "^3.2.2", "ionicons": "^7.1.0", @@ -3746,9 +3746,9 @@ "dev": true }, "@ionic/core": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/@ionic/core/-/core-7.0.5.tgz", - "integrity": "sha512-dcuE/PEF+GHsPEsLppUASSwWnzVcxFZE7uPMDzTwUPMOFTTaRgWbPxIly/4/VRbV6GSL6MEcuVVxhEdWjSODTg==", + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/@ionic/core/-/core-7.0.6.tgz", + "integrity": "sha512-ssZs8QzyNPmGCUdK5i5OupA7BDmOjJEOhqfpNGbxwXX3YQ08naVDjNxYn/VSW9O1zSyfecJqJz0Akw/LdKIN/Q==", "requires": { "@stencil/core": "^3.2.2", "ionicons": "^7.1.0", diff --git a/packages/vue/package.json b/packages/vue/package.json index 27629d5af6..13579df686 100644 --- a/packages/vue/package.json +++ b/packages/vue/package.json @@ -1,6 +1,6 @@ { "name": "@ionic/vue", - "version": "7.0.5", + "version": "7.0.6", "description": "Vue specific wrapper for @ionic/core", "scripts": { "eslint": "eslint src", @@ -66,7 +66,7 @@ "vue-router": "^4.0.16" }, "dependencies": { - "@ionic/core": "^7.0.5", + "@ionic/core": "^7.0.6", "ionicons": "^7.0.0" }, "vetur": {