From 43a97878ce14b72f0981164f87f2e35e14151312 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 7 Apr 2024 11:22:09 +0200 Subject: Adding upstream version 110.0.1. Signed-off-by: Daniel Baumann --- .../tests/css/css-images/support/1x1-green.gif | Bin 0 -> 43 bytes .../tests/css/css-images/support/1x1-green.png | Bin 0 -> 135 bytes .../tests/css/css-images/support/1x1-green.svg | 366 +++++++++++++++++++++ .../tests/css/css-images/support/1x1-lime.png | Bin 0 -> 135 bytes .../tests/css/css-images/support/1x1-maroon.png | Bin 0 -> 109 bytes .../tests/css/css-images/support/1x1-navy.png | Bin 0 -> 109 bytes .../tests/css/css-images/support/1x1-red.png | Bin 0 -> 135 bytes .../tests/css/css-images/support/1x1-white.png | Bin 0 -> 109 bytes .../tests/css/css-images/support/60x60-gg-rr.png | Bin 0 -> 224 bytes .../tests/css/css-images/support/60x60-green.png | Bin 0 -> 218 bytes .../tests/css/css-images/support/a-green.css | 1 + .../tests/css/css-images/support/b-green.css | 1 + .../support/blue-green-red-yellow-50x100.svg | 8 + .../support/blue-green-red-yellow-no-size.svg | 8 + .../tests/css/css-images/support/c-red.css | 1 + .../tests/css/css-images/support/cat.png | Bin 0 -> 1883 bytes .../css/css-images/support/colors-16x8-noSize.svg | 11 + .../css-images/support/colors-16x8-parDefault.svg | 18 + .../tests/css/css-images/support/colors-16x8.png | Bin 0 -> 93 bytes .../tests/css/css-images/support/colors-16x8.svg | 14 + .../css/css-images/support/colors-8x16-noSize.svg | 11 + .../css-images/support/colors-8x16-parDefault.svg | 18 + .../tests/css/css-images/support/colors-8x16.png | Bin 0 -> 92 bytes .../tests/css/css-images/support/colors-8x16.svg | 14 + .../css-images/support/exif-orientation-6-ru.jpg | Bin 0 -> 1708 bytes ...enerate-object-fit-and-position-canvas-tests.sh | 71 ++++ .../support/generate-object-fit-png-tests.sh | 108 ++++++ .../support/generate-object-fit-svg-tests.sh | 116 +++++++ .../support/generate-object-position-png-tests.sh | 88 +++++ .../support/generate-object-position-svg-tests.sh | 88 +++++ .../support/generate_object_view_box_tests.py | 66 ++++ .../tests/css/css-images/support/import-green.css | 1 + .../tests/css/css-images/support/import-red.css | 1 + .../css/css-images/support/intrinsic-size.jpg | Bin 0 -> 3148 bytes .../css/css-images/support/intrinsic-size.png | Bin 0 -> 672 bytes .../object-view-box-fit-contain-ref-template.html | 68 ++++ .../object-view-box-fit-contain-template.html | 49 +++ .../object-view-box-fit-cover-ref-template.html | 71 ++++ .../object-view-box-fit-cover-template.html | 46 +++ .../object-view-box-fit-fill-ref-template.html | 142 ++++++++ .../support/object-view-box-fit-fill-template.html | 94 ++++++ .../object-view-box-fit-none-ref-template.html | 51 +++ .../support/object-view-box-fit-none-template.html | 36 ++ .../object-view-box-writing-mode-ref-template.html | 30 ++ .../object-view-box-writing-mode-template.html | 24 ++ .../css/css-images/support/pattern-grg-rgr-grg.png | Bin 0 -> 222 bytes .../css/css-images/support/pattern-grg-rrg-rgg.png | Bin 0 -> 231 bytes .../css/css-images/support/pattern-rgr-grg-rgr.png | Bin 0 -> 222 bytes .../tests/css/css-images/support/pattern-tr.png | Bin 0 -> 137 bytes .../tests/css/css-images/support/ruler-h-50%.png | Bin 0 -> 691 bytes .../tests/css/css-images/support/ruler-h-50px.png | Bin 0 -> 671 bytes .../tests/css/css-images/support/ruler-v-100px.png | Bin 0 -> 760 bytes .../tests/css/css-images/support/ruler-v-50px.png | Bin 0 -> 757 bytes .../tests/css/css-images/support/small-border.png | Bin 0 -> 137 bytes .../tests/css/css-images/support/square-purple.png | Bin 0 -> 92 bytes .../tests/css/css-images/support/square-teal.png | Bin 0 -> 92 bytes .../tests/css/css-images/support/square-white.png | Bin 0 -> 78 bytes .../css-images/support/support/swatch-green.png | Bin 0 -> 84 bytes .../css/css-images/support/support/swatch-red.png | Bin 0 -> 84 bytes .../tests/css/css-images/support/swatch-blue.png | Bin 0 -> 84 bytes .../tests/css/css-images/support/swatch-green.png | Bin 0 -> 84 bytes .../tests/css/css-images/support/swatch-lime.png | Bin 0 -> 84 bytes .../tests/css/css-images/support/swatch-orange.png | Bin 0 -> 84 bytes .../tests/css/css-images/support/swatch-red.png | Bin 0 -> 84 bytes .../tests/css/css-images/support/swatch-white.png | Bin 0 -> 85 bytes .../tests/css/css-images/support/swatch-yellow.png | Bin 0 -> 84 bytes .../support/template-object-fit-ref.html | 78 +++++ .../support/template-object-fit-test.html | 77 +++++ .../support/template-object-position-ref.html | 56 ++++ .../support/template-object-position-test.html | 58 ++++ .../tests/css/css-images/support/test-bl.png | Bin 0 -> 1368 bytes .../tests/css/css-images/support/test-br.png | Bin 0 -> 1045 bytes .../css-images/support/test-inner-half-size.png | Bin 0 -> 180 bytes .../tests/css/css-images/support/test-outer.png | Bin 0 -> 2412 bytes .../tests/css/css-images/support/test-tl.png | Bin 0 -> 1025 bytes .../tests/css/css-images/support/test-tr.png | Bin 0 -> 1235 bytes .../tests/css/css-images/support/testHelper.js | 30 ++ 77 files changed, 1920 insertions(+) create mode 100644 testing/web-platform/tests/css/css-images/support/1x1-green.gif create mode 100644 testing/web-platform/tests/css/css-images/support/1x1-green.png create mode 100644 testing/web-platform/tests/css/css-images/support/1x1-green.svg create mode 100644 testing/web-platform/tests/css/css-images/support/1x1-lime.png create mode 100644 testing/web-platform/tests/css/css-images/support/1x1-maroon.png create mode 100644 testing/web-platform/tests/css/css-images/support/1x1-navy.png create mode 100644 testing/web-platform/tests/css/css-images/support/1x1-red.png create mode 100644 testing/web-platform/tests/css/css-images/support/1x1-white.png create mode 100644 testing/web-platform/tests/css/css-images/support/60x60-gg-rr.png create mode 100644 testing/web-platform/tests/css/css-images/support/60x60-green.png create mode 100644 testing/web-platform/tests/css/css-images/support/a-green.css create mode 100644 testing/web-platform/tests/css/css-images/support/b-green.css create mode 100644 testing/web-platform/tests/css/css-images/support/blue-green-red-yellow-50x100.svg create mode 100644 testing/web-platform/tests/css/css-images/support/blue-green-red-yellow-no-size.svg create mode 100644 testing/web-platform/tests/css/css-images/support/c-red.css create mode 100644 testing/web-platform/tests/css/css-images/support/cat.png create mode 100644 testing/web-platform/tests/css/css-images/support/colors-16x8-noSize.svg create mode 100644 testing/web-platform/tests/css/css-images/support/colors-16x8-parDefault.svg create mode 100644 testing/web-platform/tests/css/css-images/support/colors-16x8.png create mode 100644 testing/web-platform/tests/css/css-images/support/colors-16x8.svg create mode 100644 testing/web-platform/tests/css/css-images/support/colors-8x16-noSize.svg create mode 100644 testing/web-platform/tests/css/css-images/support/colors-8x16-parDefault.svg create mode 100644 testing/web-platform/tests/css/css-images/support/colors-8x16.png create mode 100644 testing/web-platform/tests/css/css-images/support/colors-8x16.svg create mode 100644 testing/web-platform/tests/css/css-images/support/exif-orientation-6-ru.jpg create mode 100644 testing/web-platform/tests/css/css-images/support/generate-object-fit-and-position-canvas-tests.sh create mode 100644 testing/web-platform/tests/css/css-images/support/generate-object-fit-png-tests.sh create mode 100644 testing/web-platform/tests/css/css-images/support/generate-object-fit-svg-tests.sh create mode 100644 testing/web-platform/tests/css/css-images/support/generate-object-position-png-tests.sh create mode 100644 testing/web-platform/tests/css/css-images/support/generate-object-position-svg-tests.sh create mode 100644 testing/web-platform/tests/css/css-images/support/generate_object_view_box_tests.py create mode 100644 testing/web-platform/tests/css/css-images/support/import-green.css create mode 100644 testing/web-platform/tests/css/css-images/support/import-red.css create mode 100644 testing/web-platform/tests/css/css-images/support/intrinsic-size.jpg create mode 100644 testing/web-platform/tests/css/css-images/support/intrinsic-size.png create mode 100644 testing/web-platform/tests/css/css-images/support/object-view-box-fit-contain-ref-template.html create mode 100644 testing/web-platform/tests/css/css-images/support/object-view-box-fit-contain-template.html create mode 100644 testing/web-platform/tests/css/css-images/support/object-view-box-fit-cover-ref-template.html create mode 100644 testing/web-platform/tests/css/css-images/support/object-view-box-fit-cover-template.html create mode 100644 testing/web-platform/tests/css/css-images/support/object-view-box-fit-fill-ref-template.html create mode 100644 testing/web-platform/tests/css/css-images/support/object-view-box-fit-fill-template.html create mode 100644 testing/web-platform/tests/css/css-images/support/object-view-box-fit-none-ref-template.html create mode 100644 testing/web-platform/tests/css/css-images/support/object-view-box-fit-none-template.html create mode 100644 testing/web-platform/tests/css/css-images/support/object-view-box-writing-mode-ref-template.html create mode 100644 testing/web-platform/tests/css/css-images/support/object-view-box-writing-mode-template.html create mode 100644 testing/web-platform/tests/css/css-images/support/pattern-grg-rgr-grg.png create mode 100644 testing/web-platform/tests/css/css-images/support/pattern-grg-rrg-rgg.png create mode 100644 testing/web-platform/tests/css/css-images/support/pattern-rgr-grg-rgr.png create mode 100644 testing/web-platform/tests/css/css-images/support/pattern-tr.png create mode 100644 testing/web-platform/tests/css/css-images/support/ruler-h-50%.png create mode 100644 testing/web-platform/tests/css/css-images/support/ruler-h-50px.png create mode 100644 testing/web-platform/tests/css/css-images/support/ruler-v-100px.png create mode 100644 testing/web-platform/tests/css/css-images/support/ruler-v-50px.png create mode 100644 testing/web-platform/tests/css/css-images/support/small-border.png create mode 100644 testing/web-platform/tests/css/css-images/support/square-purple.png create mode 100644 testing/web-platform/tests/css/css-images/support/square-teal.png create mode 100644 testing/web-platform/tests/css/css-images/support/square-white.png create mode 100644 testing/web-platform/tests/css/css-images/support/support/swatch-green.png create mode 100644 testing/web-platform/tests/css/css-images/support/support/swatch-red.png create mode 100644 testing/web-platform/tests/css/css-images/support/swatch-blue.png create mode 100644 testing/web-platform/tests/css/css-images/support/swatch-green.png create mode 100644 testing/web-platform/tests/css/css-images/support/swatch-lime.png create mode 100644 testing/web-platform/tests/css/css-images/support/swatch-orange.png create mode 100644 testing/web-platform/tests/css/css-images/support/swatch-red.png create mode 100644 testing/web-platform/tests/css/css-images/support/swatch-white.png create mode 100644 testing/web-platform/tests/css/css-images/support/swatch-yellow.png create mode 100644 testing/web-platform/tests/css/css-images/support/template-object-fit-ref.html create mode 100644 testing/web-platform/tests/css/css-images/support/template-object-fit-test.html create mode 100644 testing/web-platform/tests/css/css-images/support/template-object-position-ref.html create mode 100644 testing/web-platform/tests/css/css-images/support/template-object-position-test.html create mode 100644 testing/web-platform/tests/css/css-images/support/test-bl.png create mode 100644 testing/web-platform/tests/css/css-images/support/test-br.png create mode 100644 testing/web-platform/tests/css/css-images/support/test-inner-half-size.png create mode 100644 testing/web-platform/tests/css/css-images/support/test-outer.png create mode 100644 testing/web-platform/tests/css/css-images/support/test-tl.png create mode 100644 testing/web-platform/tests/css/css-images/support/test-tr.png create mode 100644 testing/web-platform/tests/css/css-images/support/testHelper.js (limited to 'testing/web-platform/tests/css/css-images/support') diff --git a/testing/web-platform/tests/css/css-images/support/1x1-green.gif b/testing/web-platform/tests/css/css-images/support/1x1-green.gif new file mode 100644 index 0000000000..e023d92c7a Binary files /dev/null and b/testing/web-platform/tests/css/css-images/support/1x1-green.gif differ diff --git a/testing/web-platform/tests/css/css-images/support/1x1-green.png b/testing/web-platform/tests/css/css-images/support/1x1-green.png new file mode 100644 index 0000000000..b98ca0ba0a Binary files /dev/null and b/testing/web-platform/tests/css/css-images/support/1x1-green.png differ diff --git a/testing/web-platform/tests/css/css-images/support/1x1-green.svg b/testing/web-platform/tests/css/css-images/support/1x1-green.svg new file mode 100644 index 0000000000..0bfe4661a0 --- /dev/null +++ b/testing/web-platform/tests/css/css-images/support/1x1-green.svg @@ -0,0 +1,366 @@ + + + + + + + + + + +]> + + + + + + + + + + + + + + + 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 +k0mN + + + diff --git a/testing/web-platform/tests/css/css-images/support/1x1-lime.png b/testing/web-platform/tests/css/css-images/support/1x1-lime.png new file mode 100644 index 0000000000..cb397fb090 Binary files /dev/null and b/testing/web-platform/tests/css/css-images/support/1x1-lime.png differ diff --git a/testing/web-platform/tests/css/css-images/support/1x1-maroon.png b/testing/web-platform/tests/css/css-images/support/1x1-maroon.png new file mode 100644 index 0000000000..3f86b07219 Binary files /dev/null and b/testing/web-platform/tests/css/css-images/support/1x1-maroon.png differ diff --git a/testing/web-platform/tests/css/css-images/support/1x1-navy.png b/testing/web-platform/tests/css/css-images/support/1x1-navy.png new file mode 100644 index 0000000000..9b9a03955b Binary files /dev/null and b/testing/web-platform/tests/css/css-images/support/1x1-navy.png differ diff --git a/testing/web-platform/tests/css/css-images/support/1x1-red.png b/testing/web-platform/tests/css/css-images/support/1x1-red.png new file mode 100644 index 0000000000..6bd73ac101 Binary files /dev/null and b/testing/web-platform/tests/css/css-images/support/1x1-red.png differ diff --git a/testing/web-platform/tests/css/css-images/support/1x1-white.png b/testing/web-platform/tests/css/css-images/support/1x1-white.png new file mode 100644 index 0000000000..dd43faec54 Binary files /dev/null and b/testing/web-platform/tests/css/css-images/support/1x1-white.png differ diff --git a/testing/web-platform/tests/css/css-images/support/60x60-gg-rr.png b/testing/web-platform/tests/css/css-images/support/60x60-gg-rr.png new file mode 100644 index 0000000000..84f5b2a4f1 Binary files /dev/null and b/testing/web-platform/tests/css/css-images/support/60x60-gg-rr.png differ diff --git a/testing/web-platform/tests/css/css-images/support/60x60-green.png b/testing/web-platform/tests/css/css-images/support/60x60-green.png new file mode 100644 index 0000000000..b3c8cf3eb4 Binary files /dev/null and b/testing/web-platform/tests/css/css-images/support/60x60-green.png differ diff --git a/testing/web-platform/tests/css/css-images/support/a-green.css b/testing/web-platform/tests/css/css-images/support/a-green.css new file mode 100644 index 0000000000..b0dbb071d5 --- /dev/null +++ b/testing/web-platform/tests/css/css-images/support/a-green.css @@ -0,0 +1 @@ +.a { color: green; } diff --git a/testing/web-platform/tests/css/css-images/support/b-green.css b/testing/web-platform/tests/css/css-images/support/b-green.css new file mode 100644 index 0000000000..a0473f5ca2 --- /dev/null +++ b/testing/web-platform/tests/css/css-images/support/b-green.css @@ -0,0 +1 @@ +.b { color: green; } \ No newline at end of file diff --git a/testing/web-platform/tests/css/css-images/support/blue-green-red-yellow-50x100.svg b/testing/web-platform/tests/css/css-images/support/blue-green-red-yellow-50x100.svg new file mode 100644 index 0000000000..325c39362c --- /dev/null +++ b/testing/web-platform/tests/css/css-images/support/blue-green-red-yellow-50x100.svg @@ -0,0 +1,8 @@ + + + + + + + diff --git a/testing/web-platform/tests/css/css-images/support/blue-green-red-yellow-no-size.svg b/testing/web-platform/tests/css/css-images/support/blue-green-red-yellow-no-size.svg new file mode 100644 index 0000000000..0e0f955c29 --- /dev/null +++ b/testing/web-platform/tests/css/css-images/support/blue-green-red-yellow-no-size.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/testing/web-platform/tests/css/css-images/support/c-red.css b/testing/web-platform/tests/css/css-images/support/c-red.css new file mode 100644 index 0000000000..d4ba5c64e9 --- /dev/null +++ b/testing/web-platform/tests/css/css-images/support/c-red.css @@ -0,0 +1 @@ +.c { color: red; } \ No newline at end of file diff --git a/testing/web-platform/tests/css/css-images/support/cat.png b/testing/web-platform/tests/css/css-images/support/cat.png new file mode 100644 index 0000000000..85dd732481 Binary files /dev/null and b/testing/web-platform/tests/css/css-images/support/cat.png differ diff --git a/testing/web-platform/tests/css/css-images/support/colors-16x8-noSize.svg b/testing/web-platform/tests/css/css-images/support/colors-16x8-noSize.svg new file mode 100644 index 0000000000..db715d875e --- /dev/null +++ b/testing/web-platform/tests/css/css-images/support/colors-16x8-noSize.svg @@ -0,0 +1,11 @@ + + + + + + + + diff --git a/testing/web-platform/tests/css/css-images/support/colors-16x8-parDefault.svg b/testing/web-platform/tests/css/css-images/support/colors-16x8-parDefault.svg new file mode 100644 index 0000000000..1b0bca0737 --- /dev/null +++ b/testing/web-platform/tests/css/css-images/support/colors-16x8-parDefault.svg @@ -0,0 +1,18 @@ + + + + + + + + diff --git a/testing/web-platform/tests/css/css-images/support/colors-16x8.png b/testing/web-platform/tests/css/css-images/support/colors-16x8.png new file mode 100644 index 0000000000..bd23845871 Binary files /dev/null and b/testing/web-platform/tests/css/css-images/support/colors-16x8.png differ diff --git a/testing/web-platform/tests/css/css-images/support/colors-16x8.svg b/testing/web-platform/tests/css/css-images/support/colors-16x8.svg new file mode 100644 index 0000000000..08e3659402 --- /dev/null +++ b/testing/web-platform/tests/css/css-images/support/colors-16x8.svg @@ -0,0 +1,14 @@ + + + + + + + + diff --git a/testing/web-platform/tests/css/css-images/support/colors-8x16-noSize.svg b/testing/web-platform/tests/css/css-images/support/colors-8x16-noSize.svg new file mode 100644 index 0000000000..e741537b93 --- /dev/null +++ b/testing/web-platform/tests/css/css-images/support/colors-8x16-noSize.svg @@ -0,0 +1,11 @@ + + + + + + + + diff --git a/testing/web-platform/tests/css/css-images/support/colors-8x16-parDefault.svg b/testing/web-platform/tests/css/css-images/support/colors-8x16-parDefault.svg new file mode 100644 index 0000000000..ec8c59dcbd --- /dev/null +++ b/testing/web-platform/tests/css/css-images/support/colors-8x16-parDefault.svg @@ -0,0 +1,18 @@ + + + + + + + + diff --git a/testing/web-platform/tests/css/css-images/support/colors-8x16.png b/testing/web-platform/tests/css/css-images/support/colors-8x16.png new file mode 100644 index 0000000000..596fdb389d Binary files /dev/null and b/testing/web-platform/tests/css/css-images/support/colors-8x16.png differ diff --git a/testing/web-platform/tests/css/css-images/support/colors-8x16.svg b/testing/web-platform/tests/css/css-images/support/colors-8x16.svg new file mode 100644 index 0000000000..c336e3af1b --- /dev/null +++ b/testing/web-platform/tests/css/css-images/support/colors-8x16.svg @@ -0,0 +1,14 @@ + + + + + + + + diff --git a/testing/web-platform/tests/css/css-images/support/exif-orientation-6-ru.jpg b/testing/web-platform/tests/css/css-images/support/exif-orientation-6-ru.jpg new file mode 100644 index 0000000000..08d03f0a53 Binary files /dev/null and b/testing/web-platform/tests/css/css-images/support/exif-orientation-6-ru.jpg differ diff --git a/testing/web-platform/tests/css/css-images/support/generate-object-fit-and-position-canvas-tests.sh b/testing/web-platform/tests/css/css-images/support/generate-object-fit-and-position-canvas-tests.sh new file mode 100644 index 0000000000..aeeee5284c --- /dev/null +++ b/testing/web-platform/tests/css/css-images/support/generate-object-fit-and-position-canvas-tests.sh @@ -0,0 +1,71 @@ +#!/bin/bash +# +# Any copyright is dedicated to the Public Domain. +# http://creativecommons.org/publicdomain/zero/1.0/ +# +# Script to generate reftest files for "object-fit" and +# "object-position", from corresponding reftest files that use . +# +# This script expects to be run from the parent directory. + +# Array of image files that we'll use +imageFileArr=("support/colors-16x8.png" "support/colors-8x16.png") +canvasAttributeArr=('width="16" height="8"' 'width="8" height="16"') +numImageFiles=${#imageFileArr[@]} + + +for ((i = 0; i < $numImageFiles; i++)); do + + imageFile=${imageFileArr[$i]} + canvasAttrs=${canvasAttributeArr[$i]} + + # Loop across tests: + # (We assume that tests that end with "001" use the first PNG image in + # $imageFileArr, and tests that end with "002" use the second PNG image.) + let testNum=$i+1 + for origTestName in object-*-png-*00${testNum}o.html; do + # Find the corresponding reference case: + origReferenceName=$(echo $origTestName | + sed "s/o.html/-ref.html/") + + # Replace "o" suffix in filename with "c" (for "canvas") + canvasTestName=$(echo $origTestName | + sed "s/o.html/c.html/") + + # Generate testcase + # (converting to + echo "Generating $canvasTestName from $origTestName." + hg cp $origTestName $canvasTestName + + # Do string-replacements in testcase to convert it to test canvas: + # Adjust html & body nodes: + sed -i "s|||" $canvasTestName + sed -i "s|||" $canvasTestName + # Adjust : + sed -i "s|object element|canvas element|g" $canvasTestName + # Tweak the actual tags (open & close tags, and CSS rule): + sed -i "s|object {|canvas {|" $canvasTestName + sed -i "s|<object|<canvas|" $canvasTestName + sed -i "s|</object>|</canvas>|" $canvasTestName + # Drop "data" attr (pointing to image URI) and replace with + # width/height attrs to establish the canvas's intrinsic size: + sed -i "s|data=\"$imageFile\"|$canvasAttrs|" $canvasTestName + + # Add a <script> block to draw an image into each canvas: + sed -i "/<\/style>/a \\ + <script>\n\ + function drawImageToCanvases(imageURI) {\n\ + var image = new Image();\n\ + image.onload = function() {\n\ + var canvasElems = document.getElementsByTagName(\"canvas\");\n\ + for (var i = 0; i < canvasElems.length; i++) {\n\ + var ctx = canvasElems[i].getContext(\"2d\");\n\ + ctx.drawImage(image, 0, 0);\n\ + }\n\ + document.documentElement.removeAttribute(\"class\");\n\ + }\n\ + image.src = imageURI;\n\ + }\n\ + <\/script>" $canvasTestName + done +done diff --git a/testing/web-platform/tests/css/css-images/support/generate-object-fit-png-tests.sh b/testing/web-platform/tests/css/css-images/support/generate-object-fit-png-tests.sh new file mode 100644 index 0000000000..af20d0212a --- /dev/null +++ b/testing/web-platform/tests/css/css-images/support/generate-object-fit-png-tests.sh @@ -0,0 +1,108 @@ +#!/bin/bash +# +# Any copyright is dedicated to the Public Domain. +# http://creativecommons.org/publicdomain/zero/1.0/ +# +# This is a script that I used to generate a suite of tests for the CSS +# properties "object-fit" and "object-position", using a template testcase +# file and reference case file. +# +# The reference case uses the "background-size" & "background-position" +# equivalent of the tested "object-fit" / "object-position" values. +# (One exception: since there is no "background-size" equivalent of +# "object-fit: scale-down", we add an extra CSS rule for the "scale-down" +# reference cases -- see REPLACEME_SCALE_DOWN_EXTRA_RULE below.) + +FILE_PATH="./" +REFTEST_LIST_FILE="$FILE_PATH/reftest.list" + +TEMPLATE_TESTCASE_FILENAME=$FILE_PATH/support/template-object-fit-test.html +TEMPLATE_REFERENCE_FILENAME=$FILE_PATH/support/template-object-fit-ref.html + +imageFileFormat="png" + +# Array of image files to use for testing: +imageFileArr=("support/colors-16x8.png" "support/colors-8x16.png") +numImageFiles=${#imageFileArr[@]} + +# Array of "object-fit" values, & of corresponding "background-size" values. +# (Note: background-size has no equivalent for "object-fit: scale-down". We use +# "auto auto" here, which is equivalent *some* of the time; and for the cases +# where it's *not* equivalent, we use an extra CSS rule in the reference case. +# See REPLACEME_SCALE_DOWN_EXTRA_RULE below.) +objectFitArr=( "fill" "contain" "cover" "none" "scale-down" ) +backgroundSizeEquivArr=( "100% 100%" "contain" "cover" "auto auto" "auto auto" ) +numObjectFitVals=${#objectFitArr[@]} + +# Array of tag-names for elements that we'd like to test: +# (Also: array of a single-letter abbreviation for each element, an array of +# the close tag for each element -- if a close tag is needed -- and an array +# indicating the attribute that each element uses to specify its image source.) +tagNameArr=( "embed" "img" "object" "video" ) +tagLetterArr=( "e" "i" "o" "p" ) +tagCloseTokenArr=( "" "" "</object>" "</video>" ) +tagSrcAttrArr=( "src" "src" "data" "poster" ) +numTags=${#tagNameArr[@]} + +# FIRST: Add title to the top of our reftest manifest: +echo "# Tests for 'object-fit' / 'object-position' with a PNG image" \ + >> $REFTEST_LIST_FILE + +for ((i = 0; i < $numObjectFitVals; i++)); do + objectFit=${objectFitArr[$i]} + backgroundSizeEquiv=${backgroundSizeEquivArr[$i]} + + # The reference case for "scale-down" needs an additional style rule, to + # look like "object-fit: scale-down" on small objects. (This is necessary + # because "background-size" doesn't have a value that exactly maps to + # "object-fit: scale-down".) + if [[ $objectFit == "scale-down" ]]; then + scaledownRule=".objectOuter > .small { background-size: contain; }" + scaledownSedCmd="s/REPLACEME_SCALE_DOWN_EXTRA_RULE/$scaledownRule/" + else + # (We're not testing "scale-down" in this generated file, so just delete + # the template's placeholder line for a "scale-down"-specific CSS rule.) + scaledownSedCmd="/REPLACEME_SCALE_DOWN_EXTRA_RULE/d" + fi + + for ((j = 0; j < $numImageFiles; j++)); do + imageFile=${imageFileArr[$j]} + let testNum=$j+1 + testNum="00$testNum" # zero-pad to 3 digits, per w3c convention + + filenameStub="object-fit-$objectFit-$imageFileFormat-$testNum" + + # Generate a reference case: + filenameRef="$filenameStub-ref.html" + echo Generating ${filenameRef}. + cat $TEMPLATE_REFERENCE_FILENAME \ + | sed "s,REPLACEME_IMAGE_FILENAME,$imageFile," \ + | sed "s/REPLACEME_BACKGROUND_SIZE_VAL/$backgroundSizeEquiv/" \ + | sed "$scaledownSedCmd" \ + > $FILE_PATH/$filenameRef; + + # Generate a test for each of our tags: + for ((k = 0; k < $numTags; k++)); do + tagName=${tagNameArr[$k]} + tagLetter=${tagLetterArr[$k]} + tagCloseToken=${tagCloseTokenArr[$k]} + tagSrcAttr=${tagSrcAttrArr[$k]} + + filenameTest="$filenameStub$tagLetter.html" + testTitle="'object-fit: $objectFit' on $tagName element, with a PNG image and with various 'object-position' values" + echo Generating ${filenameTest}. + cat $TEMPLATE_TESTCASE_FILENAME \ + | sed "s,REPLACEME_IMAGE_FILENAME,$imageFile," \ + | sed "s/REPLACEME_TEST_TITLE/$testTitle/" \ + | sed "s,REPLACEME_REFERENCE_FILENAME,$filenameRef," \ + | sed "s/REPLACEME_CONTAINER_TAG/$tagName/" \ + | sed "s,REPLACEME_CONTAINER_CLOSETAG,$tagCloseToken," \ + | sed "s/REPLACEME_SRC_ATTR/$tagSrcAttr/" \ + | sed "s/REPLACEME_OBJECT_FIT_VAL/$objectFit/" \ + > $FILE_PATH/$filenameTest + + echo "== $filenameTest $filenameRef" \ + >> $REFTEST_LIST_FILE + done + done +done diff --git a/testing/web-platform/tests/css/css-images/support/generate-object-fit-svg-tests.sh b/testing/web-platform/tests/css/css-images/support/generate-object-fit-svg-tests.sh new file mode 100644 index 0000000000..c4d51877e0 --- /dev/null +++ b/testing/web-platform/tests/css/css-images/support/generate-object-fit-svg-tests.sh @@ -0,0 +1,116 @@ +#!/bin/bash +# +# Any copyright is dedicated to the Public Domain. +# http://creativecommons.org/publicdomain/zero/1.0/ +# +# This is a script that I used to generate a suite of tests for the CSS +# properties "object-fit" and "object-position", using a template testcase +# file and reference case file. +# +# The reference case uses the "background-size" & "background-position" +# equivalent of the tested "object-fit" / "object-position" values. +# (One exception: since there is no "background-size" equivalent of +# "object-fit: scale-down", we add an extra CSS rule for the "scale-down" +# reference cases -- see REPLACEME_SCALE_DOWN_EXTRA_RULE below.) + +FILE_PATH="./" +REFTEST_LIST_FILE="$FILE_PATH/reftest.list" + +TEMPLATE_TESTCASE_FILENAME=$FILE_PATH/support/template-object-fit-test.html +TEMPLATE_REFERENCE_FILENAME=$FILE_PATH/support/template-object-fit-ref.html + +imageFileFormat="svg" + +# Array of image files to use for testing: +imageFileArr=("support/colors-16x8.svg" + "support/colors-8x16.svg" + "support/colors-16x8-noSize.svg" + "support/colors-8x16-noSize.svg" + "support/colors-16x8-parDefault.svg" + "support/colors-8x16-parDefault.svg") +numImageFiles=${#imageFileArr[@]} + +# Array of "object-fit" values, & of corresponding "background-size" values. +# (Note: background-size has no equivalent for "object-fit: scale-down". We use +# "auto auto" here, which is equivalent *some* of the time; and for the cases +# where it's *not* equivalent, we use an extra CSS rule in the reference case. +# See REPLACEME_SCALE_DOWN_EXTRA_RULE below.) +objectFitArr=( "fill" "contain" "cover" "none" "scale-down" ) +backgroundSizeEquivArr=( "100% 100%" "contain" "cover" "auto auto" "auto auto" ) +numObjectFitVals=${#objectFitArr[@]} + +# Array of tag-names for elements that we'd like to test: +# (Also: array of a single-letter abbreviation for each element, an array of +# the close tag for each element -- if a close tag is needed -- and an array +# indicating the attribute that each element uses to specify its image source.) +tagNameArr=( "embed" "img" "object" "video" ) +tagLetterArr=( "e" "i" "o" "p" ) +tagCloseTokenArr=( "" "" "</object>" "</video>" ) +tagSrcAttrArr=( "src" "src" "data" "poster" ) +numTags=${#tagNameArr[@]} + +# FIRST: Add blank line & descriptive comment to reftest manifest: +echo " +# Tests for 'object-fit' / 'object-position' with an SVG image" \ + >> $REFTEST_LIST_FILE + +for ((i = 0; i < $numObjectFitVals; i++)); do + objectFit=${objectFitArr[$i]} + backgroundSizeEquiv=${backgroundSizeEquivArr[$i]} + + # The reference case for "scale-down" needs an additional style rule, to + # look like "object-fit: scale-down" on small objects. (This is necessary + # because "background-size" doesn't have a value that exactly maps to + # "object-fit: scale-down".) + if [[ $objectFit == "scale-down" ]]; then + scaledownRule=".objectOuter > .small { background-size: contain; }" + scaledownSedCmd="s/REPLACEME_SCALE_DOWN_EXTRA_RULE/$scaledownRule/" + else + # (We're not testing "scale-down" in this generated file, so just delete + # the template's placeholder line for a "scale-down"-specific CSS rule.) + scaledownSedCmd="/REPLACEME_SCALE_DOWN_EXTRA_RULE/d" + fi + + for ((j = 0; j < $numImageFiles; j++)); do + imageFile=${imageFileArr[$j]} + let testNum=$j+1 + testNum="00$testNum" # zero-pad to 3 digits, per w3c convention + + filenameStub="object-fit-$objectFit-$imageFileFormat-$testNum" + + # Generate a reference case: + filenameRef="$filenameStub-ref.html" + echo Generating ${filenameRef}. + cat $TEMPLATE_REFERENCE_FILENAME \ + | sed "s,REPLACEME_IMAGE_FILENAME,$imageFile," \ + | sed "s/REPLACEME_BACKGROUND_SIZE_VAL/$backgroundSizeEquiv/" \ + | sed "$scaledownSedCmd" \ + | sed "/image-rendering:/d" \ + > $FILE_PATH/$filenameRef; + + # Generate a test for each of our tags: + for ((k = 0; k < $numTags; k++)); do + tagName=${tagNameArr[$k]} + tagLetter=${tagLetterArr[$k]} + tagCloseToken=${tagCloseTokenArr[$k]} + tagSrcAttr=${tagSrcAttrArr[$k]} + + filenameTest="$filenameStub$tagLetter.html" + testTitle="'object-fit: $objectFit' on $tagName element, with a SVG image and with various 'object-position' values" + echo Generating ${filenameTest}. + cat $TEMPLATE_TESTCASE_FILENAME \ + | sed "s,REPLACEME_IMAGE_FILENAME,$imageFile," \ + | sed "s/REPLACEME_TEST_TITLE/$testTitle/" \ + | sed "s,REPLACEME_REFERENCE_FILENAME,$filenameRef," \ + | sed "s/REPLACEME_CONTAINER_TAG/$tagName/" \ + | sed "s,REPLACEME_CONTAINER_CLOSETAG,$tagCloseToken," \ + | sed "s/REPLACEME_SRC_ATTR/$tagSrcAttr/" \ + | sed "s/REPLACEME_OBJECT_FIT_VAL/$objectFit/" \ + | sed "/image-rendering:/d" \ + > $FILE_PATH/$filenameTest + + echo "== $filenameTest $filenameRef" \ + >> $REFTEST_LIST_FILE + done + done +done diff --git a/testing/web-platform/tests/css/css-images/support/generate-object-position-png-tests.sh b/testing/web-platform/tests/css/css-images/support/generate-object-position-png-tests.sh new file mode 100644 index 0000000000..4763fabf7f --- /dev/null +++ b/testing/web-platform/tests/css/css-images/support/generate-object-position-png-tests.sh @@ -0,0 +1,88 @@ +#!/bin/bash +# +# Any copyright is dedicated to the Public Domain. +# http://creativecommons.org/publicdomain/zero/1.0/ +# +# This is a script that I used to generate a suite of tests for the CSS +# properties "object-fit" and "object-position" (focusing on edge-case +# object-position values that require pixel rounding), using a template +# testcase file and reference case file. +# +# The reference case uses the "background-size" & "background-position" +# equivalent of the tested "object-fit" / "object-position" values. + +FILE_PATH="./" +REFTEST_LIST_FILE="$FILE_PATH/reftest.list" + +TEMPLATE_TESTCASE_FILENAME=$FILE_PATH/support/template-object-position-test.html +TEMPLATE_REFERENCE_FILENAME=$FILE_PATH/support/template-object-position-ref.html + +imageFileFormat="png" + +# Array of image files to use for testing: +imageFileArr=("support/colors-16x8.png" "support/colors-8x16.png") +numImageFiles=${#imageFileArr[@]} + +# Array of CSS classes to delete from the template, for a given image-file. +# DETAILS: The template files contain some elements/styles that exercise +# object-position x-values (op_x), and other elements/styles that exercise +# object-position y-values (op_y). But actually, we'll only have extra space +# for these percent values to resolve against in *one* dimension (since our +# image-files are rectangular, and the container element is square, and we +# scale the image up with "object-fit: contain"). So, we delete the +# elements/styles in the dimension where object-position % values will just +# resolve to 0 ("op_x" for the fat image, and "op_y" for the tall image). +classPatternToDeleteArr=("op_x" "op_y") + +# Array of tag-names for elements that we'd like to test: +# (Also: array of a single-letter abbreviation for each element, an array of +# the close tag for each element -- if a close tag is needed -- and an array +# indicating the attribute that each element uses to specify its image source.) +tagNameArr=( "embed" "img" "object" "video" ) +tagLetterArr=( "e" "i" "o" "p" ) +tagCloseTokenArr=( "" "" "</object>" "</video>" ) +tagSrcAttrArr=( "src" "src" "data" "poster" ) +numTags=${#tagNameArr[@]} + + for ((j = 0; j < $numImageFiles; j++)); do + imageFile=${imageFileArr[$j]} + + classPatternToDelete=${classPatternToDeleteArr[$j]} + + let testNum=$j+1 + testNum="00$testNum" # zero-pad to 3 digits, per w3c convention + + filenameStub="object-position-$imageFileFormat-$testNum" + + # Generate a reference case: + filenameRef="$filenameStub-ref.html" + echo Generating ${filenameRef}. + cat $TEMPLATE_REFERENCE_FILENAME \ + | sed "s,REPLACEME_IMAGE_FILENAME,$imageFile," \ + | sed "/$classPatternToDelete/d" \ + > $FILE_PATH/$filenameRef + + # Generate a test for each of our tags: + for ((k = 0; k < $numTags; k++)); do + tagName=${tagNameArr[$k]} + tagLetter=${tagLetterArr[$k]} + tagCloseToken=${tagCloseTokenArr[$k]} + tagSrcAttr=${tagSrcAttrArr[$k]} + + filenameTest="$filenameStub$tagLetter.html" + testTitle="various 'object-position' values on a fixed-size $tagName element, with a PNG image and 'object-fit:contain'." + echo Generating ${filenameTest}. + cat $TEMPLATE_TESTCASE_FILENAME \ + | sed "s,REPLACEME_IMAGE_FILENAME,$imageFile," \ + | sed "s/REPLACEME_TEST_TITLE/$testTitle/" \ + | sed "s,REPLACEME_REFERENCE_FILENAME,$filenameRef," \ + | sed "s/REPLACEME_CONTAINER_TAG/$tagName/" \ + | sed "s,REPLACEME_CONTAINER_CLOSETAG,$tagCloseToken," \ + | sed "s/REPLACEME_SRC_ATTR/$tagSrcAttr/" \ + | sed "/$classPatternToDelete/d" \ + > $FILE_PATH/$filenameTest + + echo "== $filenameTest $filenameRef" \ + >> $REFTEST_LIST_FILE + done + done diff --git a/testing/web-platform/tests/css/css-images/support/generate-object-position-svg-tests.sh b/testing/web-platform/tests/css/css-images/support/generate-object-position-svg-tests.sh new file mode 100644 index 0000000000..e00385a474 --- /dev/null +++ b/testing/web-platform/tests/css/css-images/support/generate-object-position-svg-tests.sh @@ -0,0 +1,88 @@ +#!/bin/bash +# +# Any copyright is dedicated to the Public Domain. +# http://creativecommons.org/publicdomain/zero/1.0/ +# +# This is a script that I used to generate a suite of tests for the CSS +# properties "object-fit" and "object-position" (focusing on edge-case +# object-position values that require pixel rounding), using a template +# testcase file and reference case file. +# +# The reference case uses the "background-size" & "background-position" +# equivalent of the tested "object-fit" / "object-position" values. + +FILE_PATH="./" +REFTEST_LIST_FILE="$FILE_PATH/reftest.list" + +TEMPLATE_TESTCASE_FILENAME=$FILE_PATH/support/template-object-position-test.html +TEMPLATE_REFERENCE_FILENAME=$FILE_PATH/support/template-object-position-ref.html + +imageFileFormat="svg" + +# Array of image files to use for testing: +imageFileArr=("support/colors-16x8.svg" "support/colors-8x16.svg") +numImageFiles=${#imageFileArr[@]} + +# Array of CSS classes to delete from the template, for a given image-file. +# DETAILS: The template files contain some elements/styles that exercise +# object-position x-values (op_x), and other elements/styles that exercise +# object-position y-values (op_y). But actually, we'll only have extra space +# for these percent values to resolve against in *one* dimension (since our +# image-files are rectangular, and the container element is square, and we +# scale the image up with "object-fit: contain"). So, we delete the +# elements/styles in the dimension where object-position % values will just +# resolve to 0 ("op_x" for the fat image, and "op_y" for the tall image). +classPatternToDeleteArr=("op_x" "op_y") + +# Array of tag-names for elements that we'd like to test: +# (Also: array of a single-letter abbreviation for each element, an array of +# the close tag for each element -- if a close tag is needed -- and an array +# indicating the attribute that each element uses to specify its image source.) +tagNameArr=( "embed" "img" "object" "video" ) +tagLetterArr=( "e" "i" "o" "p" ) +tagCloseTokenArr=( "" "" "</object>" "</video>" ) +tagSrcAttrArr=( "src" "src" "data" "poster" ) +numTags=${#tagNameArr[@]} + + for ((j = 0; j < $numImageFiles; j++)); do + imageFile=${imageFileArr[$j]} + + classPatternToDelete=${classPatternToDeleteArr[$j]} + + let testNum=$j+1 + testNum="00$testNum" # zero-pad to 3 digits, per w3c convention + + filenameStub="object-position-$imageFileFormat-$testNum" + + # Generate a reference case: + filenameRef="$filenameStub-ref.html" + echo Generating ${filenameRef}. + cat $TEMPLATE_REFERENCE_FILENAME \ + | sed "s,REPLACEME_IMAGE_FILENAME,$imageFile," \ + | sed "/$classPatternToDelete/d" \ + > $FILE_PATH/$filenameRef + + # Generate a test for each of our tags: + for ((k = 0; k < $numTags; k++)); do + tagName=${tagNameArr[$k]} + tagLetter=${tagLetterArr[$k]} + tagCloseToken=${tagCloseTokenArr[$k]} + tagSrcAttr=${tagSrcAttrArr[$k]} + + filenameTest="$filenameStub$tagLetter.html" + testTitle="various 'object-position' values on a fixed-size $tagName element, with a SVG image and 'object-fit:contain'." + echo Generating ${filenameTest}. + cat $TEMPLATE_TESTCASE_FILENAME \ + | sed "s,REPLACEME_IMAGE_FILENAME,$imageFile," \ + | sed "s/REPLACEME_TEST_TITLE/$testTitle/" \ + | sed "s,REPLACEME_REFERENCE_FILENAME,$filenameRef," \ + | sed "s/REPLACEME_CONTAINER_TAG/$tagName/" \ + | sed "s,REPLACEME_CONTAINER_CLOSETAG,$tagCloseToken," \ + | sed "s/REPLACEME_SRC_ATTR/$tagSrcAttr/" \ + | sed "/$classPatternToDelete/d" \ + > $FILE_PATH/$filenameTest + + echo "== $filenameTest $filenameRef" \ + >> $REFTEST_LIST_FILE + done + done diff --git a/testing/web-platform/tests/css/css-images/support/generate_object_view_box_tests.py b/testing/web-platform/tests/css/css-images/support/generate_object_view_box_tests.py new file mode 100644 index 0000000000..ccc5e4d145 --- /dev/null +++ b/testing/web-platform/tests/css/css-images/support/generate_object_view_box_tests.py @@ -0,0 +1,66 @@ +import sys + + +def generate_file(source, destination, tag, name, image_source): + file = open(source) + lines = file.read() + file.close() + + replaced_lines = lines.replace('__TAG__', + tag).replace('__NAME__', name).replace( + '__IMAGE_SOURCE__', image_source) + replaced_lines = '<!-- This is an autogen file. Run support/generate_object_view_box_tests.py to update -->\n' + replaced_lines + new_file = open(destination, "w") + new_file.write(replaced_lines) + new_file.close() + + +def generate_for_object_fit(object_fit): + names = ['img', 'svg', 'canvas', 'video'] + tags = ['img', 'img', 'canvas', 'video'] + image_sources = [ + 'support/exif-orientation-6-ru.jpg', + 'support/blue-green-red-yellow-50x100.svg', '', '' + ] + + for i in range(len(names)): + source = 'object-view-box-fit-' + object_fit + '-template.html' + destination = '../object-view-box-fit-' + object_fit + '-' + names[ + i] + '.html' + generate_file(source, destination, tags[i], names[i], image_sources[i]) + + source = 'object-view-box-fit-' + object_fit + '-ref-template.html' + destination = '../object-view-box-fit-' + object_fit + '-' + names[ + i] + '-ref.html' + generate_file(source, destination, tags[i], names[i], image_sources[i]) + + +def generate_for_writing_mode(): + names = ['img', 'svg', 'canvas', 'video'] + tags = ['img', 'img', 'canvas', 'video'] + image_sources = [ + 'support/exif-orientation-6-ru.jpg', + 'support/blue-green-red-yellow-50x100.svg', '', '' + ] + + for i in range(len(names)): + source = 'object-view-box-writing-mode-template.html' + destination = '../object-view-box-writing-mode-' + names[i] + '.html' + generate_file(source, destination, tags[i], names[i], image_sources[i]) + + source = 'object-view-box-writing-mode-ref-template.html' + destination = '../object-view-box-writing-mode-' + names[ + i] + '-ref.html' + generate_file(source, destination, tags[i], names[i], image_sources[i]) + + +def main(): + object_fit_types = ['fill', 'cover', 'contain', 'none'] + for object_fit in object_fit_types: + generate_for_object_fit(object_fit) + + generate_for_writing_mode() + + +if __name__ == '__main__': + sys.exit(main()) diff --git a/testing/web-platform/tests/css/css-images/support/import-green.css b/testing/web-platform/tests/css/css-images/support/import-green.css new file mode 100644 index 0000000000..537104e663 --- /dev/null +++ b/testing/web-platform/tests/css/css-images/support/import-green.css @@ -0,0 +1 @@ +.import { color: green; } diff --git a/testing/web-platform/tests/css/css-images/support/import-red.css b/testing/web-platform/tests/css/css-images/support/import-red.css new file mode 100644 index 0000000000..9945ef4711 --- /dev/null +++ b/testing/web-platform/tests/css/css-images/support/import-red.css @@ -0,0 +1 @@ +.import { color: red; } diff --git a/testing/web-platform/tests/css/css-images/support/intrinsic-size.jpg b/testing/web-platform/tests/css/css-images/support/intrinsic-size.jpg new file mode 100644 index 0000000000..b634fd1821 Binary files /dev/null and b/testing/web-platform/tests/css/css-images/support/intrinsic-size.jpg differ diff --git a/testing/web-platform/tests/css/css-images/support/intrinsic-size.png b/testing/web-platform/tests/css/css-images/support/intrinsic-size.png new file mode 100644 index 0000000000..833e6e36cd Binary files /dev/null and b/testing/web-platform/tests/css/css-images/support/intrinsic-size.png differ diff --git a/testing/web-platform/tests/css/css-images/support/object-view-box-fit-contain-ref-template.html b/testing/web-platform/tests/css/css-images/support/object-view-box-fit-contain-ref-template.html new file mode 100644 index 0000000000..2f11249570 --- /dev/null +++ b/testing/web-platform/tests/css/css-images/support/object-view-box-fit-contain-ref-template.html @@ -0,0 +1,68 @@ +<!DOCTYPE html> +<title>CSS object-view-box with object-fit:contain (ref) + + + + + + +
+ <__TAG__ class="view_box_subset"> +
+
+ <__TAG__ class="view_box_subset_with_position"> +
+
+ <__TAG__ class="view_box_subset_with_scaling"> +
+ + diff --git a/testing/web-platform/tests/css/css-images/support/object-view-box-fit-contain-template.html b/testing/web-platform/tests/css/css-images/support/object-view-box-fit-contain-template.html new file mode 100644 index 0000000000..f874e65b88 --- /dev/null +++ b/testing/web-platform/tests/css/css-images/support/object-view-box-fit-contain-template.html @@ -0,0 +1,49 @@ + + +CSS object-view-box with object-fit:contain + + + + + + + +<__TAG__ class="view_box_subset"> +<__TAG__ class="view_box_subset_with_position"> +<__TAG__ class="view_box_subset_with_scaling"> + + diff --git a/testing/web-platform/tests/css/css-images/support/object-view-box-fit-cover-ref-template.html b/testing/web-platform/tests/css/css-images/support/object-view-box-fit-cover-ref-template.html new file mode 100644 index 0000000000..2e830c0bae --- /dev/null +++ b/testing/web-platform/tests/css/css-images/support/object-view-box-fit-cover-ref-template.html @@ -0,0 +1,71 @@ + +CSS object-view-box with object-fit:contain (ref) + + + + + + +
+ <__TAG__ class="view_box_subset"> +
+
+ <__TAG__ class="view_box_subset_with_position"> +
+
+ <__TAG__ class="view_box_subset_with_scaling"> +
+ + diff --git a/testing/web-platform/tests/css/css-images/support/object-view-box-fit-cover-template.html b/testing/web-platform/tests/css/css-images/support/object-view-box-fit-cover-template.html new file mode 100644 index 0000000000..85664a20b2 --- /dev/null +++ b/testing/web-platform/tests/css/css-images/support/object-view-box-fit-cover-template.html @@ -0,0 +1,46 @@ + + +CSS object-view-box with object-fit:contain + + + + + + + + +<__TAG__ class="view_box_subset"> +<__TAG__ class="view_box_subset_with_position"> +<__TAG__ class="view_box_subset_with_scaling"> + + diff --git a/testing/web-platform/tests/css/css-images/support/object-view-box-fit-fill-ref-template.html b/testing/web-platform/tests/css/css-images/support/object-view-box-fit-fill-ref-template.html new file mode 100644 index 0000000000..574e291286 --- /dev/null +++ b/testing/web-platform/tests/css/css-images/support/object-view-box-fit-fill-ref-template.html @@ -0,0 +1,142 @@ + +CSS object-view-box with object-fit:fill (ref) + + + + + + +
+ <__TAG__ class="view_box_subset"> +
+
+ <__TAG__ class="view_box_subset_with_position"> +
+
+ <__TAG__ class="view_box_subset_with_scaling"> +
+ +
+ <__TAG__> +
+
+ <__TAG__ class="view_box_superset_with_position"> +
+
+ <__TAG__ class="view_box_superset_with_scaling"> +
+ +
+ <__TAG__ class="view_box_intersection"> +
+ +
+
+ + diff --git a/testing/web-platform/tests/css/css-images/support/object-view-box-fit-fill-template.html b/testing/web-platform/tests/css/css-images/support/object-view-box-fit-fill-template.html new file mode 100644 index 0000000000..ee2d83e8f2 --- /dev/null +++ b/testing/web-platform/tests/css/css-images/support/object-view-box-fit-fill-template.html @@ -0,0 +1,94 @@ + + +CSS object-view-box with object-fit:fill + + + + + + + +<__TAG__ class="view_box_subset"> +<__TAG__ class="view_box_subset_with_position"> +<__TAG__ class="view_box_subset_with_scaling"> + +<__TAG__ class="view_box_superset"> +<__TAG__ class="view_box_superset_with_position"> +<__TAG__ class="view_box_superset_with_scaling"> + +<__TAG__ class="view_box_intersection"> + +<__TAG__ class="view_box_no_intersection"> + + diff --git a/testing/web-platform/tests/css/css-images/support/object-view-box-fit-none-ref-template.html b/testing/web-platform/tests/css/css-images/support/object-view-box-fit-none-ref-template.html new file mode 100644 index 0000000000..861d9230a3 --- /dev/null +++ b/testing/web-platform/tests/css/css-images/support/object-view-box-fit-none-ref-template.html @@ -0,0 +1,51 @@ + +CSS object-view-box with object-fit:none (ref) + + + + + + +
+ <__TAG__ class="view_box_subset"> +
+
+ <__TAG__ class="view_box_subset_with_position"> +
+ + diff --git a/testing/web-platform/tests/css/css-images/support/object-view-box-fit-none-template.html b/testing/web-platform/tests/css/css-images/support/object-view-box-fit-none-template.html new file mode 100644 index 0000000000..ab0c083d21 --- /dev/null +++ b/testing/web-platform/tests/css/css-images/support/object-view-box-fit-none-template.html @@ -0,0 +1,36 @@ + + +CSS object-view-box with object-fit:none + + + + + + + + +<__TAG__ class="view_box_subset"> +<__TAG__ class="view_box_subset_with_position"> + + diff --git a/testing/web-platform/tests/css/css-images/support/object-view-box-writing-mode-ref-template.html b/testing/web-platform/tests/css/css-images/support/object-view-box-writing-mode-ref-template.html new file mode 100644 index 0000000000..764ba985fd --- /dev/null +++ b/testing/web-platform/tests/css/css-images/support/object-view-box-writing-mode-ref-template.html @@ -0,0 +1,30 @@ + + +CSS object-view-box with vertical writing mode : ref + + + + + + +
+ <__TAG__ class="view_box_subset"> +
+ + diff --git a/testing/web-platform/tests/css/css-images/support/object-view-box-writing-mode-template.html b/testing/web-platform/tests/css/css-images/support/object-view-box-writing-mode-template.html new file mode 100644 index 0000000000..a8c1189a96 --- /dev/null +++ b/testing/web-platform/tests/css/css-images/support/object-view-box-writing-mode-template.html @@ -0,0 +1,24 @@ + + +CSS object-view-box with vertical writing mode + + + + + + + +<__TAG__ class="view_box_subset"> + + diff --git a/testing/web-platform/tests/css/css-images/support/pattern-grg-rgr-grg.png b/testing/web-platform/tests/css/css-images/support/pattern-grg-rgr-grg.png new file mode 100644 index 0000000000..6fcfeb4883 Binary files /dev/null and b/testing/web-platform/tests/css/css-images/support/pattern-grg-rgr-grg.png differ diff --git a/testing/web-platform/tests/css/css-images/support/pattern-grg-rrg-rgg.png b/testing/web-platform/tests/css/css-images/support/pattern-grg-rrg-rgg.png new file mode 100644 index 0000000000..fcf4f3fd7d Binary files /dev/null and b/testing/web-platform/tests/css/css-images/support/pattern-grg-rrg-rgg.png differ diff --git a/testing/web-platform/tests/css/css-images/support/pattern-rgr-grg-rgr.png b/testing/web-platform/tests/css/css-images/support/pattern-rgr-grg-rgr.png new file mode 100644 index 0000000000..db8ed5cf7b Binary files /dev/null and b/testing/web-platform/tests/css/css-images/support/pattern-rgr-grg-rgr.png differ diff --git a/testing/web-platform/tests/css/css-images/support/pattern-tr.png b/testing/web-platform/tests/css/css-images/support/pattern-tr.png new file mode 100644 index 0000000000..8b4b25364e Binary files /dev/null and b/testing/web-platform/tests/css/css-images/support/pattern-tr.png differ diff --git a/testing/web-platform/tests/css/css-images/support/ruler-h-50%.png b/testing/web-platform/tests/css/css-images/support/ruler-h-50%.png new file mode 100644 index 0000000000..cf2eea6b43 Binary files /dev/null and b/testing/web-platform/tests/css/css-images/support/ruler-h-50%.png differ diff --git a/testing/web-platform/tests/css/css-images/support/ruler-h-50px.png b/testing/web-platform/tests/css/css-images/support/ruler-h-50px.png new file mode 100644 index 0000000000..9f46583665 Binary files /dev/null and b/testing/web-platform/tests/css/css-images/support/ruler-h-50px.png differ diff --git a/testing/web-platform/tests/css/css-images/support/ruler-v-100px.png b/testing/web-platform/tests/css/css-images/support/ruler-v-100px.png new file mode 100644 index 0000000000..a837eca222 Binary files /dev/null and b/testing/web-platform/tests/css/css-images/support/ruler-v-100px.png differ diff --git a/testing/web-platform/tests/css/css-images/support/ruler-v-50px.png b/testing/web-platform/tests/css/css-images/support/ruler-v-50px.png new file mode 100644 index 0000000000..8414102802 Binary files /dev/null and b/testing/web-platform/tests/css/css-images/support/ruler-v-50px.png differ diff --git a/testing/web-platform/tests/css/css-images/support/small-border.png b/testing/web-platform/tests/css/css-images/support/small-border.png new file mode 100644 index 0000000000..0e978c5922 Binary files /dev/null and b/testing/web-platform/tests/css/css-images/support/small-border.png differ diff --git a/testing/web-platform/tests/css/css-images/support/square-purple.png b/testing/web-platform/tests/css/css-images/support/square-purple.png new file mode 100644 index 0000000000..0f522d7872 Binary files /dev/null and b/testing/web-platform/tests/css/css-images/support/square-purple.png differ diff --git a/testing/web-platform/tests/css/css-images/support/square-teal.png b/testing/web-platform/tests/css/css-images/support/square-teal.png new file mode 100644 index 0000000000..e567f51b91 Binary files /dev/null and b/testing/web-platform/tests/css/css-images/support/square-teal.png differ diff --git a/testing/web-platform/tests/css/css-images/support/square-white.png b/testing/web-platform/tests/css/css-images/support/square-white.png new file mode 100644 index 0000000000..5853cbb238 Binary files /dev/null and b/testing/web-platform/tests/css/css-images/support/square-white.png differ diff --git a/testing/web-platform/tests/css/css-images/support/support/swatch-green.png b/testing/web-platform/tests/css/css-images/support/support/swatch-green.png new file mode 100644 index 0000000000..1caf25c992 Binary files /dev/null and b/testing/web-platform/tests/css/css-images/support/support/swatch-green.png differ diff --git a/testing/web-platform/tests/css/css-images/support/support/swatch-red.png b/testing/web-platform/tests/css/css-images/support/support/swatch-red.png new file mode 100644 index 0000000000..0aa79b0c86 Binary files /dev/null and b/testing/web-platform/tests/css/css-images/support/support/swatch-red.png differ diff --git a/testing/web-platform/tests/css/css-images/support/swatch-blue.png b/testing/web-platform/tests/css/css-images/support/swatch-blue.png new file mode 100644 index 0000000000..bf2759634d Binary files /dev/null and b/testing/web-platform/tests/css/css-images/support/swatch-blue.png differ diff --git a/testing/web-platform/tests/css/css-images/support/swatch-green.png b/testing/web-platform/tests/css/css-images/support/swatch-green.png new file mode 100644 index 0000000000..0aa79b0c86 Binary files /dev/null and b/testing/web-platform/tests/css/css-images/support/swatch-green.png differ diff --git a/testing/web-platform/tests/css/css-images/support/swatch-lime.png b/testing/web-platform/tests/css/css-images/support/swatch-lime.png new file mode 100644 index 0000000000..55fd7fdaed Binary files /dev/null and b/testing/web-platform/tests/css/css-images/support/swatch-lime.png differ diff --git a/testing/web-platform/tests/css/css-images/support/swatch-orange.png b/testing/web-platform/tests/css/css-images/support/swatch-orange.png new file mode 100644 index 0000000000..d3cd498b52 Binary files /dev/null and b/testing/web-platform/tests/css/css-images/support/swatch-orange.png differ diff --git a/testing/web-platform/tests/css/css-images/support/swatch-red.png b/testing/web-platform/tests/css/css-images/support/swatch-red.png new file mode 100644 index 0000000000..1caf25c992 Binary files /dev/null and b/testing/web-platform/tests/css/css-images/support/swatch-red.png differ diff --git a/testing/web-platform/tests/css/css-images/support/swatch-white.png b/testing/web-platform/tests/css/css-images/support/swatch-white.png new file mode 100644 index 0000000000..1a7d4323d7 Binary files /dev/null and b/testing/web-platform/tests/css/css-images/support/swatch-white.png differ diff --git a/testing/web-platform/tests/css/css-images/support/swatch-yellow.png b/testing/web-platform/tests/css/css-images/support/swatch-yellow.png new file mode 100644 index 0000000000..1591aa0e2e Binary files /dev/null and b/testing/web-platform/tests/css/css-images/support/swatch-yellow.png differ diff --git a/testing/web-platform/tests/css/css-images/support/template-object-fit-ref.html b/testing/web-platform/tests/css/css-images/support/template-object-fit-ref.html new file mode 100644 index 0000000000..068c74b4e4 --- /dev/null +++ b/testing/web-platform/tests/css/css-images/support/template-object-fit-ref.html @@ -0,0 +1,78 @@ + + + + + + CSS Reftest Reference + + + + + +
+
+
+
+
+
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+
+
+
+
+
+
+ + diff --git a/testing/web-platform/tests/css/css-images/support/template-object-fit-test.html b/testing/web-platform/tests/css/css-images/support/template-object-fit-test.html new file mode 100644 index 0000000000..8ec4664db9 --- /dev/null +++ b/testing/web-platform/tests/css/css-images/support/template-object-fit-test.html @@ -0,0 +1,77 @@ + + + + + + CSS Test: REPLACEME_TEST_TITLE + + + + + + + + + + REPLACEME_CONTAINER_CLOSETAG + REPLACEME_CONTAINER_CLOSETAG + REPLACEME_CONTAINER_CLOSETAG + REPLACEME_CONTAINER_CLOSETAG + REPLACEME_CONTAINER_CLOSETAG + REPLACEME_CONTAINER_CLOSETAG + REPLACEME_CONTAINER_CLOSETAG +
+ + REPLACEME_CONTAINER_CLOSETAG + REPLACEME_CONTAINER_CLOSETAG + REPLACEME_CONTAINER_CLOSETAG + REPLACEME_CONTAINER_CLOSETAG + REPLACEME_CONTAINER_CLOSETAG + REPLACEME_CONTAINER_CLOSETAG + REPLACEME_CONTAINER_CLOSETAG +
+ + REPLACEME_CONTAINER_CLOSETAG + REPLACEME_CONTAINER_CLOSETAG + REPLACEME_CONTAINER_CLOSETAG + REPLACEME_CONTAINER_CLOSETAG + REPLACEME_CONTAINER_CLOSETAG + REPLACEME_CONTAINER_CLOSETAG + REPLACEME_CONTAINER_CLOSETAG +
+ + diff --git a/testing/web-platform/tests/css/css-images/support/template-object-position-ref.html b/testing/web-platform/tests/css/css-images/support/template-object-position-ref.html new file mode 100644 index 0000000000..19661f41f6 --- /dev/null +++ b/testing/web-platform/tests/css/css-images/support/template-object-position-ref.html @@ -0,0 +1,56 @@ + + + + + + CSS Reftest Reference + + + + +
+
+
+
+
+
+
+
+
+
+
+
+
+
+ + diff --git a/testing/web-platform/tests/css/css-images/support/template-object-position-test.html b/testing/web-platform/tests/css/css-images/support/template-object-position-test.html new file mode 100644 index 0000000000..fb4b3ad3c7 --- /dev/null +++ b/testing/web-platform/tests/css/css-images/support/template-object-position-test.html @@ -0,0 +1,58 @@ + + + + + + CSS Test: REPLACEME_TEST_TITLE + + + + + + + + + REPLACEME_CONTAINER_CLOSETAG + REPLACEME_CONTAINER_CLOSETAG + REPLACEME_CONTAINER_CLOSETAG + REPLACEME_CONTAINER_CLOSETAG + REPLACEME_CONTAINER_CLOSETAG + REPLACEME_CONTAINER_CLOSETAG + REPLACEME_CONTAINER_CLOSETAG + REPLACEME_CONTAINER_CLOSETAG + REPLACEME_CONTAINER_CLOSETAG + REPLACEME_CONTAINER_CLOSETAG + REPLACEME_CONTAINER_CLOSETAG + REPLACEME_CONTAINER_CLOSETAG + REPLACEME_CONTAINER_CLOSETAG + REPLACEME_CONTAINER_CLOSETAG + + diff --git a/testing/web-platform/tests/css/css-images/support/test-bl.png b/testing/web-platform/tests/css/css-images/support/test-bl.png new file mode 100644 index 0000000000..904e24e996 Binary files /dev/null and b/testing/web-platform/tests/css/css-images/support/test-bl.png differ diff --git a/testing/web-platform/tests/css/css-images/support/test-br.png b/testing/web-platform/tests/css/css-images/support/test-br.png new file mode 100644 index 0000000000..f413ff5c1a Binary files /dev/null and b/testing/web-platform/tests/css/css-images/support/test-br.png differ diff --git a/testing/web-platform/tests/css/css-images/support/test-inner-half-size.png b/testing/web-platform/tests/css/css-images/support/test-inner-half-size.png new file mode 100644 index 0000000000..e473bf80ef Binary files /dev/null and b/testing/web-platform/tests/css/css-images/support/test-inner-half-size.png differ diff --git a/testing/web-platform/tests/css/css-images/support/test-outer.png b/testing/web-platform/tests/css/css-images/support/test-outer.png new file mode 100644 index 0000000000..82eeace7fc Binary files /dev/null and b/testing/web-platform/tests/css/css-images/support/test-outer.png differ diff --git a/testing/web-platform/tests/css/css-images/support/test-tl.png b/testing/web-platform/tests/css/css-images/support/test-tl.png new file mode 100644 index 0000000000..f6ac0ef7e8 Binary files /dev/null and b/testing/web-platform/tests/css/css-images/support/test-tl.png differ diff --git a/testing/web-platform/tests/css/css-images/support/test-tr.png b/testing/web-platform/tests/css/css-images/support/test-tr.png new file mode 100644 index 0000000000..59843ae54b Binary files /dev/null and b/testing/web-platform/tests/css/css-images/support/test-tr.png differ diff --git a/testing/web-platform/tests/css/css-images/support/testHelper.js b/testing/web-platform/tests/css/css-images/support/testHelper.js new file mode 100644 index 0000000000..e2806336e1 --- /dev/null +++ b/testing/web-platform/tests/css/css-images/support/testHelper.js @@ -0,0 +1,30 @@ +function paintCanvases() { + for (let canvas of document.getElementsByTagName("canvas")) { + canvas.width = 50; + canvas.height = 100; + + let ctx = canvas.getContext("2d"); + ctx.fillStyle = 'blue'; + ctx.fillRect(0, 0, 25, 50); + + ctx.fillStyle = 'green'; + ctx.fillRect(25, 0, 25, 50); + + ctx.fillStyle = 'red'; + ctx.fillRect(0, 50, 25, 50); + + ctx.fillStyle = 'yellow'; + ctx.fillRect(25, 50, 50, 50); + } +} + +function populateElements(imageSource) { + let images = document.getElementsByTagName("img"); + for (var i = 0; i < images.length; i++) + images[i].src = imageSource; + + paintCanvases(); + + for (let video of document.getElementsByTagName("video")) + video.poster = "support/exif-orientation-6-ru.jpg"; +} -- cgit v1.2.3