Commit Graph

255 Commits

Author SHA1 Message Date
Andrey Lushnikov
0be1fc8559
chore: cut version 1.29 (#19489) 2022-12-15 11:22:35 -08:00
dependabot[bot]
9b29bd232f
chore(deps): bump qs and formidable (#19304) 2022-12-08 10:09:03 +01:00
Dmitry Gozman
81c8620bfe
chore: upgrade internal types to support TypeScript 4.9.3 (#19280)
Fixes https://github.com/microsoft/TypeScript/issues/51619

Co-authored-by: Max Schmitt <max@schmitt.mx>
2022-12-05 17:22:25 -08:00
Andrey Lushnikov
6d82460a02
feat: implement a new image comparison function (#19166)
This patch implements a new image comparison function, codenamed
"ssim-cie94". The goal of the new comparison function is to cancel out
browser non-determenistic rendering.

To use the new comparison function:

```ts
await expect(page).toHaveScreenshot({
  comparator: 'ssim-cie94',
});
```

As of Nov 30, 2022, we identified the following sources of
non-determenistic rendering for Chromium:
- Anti-aliasing for certain shapes might be different due to the
  way skia rasterizes certain shapes.
- Color blending might be different on `x86` and `aarch64`
architectures.

The new function employs a few heuristics to fight these
differences.

Consider two non-equal image pixels `(r1, g1, b1)` and `(r2, g2, b2)`:
1. If the [CIE94] metric is less then 1.0, then we consider these pixels
   **EQUAL**. (The value `1.0` is the [just-noticeable difference] for
   [CIE94].). Otherwise, proceed to next step.
1. If all the 8 neighbors of the first pixel match its color, or
   if the 8 neighbors of the second pixel match its color, then these
   pixels are **DIFFERENT**. (In case of anti-aliasing, some of the
   direct neighbors have to be blended up or down.) Otherwise, proceed
   to next step.
1. If SSIM in some locality around the different pixels is more than
   0.99, then consider this pixels to be **EQUAL**. Otherwise, mark them
   as **DIFFERENT**. (Local SSIM for anti-aliased pixels turns out to be
   very close to 1.0).

[CIE94]: https://en.wikipedia.org/wiki/Color_difference#CIE94
[just-noticeable difference]:
https://en.wikipedia.org/wiki/Just-noticeable_difference
2022-12-02 15:22:05 -08:00
Max Schmitt
f8355b940e
chore: bump Babel dependencies (#19026) 2022-11-23 09:37:31 -10:00
dependabot[bot]
fcf6485a48
chore(deps): bump minimatch from 3.0.4 to 3.1.2 (#18969) 2022-11-21 12:36:02 -10:00
Andrey Lushnikov
bc78db07df
chore: cut 1.28 branch (#18746) 2022-11-11 15:30:15 -08:00
Pavel Feldman
2183d9e9a2
chore: use codemirror for editor (#18482) 2022-11-01 15:04:30 -07:00
sand4rt
4896b22616
chore(ct): bump vue to v2.7.13 (#18428) 2022-11-01 14:17:43 -07:00
sand4rt
fabe42dc28
chore(ct): bump vite to v3.2.1 (#18427) 2022-10-31 08:58:11 -07:00
sand4rt
098de5009e
chore: bump vite to 3.1.8 (#18095) 2022-10-18 13:09:32 -07:00
Dmitry Gozman
ed6ecbca2a
chore: cut v1.27.0 (#17859) 2022-10-05 15:30:35 -07:00
Pavel Feldman
cadd4d1dd0
chore: migrate http server to ts (#17677) 2022-09-28 17:01:13 -07:00
Andrey Lushnikov
bc942ef9ea
chore: cut v1.26.0 (#17265) 2022-09-12 10:45:27 -07:00
Andrey Lushnikov
3708ba7a1f
chore: drop adm-zip from dev dependencies (#17198)
This was used in the `repack-juggler`.
2022-09-08 09:04:01 -07:00
Max Schmitt
85698f51c7
chore: add missing esbuild to package.json (#17064) 2022-09-05 16:33:05 +02:00
Pavel Feldman
535f3d1564
chore: bump lock deps (#16953) 2022-08-31 18:30:26 -07:00
sand4rt
ad46e980bc
feat(ct): initial solid (#16703) 2022-08-23 14:08:53 -07:00
Robert Niznik
664d4a271e
chore(ct-react): bump vite to v3 and @vitejs/plugin-react to v2 (#15733) 2022-08-21 13:52:02 +02:00
Max Schmitt
2e242e2dff
chore: roll Electron to 19.0.11 (#16024) 2022-08-10 10:41:55 +02:00
Andrey Lushnikov
0c7f086096
chore: cut v1.25 branch (#16390) 2022-08-09 17:09:58 -07:00
Max Schmitt
6482ff7a7f
chore: roll Electron to 16.2.8 (#16017) 2022-07-28 15:41:32 +02:00
Pavel Feldman
2eff208e54
feat(ct): allow unmounting components (#15974) 2022-07-27 15:12:36 -07:00
Yury Semikhatsky
99d1ad5a88
chore: bump vite to 3.0.0 and @sveltejs/vite-plugin-svelte to 1.0.1 (#15727) 2022-07-15 14:04:36 -07:00
Andrey Lushnikov
df9beb4045
chore: cut v1.24 (#15654) 2022-07-14 09:42:40 -07:00
Andrey Lushnikov
35720e2fcd
devops: adapt repack-juggler script to work with win (#15254)
This patch:
- Uses some folder in `CWD` instead of `/tmp` on win32 to store
  builds
- Drops usage of `find`, `zip` and `unzip` posix tools. Instead, rely
  on `adm-zip` package.
2022-06-30 11:04:59 -07:00
Max Schmitt
3a61938628
chore: mark 1.24-next (#14857) 2022-06-21 19:32:15 +02:00
Pavel Feldman
4cc25725f9
fix(types): follow up to react 18 changes (#14671) 2022-06-06 21:05:47 -07:00
Pavel Feldman
e3a590ed80
chore: update to react18, but use react17 mode (#14645) 2022-06-06 17:14:01 -07:00
Pavel Feldman
74b846270b
feat(ct): support Vue2 (#14600) 2022-06-02 17:37:43 -07:00
Pavel Feldman
947e6f58db
chore(audits): selected some deps (#14526) 2022-05-31 14:43:24 -07:00
Pavel Feldman
61c38f3b92
chore: update to TS 4.7.2 (#14519) 2022-05-31 13:11:39 -07:00
Max Schmitt
e02e5e66f0
chore: bump TypeScript to 4.6 (#14358) 2022-05-23 22:59:33 +03:00
Pavel Feldman
e4d55fd061
fix: include @types/node in pwt deps (#14230) 2022-05-17 20:36:35 -07:00
Andrey Lushnikov
f7adbd83ee
chore: cut v1.22.0 (#14098) 2022-05-12 11:12:01 -07:00
Andrey Lushnikov
4634adbdc3
devops: auto-publish experimental CT packages (#14060)
This patch:
- adds a hard dependency from `experimental-ct-*` packages to the
  same-version of `@playwright/test`
- aligns `experimental-ct-*` package versions with main package
  version
- starts publishing experimental CT packages together with other
  packages
2022-05-10 08:01:45 -07:00
Pavel Feldman
b8c4f426cc
chore: return source map from registry generator (#14005) 2022-05-06 18:29:49 -07:00
Pavel Feldman
f5e2171c80 chore: fix ct npm ignores 2022-05-05 17:42:01 -07:00
Pavel Feldman
43e7a2b91a chore: bump ct deps 2022-05-05 17:37:57 -07:00
Pavel Feldman
058f32caff
chore: fixtures-via-plugin implementation (#13950) 2022-05-05 10:14:00 -07:00
Pavel Feldman
2bc36794d1
chore: vite all frameworks (#13780) 2022-04-26 16:15:08 -07:00
Pavel Feldman
02cb987ddb
chore: bump ct versions (#13749) 2022-04-25 22:10:17 -07:00
Pavel Feldman
5990eb6074
chore: use vite plugin for registry (#13658) 2022-04-21 17:30:17 -07:00
Pavel Feldman
207c3c7abc
fix: dep bring back core dependency (#13632) 2022-04-19 08:31:31 -07:00
Pavel Feldman
007e908cd9
chore: bundle pwt deps (#13622) 2022-04-18 21:47:18 -07:00
Pavel Feldman
7989427ea6
chore: bundle core deps (#13621) 2022-04-18 20:20:49 -07:00
Pavel Feldman
63ea81ec54
chore: make bundles typed (#13620) 2022-04-18 17:50:25 -07:00
Pavel Feldman
58d79e5e4d
chore: add core utils bundle (#13615) 2022-04-18 13:47:23 -07:00
Pavel Feldman
4f0103fef0
chore: babel, expect, zip bundles (#13588) 2022-04-18 11:31:58 -07:00
Pavel Feldman
5f843c347d
chore: bundle pixelmatch, it has not changed for 2 years (#13585) 2022-04-15 16:58:31 -07:00