diff --git a/testsuite/gsk/compare/clipped_rounded_clip.node b/testsuite/gsk/compare/clipped_rounded_clip.node new file mode 100644 index 0000000000..0d1340e3b7 --- /dev/null +++ b/testsuite/gsk/compare/clipped_rounded_clip.node @@ -0,0 +1,41 @@ +color { + color: white; + bounds: 50 70 80 90; +} + +clip { + clip: 60 80 60 70; + child: rounded-clip { + clip: 20 50 100 100 / 50; + child: color { + bounds: 20 50 100 100; + color: red; + } + } +} + +debug { + message: "clipped out area"; + child: container { + color { + bounds: 115 80 5 45; + color: black; + } + color { + bounds: 110 121 5 11; + color: black; + } + color { + bounds: 99 129 11 11; + color: black; + } + color { + bounds: 91 140 11 5; + color: black; + } + color { + bounds: 60 145 35 5; + color: black; + } + } +} diff --git a/testsuite/gsk/compare/clipped_rounded_clip.png b/testsuite/gsk/compare/clipped_rounded_clip.png new file mode 100644 index 0000000000..61f527fc97 Binary files /dev/null and b/testsuite/gsk/compare/clipped_rounded_clip.png differ diff --git a/testsuite/gsk/compare/opacity_clip.node b/testsuite/gsk/compare/opacity_clip.node new file mode 100644 index 0000000000..443b1e9fd6 --- /dev/null +++ b/testsuite/gsk/compare/opacity_clip.node @@ -0,0 +1,36 @@ +color { + bounds: 40 40 70 70; + color: transparent; +} + +clip { + clip: 50 50 50 50; + child: opacity { + opacity: 0.4; + child: rounded-clip { + clip: 50 50 100 100 / 50; + child: color { + bounds: 50 50 100 100; + color: red; + } + } + } +} + +debug { + message: "clipped out area"; + child: container { + color { + bounds: 50 70 10 30; + color: black; + } + color { + bounds: 55 55 20 20; + color: black; + } + color { + bounds: 70 50 30 10; + color: black; + } + } +} diff --git a/testsuite/gsk/compare/opacity_clip.png b/testsuite/gsk/compare/opacity_clip.png new file mode 100644 index 0000000000..f64cab7230 Binary files /dev/null and b/testsuite/gsk/compare/opacity_clip.png differ diff --git a/testsuite/gsk/gl/outset_shadow_offset_both.txt b/testsuite/gsk/compare/outset_shadow_offset_both.node similarity index 100% rename from testsuite/gsk/gl/outset_shadow_offset_both.txt rename to testsuite/gsk/compare/outset_shadow_offset_both.node diff --git a/testsuite/gsk/gl/outset_shadow_offset_both.gl.png b/testsuite/gsk/compare/outset_shadow_offset_both.png similarity index 100% rename from testsuite/gsk/gl/outset_shadow_offset_both.gl.png rename to testsuite/gsk/compare/outset_shadow_offset_both.png diff --git a/testsuite/gsk/gl/outset_shadow_offsetx.txt b/testsuite/gsk/compare/outset_shadow_offset_x.node similarity index 100% rename from testsuite/gsk/gl/outset_shadow_offsetx.txt rename to testsuite/gsk/compare/outset_shadow_offset_x.node diff --git a/testsuite/gsk/gl/outset_shadow_offsetx.gl.png b/testsuite/gsk/compare/outset_shadow_offset_x.png similarity index 100% rename from testsuite/gsk/gl/outset_shadow_offsetx.gl.png rename to testsuite/gsk/compare/outset_shadow_offset_x.png diff --git a/testsuite/gsk/gl/outset_shadow_offsety.txt b/testsuite/gsk/compare/outset_shadow_offset_y.node similarity index 100% rename from testsuite/gsk/gl/outset_shadow_offsety.txt rename to testsuite/gsk/compare/outset_shadow_offset_y.node diff --git a/testsuite/gsk/gl/outset_shadow_offsety.gl.png b/testsuite/gsk/compare/outset_shadow_offset_y.png similarity index 100% rename from testsuite/gsk/gl/outset_shadow_offsety.gl.png rename to testsuite/gsk/compare/outset_shadow_offset_y.png diff --git a/testsuite/gsk/gl/outset_shadow_rounded_top.txt b/testsuite/gsk/compare/outset_shadow_rounded_top.node similarity index 100% rename from testsuite/gsk/gl/outset_shadow_rounded_top.txt rename to testsuite/gsk/compare/outset_shadow_rounded_top.node diff --git a/testsuite/gsk/gl/outset_shadow_rounded_top.gl.png b/testsuite/gsk/compare/outset_shadow_rounded_top.png similarity index 100% rename from testsuite/gsk/gl/outset_shadow_rounded_top.gl.png rename to testsuite/gsk/compare/outset_shadow_rounded_top.png diff --git a/testsuite/gsk/gl/outset_shadow_simple.txt b/testsuite/gsk/compare/outset_shadow_simple.node similarity index 100% rename from testsuite/gsk/gl/outset_shadow_simple.txt rename to testsuite/gsk/compare/outset_shadow_simple.node diff --git a/testsuite/gsk/gl/outset_shadow_simple.gl.png b/testsuite/gsk/compare/outset_shadow_simple.png similarity index 100% rename from testsuite/gsk/gl/outset_shadow_simple.gl.png rename to testsuite/gsk/compare/outset_shadow_simple.png diff --git a/testsuite/gsk/gl/clipped_rounded_clip.gl.png b/testsuite/gsk/gl/clipped_rounded_clip.gl.png deleted file mode 100644 index 0e8b85beb4..0000000000 Binary files a/testsuite/gsk/gl/clipped_rounded_clip.gl.png and /dev/null differ diff --git a/testsuite/gsk/gl/clipped_rounded_clip.txt b/testsuite/gsk/gl/clipped_rounded_clip.txt deleted file mode 100644 index 545e6045ac..0000000000 --- a/testsuite/gsk/gl/clipped_rounded_clip.txt +++ /dev/null @@ -1,10 +0,0 @@ -clip { - clip: 60 80 60 70; - child: rounded-clip { - clip: 20 50 100 100 / 50; - child: color { - bounds: 20 50 100 100; - color: red; - } - } -} diff --git a/testsuite/gsk/gl/opacity_clip.gl.png b/testsuite/gsk/gl/opacity_clip.gl.png deleted file mode 100644 index 95df90fc31..0000000000 Binary files a/testsuite/gsk/gl/opacity_clip.gl.png and /dev/null differ diff --git a/testsuite/gsk/gl/opacity_clip.txt b/testsuite/gsk/gl/opacity_clip.txt deleted file mode 100644 index 8b9991f797..0000000000 --- a/testsuite/gsk/gl/opacity_clip.txt +++ /dev/null @@ -1,13 +0,0 @@ -clip { - clip: 50 50 50 50; - child: opacity { - opacity: 0.4; - child: rounded-clip { - clip: 50 50 100 100 / 50; - child: color { - bounds: 50 50 100 100; - color: red; - } - } - } -} diff --git a/testsuite/gsk/meson.build b/testsuite/gsk/meson.build index 6b74e1c144..e9fd913764 100644 --- a/testsuite/gsk/meson.build +++ b/testsuite/gsk/meson.build @@ -40,21 +40,14 @@ test('nodes (cairo)', test_render_nodes, # Interesting render nodes proven to be rendered 'correctly' by the GL renderer. gl_tests = [ - ['outset shadow simple', 'outset_shadow_simple'], - ['outset shadow offset x', 'outset_shadow_offsetx'], - ['outset shadow offset y', 'outset_shadow_offsety'], - ['outset shadow offset both', 'outset_shadow_offset_both'], ['outset shadow rounded1', 'outset_shadow_rounded1'], ['outset shadow rounded2', 'outset_shadow_rounded2'], - ['outset shadow rounded top', 'outset_shadow_rounded_top'], ['outset shadow blurred simple', 'outset_shadow_blurred_simple'], ['outset shadow blurred small', 'outset_shadow_blurred_small'], ['outset shadow blurred offset', 'outset_shadow_blurred_offset'], ['Crossfade simple', 'cross_fade'], - ['Clipped rounded clip', 'clipped_rounded_clip'], ['gradient simple', 'gradient_simple'], ['gradient clipped', 'gradient_clipped'], - ['offscreen opacity', 'opacity_clip'], ] foreach gl_test : gl_tests @@ -72,6 +65,38 @@ foreach gl_test : gl_tests suite: 'gsk') endforeach +compare_render_tests = [ + 'clipped_rounded_clip', + 'opacity_clip', + 'outset_shadow_offset_both', + 'outset_shadow_offset_x', + 'outset_shadow_offset_y', + 'outset_shadow_rounded_top', + 'outset_shadow_simple', +] + +renderers = [ + 'opengl', + 'cairo', +] + +foreach renderer : renderers + foreach test : compare_render_tests + test(renderer + ' ' + test, compare_render, + args: [join_paths(meson.current_source_dir(), 'compare', test + '.node'), + join_paths(meson.current_source_dir(), 'compare', test + '.png')], + env: [ 'GIO_USE_VOLUME_MONITOR=unix', + 'GSETTINGS_BACKEND=memory', + 'GTK_CSD=1', + 'G_ENABLE_DIAGNOSTIC=0', + 'G_TEST_SRCDIR=@0@'.format(meson.current_source_dir()), + 'G_TEST_BUILDDIR=@0@'.format(meson.current_build_dir()), + 'GSK_RENDERER=' + renderer + ], + suite: [ 'gsk', 'gsk-compare', 'gsk-' + renderer, 'gsk-compare-' + renderer ]) + endforeach +endforeach + node_parser_tests = [ 'crash1', 'crash2',