Files
Sean Perkins 5c2a73b262 chore(playwright): dark mode support (#28593)
Issue number: N/A

---------

<!-- 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. -->

Testing dark mode is manual per test in Playwright. Ionic developer
needs to setup the variables and assign them to a selector that applies
in the class.

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

- The `.setContent` API will now work with a new config option to test
dark mode automatically without additional configuration/test set-up.
- Default theme is no theme (fallback theme)
- Screenshot names and test titles remain the same for all existing
tests. Only tests that opt into a theme will be pre-pended with `-dark`
or `-light` (as an example for current themes).

## 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. -->
2023-11-29 20:48:16 +00:00
..
2019-06-19 21:33:50 +02:00

Build

1. Clone ionic

git@github.com:ionic-team/ionic.git
cd ionic

2. Run npm install

cd core npm install

Notice that @ionic/core lives in core.

3. Run npm start

Make sure you are inside the core directory.

npm start

With the dev command, Ionic components will be built with Stencil, changes to source files are watched, a local http server will startup, and http://localhost:3333/ will open in a browser.

4. Preview

Navigate to http://localhost:3333/src/components/. Each component has small e2e apps found in the test directory, for example: http://localhost:3333/src/components/button/test/basic

As changes are made in an editor to source files, the e2e app will live-reload.

How to contribute

  1. npm start allows you to modify the components and have live reloading, just like another ionic app.

  2. When everything looks good, run npm run validate to verify the tests linter and production build passes.

Deploy

  1. npm run prepare.deploy
  2. Review/update changelog
  3. Commit updates using the package name and version number as the commit message.
  4. npm run deploy
  5. 🎉