SIGN IN SIGN UP

A powerful cross-platform UI toolkit for building native-quality iOS, Android, and Progressive Web Apps with HTML, CSS, and JavaScript.

0 0 108 TypeScript

test(popover): migrate to generators (#27364)

Issue number: N/A

---------

<!-- Please refer to our contributing documentation for any questions on
submitting a pull request, or let us know here if you need any help:
https://ionicframework.com/docs/building/contributing -->

<!-- Some docs updates need to be made in the `ionic-docs` repo, in a
separate PR. See
https://github.com/ionic-team/ionic-framework/blob/main/.github/CONTRIBUTING.md#modifying-documentation
for details. -->

<!-- Please do not submit updates to dependencies unless it fixes an
issue. -->

<!-- Please try to limit your pull request to one type (bugfix, feature,
etc). Submit multiple pull requests if needed. -->

## What is the current behavior?
<!-- Please describe the current behavior that you are modifying. -->

Popover tests are using legacy syntax

## What is the new behavior?
<!-- Please describe the behavior or changes that are being added by
this PR. -->

- Popover tests are using modern syntax


https://github.com/ionic-team/ionic-framework/pull/27364/commits/8195bc6b09d3d0a2aa0fe6fd7f660f70c6fcd770

- The adjustment behavior test is only looking at y-axis values, which
does not vary across mode/directions, so I removed those additional
checks.


https://github.com/ionic-team/ionic-framework/pull/27364/commits/cb5649c73b9f782b537b316ad75f8340fb2e389e

- The arrow behavior only exists on iOS, so I removed the MD checks.


https://github.com/ionic-team/ionic-framework/pull/27364/commits/2956b8564fbc01824df0f12a6fa080b81028826d

- The dismiss on select behavior does not vary across modes/directions,
so I removed those additional checks.


https://github.com/ionic-team/ionic-framework/pull/27364/commits/2cc055063ac5a4b5cead72ce11f09e8fcec7cf78

- The inline behavior does not vary across modes/directions, so I
removed those additional checks.


https://github.com/ionic-team/ionic-framework/pull/27364/commits/9ccc3a5e78b277d4c4103f241d3e0df95bbdbb0d

- The sizing tests do not vary across modes/directions, so I removed
those additional checks.


https://github.com/ionic-team/ionic-framework/pull/27364/commits/9d95261e5d094d4068ca5f0fb8ff5914b1651d69

- The htmlAttributes test is now a spec test
- I split the translucent tests into its own block and removed
mode/direction tests+screenshots since this behavior only exists on iOS
and does not vary across directions
- All the other variants do not vary across directions, so I also split
them into their own blocks and disabled RTL checks.

-------

I ran into some difficulty integrating generators into some of the
tests, so I decided to break some of the more complex tests up into
multiple tests. The old utility functions were also calling
`scrollIntoView` which can cause slowdowns on CI.


https://github.com/ionic-team/ionic-framework/pull/27364/commits/4cc1cac45b06ea3a811dc467f9c6d4282ebaf3f4

- I created a popover test fixture and broke the basic tests into
separate tests.


https://github.com/ionic-team/ionic-framework/pull/27364/commits/e25c76977d642241b36ab6ca3f6eaf4240829770

- I Broke the reference screenshots into separate tests and had them use
the fixture


https://github.com/ionic-team/ionic-framework/pull/27364/commits/23a60c73cf99141fcfdd5b939b9ec8609dd614bd

- I updated the standalone test to use the fixture

Note: The previous `scrollIntoView` usage seemed to cause Safari
screenshots be sized 1px taller than if `scrollIntoView` was not used.
As a result, there are some screenshot changes:
https://github.com/ionic-team/ionic-framework/pull/27364/commits/7eb7d86413119baa33e580f651d412d54a2de6dd

However, they should be limited to Safari and only contain the 1px
height difference.


## Does this introduce a breaking change?

- [ ] Yes
- [x] No

<!-- If this introduces a breaking change, please describe the impact
and migration path for existing applications below. -->


## Other information

<!-- Any other information that is important to this PR such as
screenshots of how the component looks before and after the change. -->

---------

Co-authored-by: ionitron <hi@ionicframework.com>
L
Liam DeBeasi committed
1113bd8f4a75c4065d63b6734cea071b8f7f0ee7
Parent: 625c872
Committed by GitHub <noreply@github.com> on 5/4/2023, 3:30:13 PM