testsuite: Add crossfade-clip-both-children test
authorBenjamin Otte <otte@redhat.com>
Wed, 10 May 2023 20:14:26 +0000 (22:14 +0200)
committerBenjamin Otte <otte@redhat.com>
Tue, 16 May 2023 16:53:27 +0000 (18:53 +0200)
This one tests a crossfade between two non-overlapping nodes with a clip
region that covers neither of the two nodes.

This tests that renderers can deal with clip regions that doesn't
overlap nodes in a situation where they will most likely want to create
an offscreen.
As offscreens are typically clipped to the clip region, this would cause
an empty offscreen and that can cause failures.

testsuite/gsk/compare/crossfade-clip-both-children.node [new file with mode: 0644]
testsuite/gsk/compare/crossfade-clip-both-children.png [new file with mode: 0644]
testsuite/gsk/meson.build

diff --git a/testsuite/gsk/compare/crossfade-clip-both-children.node b/testsuite/gsk/compare/crossfade-clip-both-children.node
new file mode 100644 (file)
index 0000000..7af2338
--- /dev/null
@@ -0,0 +1,18 @@
+color {
+  bounds: 0 0 150 50;
+  color: rgb(0,0,0);
+}
+clip {
+  clip: 50 0 50 50;
+  child: cross-fade {
+    progress: 0.6;
+    start: color {
+      bounds: 0 0 50 50;
+      color: rgb(255,0,0);
+    }
+    end: color {
+      bounds: 100 0 50 50;
+      color: rgb(0,0,255);
+    }
+  }
+}
diff --git a/testsuite/gsk/compare/crossfade-clip-both-children.png b/testsuite/gsk/compare/crossfade-clip-both-children.png
new file mode 100644 (file)
index 0000000..ea47119
Binary files /dev/null and b/testsuite/gsk/compare/crossfade-clip-both-children.png differ
index 999e955ce5320b8a426f75f73768995433b177c1..263d13cf2954bef1c55befd75787878f5e301a76 100644 (file)
@@ -35,6 +35,7 @@ compare_render_tests = [
   'color-blur0',
   'color-matrix-identity',
   'color-matrix-parsing',
+  'crossfade-clip-both-children',
   'cross-fade-in-opacity',
   'cross-fade-in-rotate',
   'css-background',