mirror of
https://github.com/LadybirdBrowser/ladybird
synced 2026-04-27 18:17:22 +02:00
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
35 lines
899 B
HTML
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>
|