Files
ladybird/Tests/LibWeb/Screenshot/input/canvas-pattern.html
Aliaksandr Kalenik d2528dd5ce LibWeb: Compare Screenshot tests directly against expected PNGs
Instead of rendering a reference HTML page that wraps an <img> tag
pointing to a PNG, Screenshot tests now load the expected PNG directly
from disk and compare it against the rendered screenshot. This
eliminates the indirection of loading and rendering a second page just
to display a static image.

This also means --rebaseline now works for Screenshot tests, generating
the expected PNG automatically instead of requiring manual screenshot
capture and placement.

Changes:
- Add TestMode::Screenshot with its own collector and runner
- Move PNGs from Screenshot/images/ to Screenshot/expected/ with
  normalized names matching input filenames
- Remove all 92 reference HTML wrapper files and the images/
  directory
- Remove <link rel="match"> from all 94 Screenshot input HTML
  files
- Update add_libweb_test.py Screenshot boilerplate accordingly
- Add Screenshot mode to results viewer image comparison tabs
2026-02-24 09:55:14 +01:00

35 lines
899 B
HTML

<!DOCTYPE html>
<style>
* {
margin: 0;
}
body {
background-color: white;
}
canvas {
border: 2px solid black;
margin: 5px;
padding: 5px;
}
</style>
<canvas data-type="img" data-repeat="repeat" width="250" height="250"></canvas>
<canvas data-type="img" data-repeat="repeat-x" width="250" height="250"></canvas>
<canvas data-type="img" data-repeat="repeat-y" width="250" height="250"></canvas>
<canvas data-type="img" data-repeat="no-repeat" width="250" height="250"></canvas>
<script>
const img = new Image();
img.onload = () => {
for (const canvas of document.querySelectorAll('canvas[data-type=img]')) {
const ctx = canvas.getContext('2d');
const pattern = ctx.createPattern(img, canvas.getAttribute('data-repeat'));
ctx.fillStyle = pattern;
ctx.fillRect(0, 0, canvas.width, canvas.height);
}
};
img.src = '../data/car.png';
</script>