jquery/test/unit
Michał Gołębiowski-Owczarek da7057e9b0
Build: Run GitHub Action browser tests on Playwright WebKit
So far, we've been running browser tests on GitHub Actions in Chrome
and Firefox. Regular Safari is not available in GitHub Actions but
Playwright WebKit comes close to a dev version of Safari.

With this change, our GitHub CI & local test runs will invoke tests on
all actively developed browser engines on all PRs.

Also, our GitHub Actions browser tests are now running on Node.js 18.

Detection of the Playwright WebKit browser in support unit tests is done
by checking if the `test_browser` query parameter is set to `"Playwright"`;
this is a `karma-webkit-launcher` feature. Detecting that browser via
user agent as we normally do is hard as the UA on Linux is very similar
to a real Safari one but it actually uses a newer version of the engine.

In addition, we now allow to pass custom browsers when one needs it;
e.g., to run the tests in all three engines on Linux/macOS, run:
```
grunt && BROWSERS=ChromeHeadless,FirefoxHeadless,WebkitHeadless grunt karma:main
```

Closes gh-5190

(cherry picked from commit b02a257f98)
2023-01-24 00:12:55 +01:00
..
ajax.js Build: Run GitHub Action browser tests on Playwright WebKit 2023-01-24 00:12:55 +01:00
animation.js Tests: Exclude tests based on compilation flags, not API presence (3.x version) 2022-07-12 17:12:27 +02:00
attributes.js Selector: Inline Sizzle into the selector module: 3.x version (#5113) 2022-12-14 01:41:31 +01:00
basic.js Tests: Exclude tests based on compilation flags, not API presence (3.x version) 2022-07-12 17:12:27 +02:00
callbacks.js Tests: Exclude tests based on compilation flags, not API presence (3.x version) 2022-07-12 17:12:27 +02:00
core.js Selector: Inline Sizzle into the selector module: 3.x version (#5113) 2022-12-14 01:41:31 +01:00
css.js Build: Run GitHub Action browser tests on Playwright WebKit 2023-01-24 00:12:55 +01:00
data.js Docs: Replace #NUMBER Trac issue references with trac-NUMBER 2022-01-12 23:23:10 +01:00
deferred.js Tests: Exclude tests based on compilation flags, not API presence (3.x version) 2022-07-12 17:12:27 +02:00
deprecated.js Tests: Exclude tests based on compilation flags, not API presence (3.x version) 2022-07-12 17:12:27 +02:00
dimensions.js Tests: Exclude tests based on compilation flags, not API presence (3.x version) 2022-07-12 17:12:27 +02:00
effects.js Selector: Inline Sizzle into the selector module: 3.x version (#5113) 2022-12-14 01:41:31 +01:00
event.js Selector: Inline Sizzle into the selector module: 3.x version (#5113) 2022-12-14 01:41:31 +01:00
exports.js Build: Update test code for compatibility with QUnit 2.x (#4297) 2019-02-18 19:03:26 +01:00
manipulation.js Selector: Inline Sizzle into the selector module: 3.x version (#5113) 2022-12-14 01:41:31 +01:00
offset.js Tests: Exclude tests based on compilation flags, not API presence (3.x version) 2022-07-12 17:12:27 +02:00
queue.js Tests: Exclude tests based on compilation flags, not API presence (3.x version) 2022-07-12 17:12:27 +02:00
ready.js Tests: Exclude tests based on compilation flags, not API presence (3.x version) 2022-07-12 17:12:27 +02:00
selector.js Build: Run GitHub Action browser tests on Playwright WebKit 2023-01-24 00:12:55 +01:00
serialize.js Tests: Exclude tests based on compilation flags, not API presence (3.x version) 2022-07-12 17:12:27 +02:00
support.js Build: Run GitHub Action browser tests on Playwright WebKit 2023-01-24 00:12:55 +01:00
traversing.js Selector: Inline Sizzle into the selector module: 3.x version (#5113) 2022-12-14 01:41:31 +01:00
tween.js Tests: Exclude tests based on compilation flags, not API presence (3.x version) 2022-07-12 17:12:27 +02:00
wrap.js Tests: Exclude tests based on compilation flags, not API presence (3.x version) 2022-07-12 17:12:27 +02:00