gtk/testsuite/reftests
Matthias Clasen 5bebbb06fa Add an expander reftest
This test check that resizing the window when expanding
the expander yields the same end result as having the
expander expanded to begin with. The test uses the inhibit
mechanism introduced in the previous commit.
2014-06-02 22:36:01 -04:00
..
721800-0px-dotted-border.css reftests: Add reftest for 0px border fix 2014-01-14 03:38:04 +01:00
721800-0px-dotted-border.ref.ui reftests: Add reftest for 0px border fix 2014-01-14 03:38:04 +01:00
721800-0px-dotted-border.ui reftests: Add reftest for 0px border fix 2014-01-14 03:38:04 +01:00
actionbar.css Make the action bar reftest reliable 2014-01-14 14:05:37 -05:00
actionbar.ref.ui Adjust action ref test to new realities 2014-02-16 23:03:38 -05:00
actionbar.ui Adjust action ref test to new realities 2014-02-16 23:03:38 -05:00
align-expand.sh
alignment-props.css
alignment-props.ref.ui
alignment-props.ui Replace all margin-left and margin-right with margin-start and margin-end 2013-11-15 02:54:35 +01:00
background-area.css reftests: Fix background-area test 2014-05-22 17:38:50 +02:00
background-area.ref.ui
background-area.ui
background-color-transparent.css
background-color-transparent.ref.ui
background-color-transparent.ui
background-image-multiple.css
background-image-multiple.ref.ui
background-image-multiple.ui
background-origin.css
background-origin.ref.ui
background-origin.ui
background-position-repeat-bg.png
background-position-repeat.css
background-position-repeat.ref.ui
background-position-repeat.ui
background-position-simple.css
background-position-simple.ref.ui
background-position-simple.ui
background-position.css
background-position.ref.ui
background-position.ui
background-positioning-area-empty.ref.ui
background-positioning-area-empty.ui
background-repeat.css reftests: Fix some more easy GtkButton shadow cases 2014-05-22 11:46:07 -04:00
background-repeat.ref.ui
background-repeat.ui
background-size-keywords.css
background-size-keywords.ref.ui
background-size-keywords.ui
background-size-zero.css
background-size-zero.ref.ui
background-size-zero.ui
background-size.css
background-size.ref.ui
background-size.ui
background-window-transparent.css
background-window-transparent.ref.ui
background-window-transparent.ui
bad-color-names.css
bad-color-names.ref.ui
bad-color-names.ui
border-color-default.css
border-color-default.ref.ui
border-color-default.ui
border-half-pixel.css
border-half-pixel.ref.ui
border-half-pixel.ui
border-image-3-balls-green-squished.png reftests: Fix rendering issues with border-image reftest 2013-11-19 02:29:48 +01:00
border-image-3-balls-green.png
border-image-3-balls-yellow-squished.png reftests: Fix rendering issues with border-image reftest 2013-11-19 02:29:48 +01:00
border-image-3-balls-yellow.png
border-image-ball-green.png
border-image-ball-red.png
border-image-ball-yellow.png
border-image-balls.png
border-image-excess-size.css
border-image-excess-size.ref.ui
border-image-excess-size.ui
border-image-gradient.css
border-image-gradient.ref.ui
border-image-gradient.ui
border-image-url-scaled.css reftest: Add reftest for scaled image borders - fails on GDK_SCALE=2 2013-07-05 15:21:55 +02:00
border-image-url-scaled.ref.ui reftest: Add reftest for scaled image borders - fails on GDK_SCALE=2 2013-07-05 15:21:55 +02:00
border-image-url-scaled.ui reftest: Add reftest for scaled image borders - fails on GDK_SCALE=2 2013-07-05 15:21:55 +02:00
border-image-url.css
border-image-url.ref.ui
border-image-url.ui
border-radius-clamp.css
border-radius-clamp.ref.ui
border-radius-clamp.ui
border-rgb.png reftest: Add reftest for scaled image borders - fails on GDK_SCALE=2 2013-07-05 15:21:55 +02:00
border-rgb@2.png reftest: Add reftest for scaled image borders - fails on GDK_SCALE=2 2013-07-05 15:21:55 +02:00
border-style-none.css
border-style-none.ref.ui
border-style-none.ui
border-style.css
border-style.ref.ui
border-style.ui
box-child-expand.ref.ui reftests: Add a reftest for the expand change in GtkBox 2013-06-30 03:39:09 +02:00
box-child-expand.ui reftests: Add a reftest for the expand change in GtkBox 2013-06-30 03:39:09 +02:00
box-packing.css
box-packing.ref.ui
box-packing.ui
box-pseudo-classes.css
box-pseudo-classes.ref.ui
box-pseudo-classes.ui
box-shadow-spec-inset.css reftests: Fix some more easy GtkButton shadow cases 2014-05-22 11:46:07 -04:00
box-shadow-spec-inset.ref.ui
box-shadow-spec-inset.ui
button-wrapping.ref.ui
button-wrapping.ui
cellrenderer-pixbuf-stock-rtl.css reftests: Add a reftest for the cell renderer fix 2013-09-05 18:48:47 +02:00
cellrenderer-pixbuf-stock-rtl.ref.ui reftests: Add a reftest for the cell renderer fix 2013-09-05 18:48:47 +02:00
cellrenderer-pixbuf-stock-rtl.ui reftests: Add a reftest for the cell renderer fix 2013-09-05 18:48:47 +02:00
css-currentcolor-alpha.css reftests: Add test for just fixed Polari crasher 2013-09-06 03:04:44 +02:00
css-currentcolor-alpha.ref.ui reftests: Add test for just fixed Polari crasher 2013-09-06 03:04:44 +02:00
css-currentcolor-alpha.ui reftests: Add test for just fixed Polari crasher 2013-09-06 03:04:44 +02:00
css-match-class.css
css-match-class.ref.ui
css-match-class.ui
css-match-descendant-later.css
css-match-descendant-later.ref.ui
css-match-descendant-later.ui
css-match-exact.css
css-match-exact.ref.ui
css-match-exact.ui
css-match-import-import.css
css-match-import.css
css-match-import.ref.ui
css-match-import.ui
css-match-inherit-different-state.css
css-match-inherit-different-state.ref.ui
css-match-inherit-different-state.ui
css-match-inherit.css
css-match-inherit.ref.ui
css-match-inherit.ui
css-match-name.css
css-match-name.ref.ui
css-match-name.ui
css-match-region-matches-star.css
css-match-region-matches-star.ref.ui
css-match-region-matches-star.ui
css-match-regions.css
css-match-regions.ref.ui
css-match-regions.ui
css-match-siblings.css
css-match-siblings.ref.ui
css-match-siblings.ui
css-match-subtype.css
css-match-subtype.ref.ui
css-match-subtype.ui
css-match-type.css
css-match-type.ref.ui
css-match-type.ui
css-multi-state.css reftests: Fix for state propagation changes 2013-06-13 15:31:35 +02:00
css-multi-state.ref.ui reftests: Fix for state propagation changes 2013-06-13 15:31:35 +02:00
css-multi-state.ui reftests: Fix for state propagation changes 2013-06-13 15:31:35 +02:00
entry-progress-coloring.css reftests: never set interior-focus 2014-05-09 11:02:42 -07:00
entry-progress-coloring.ref.ui
entry-progress-coloring.ui
expand-expander.c Add an expander reftest 2014-06-02 22:36:01 -04:00
expander.ref.ui Add an expander reftest 2014-06-02 22:36:01 -04:00
expander.ui Add an expander reftest 2014-06-02 22:36:01 -04:00
fixed-widget-stacking.ref.ui reftests: Add a test for a widget stacking regression 2014-02-28 03:08:11 +01:00
fixed-widget-stacking.ui reftests: Add a test for a widget stacking regression 2014-02-28 03:08:11 +01:00
flipping-icons.ref.ui Add a reftest for flipping icons 2014-06-02 21:41:32 -04:00
flipping-icons.ui Add a reftest for flipping icons 2014-06-02 21:41:32 -04:00
font-sizes-names.css
font-sizes-names.ref.ui
font-sizes-names.ui
green-20x20.png
grid-empty-with-spacing.ref.ui
grid-empty-with-spacing.ui
grid-expand.css
grid-expand.ref.ui
grid-expand.ui
grid-homogeneous.css
grid-homogeneous.ref.ui
grid-homogeneous.ui
grid-spacing1.ref.ui
grid-spacing1.ui
grid-spacing2.ref.ui
grid-spacing2.ui
grid-spacing3.css
grid-spacing3.ref.ui
grid-spacing3.ui
grid-wfh.ref.ui
grid-wfh.ui
gtk-image-effect-inherit.css reftests: I can't count in CSS 2013-09-07 00:23:38 +02:00
gtk-image-effect-inherit.ref.ui reftests: Check that -gtk-image-effect is inherited 2013-09-07 00:21:48 +02:00
gtk-image-effect-inherit.ui reftests: Check that -gtk-image-effect is inherited 2013-09-07 00:21:48 +02:00
gtk-reftest.c Add a way to delay snapshots in reftests 2014-06-02 22:35:59 -04:00
gtk-reftest.h Add a way to delay snapshots in reftests 2014-06-02 22:35:59 -04:00
icon-shadow-no-transform.css reftests: Add a test for recent commits 2014-05-14 04:28:35 +02:00
icon-shadow-no-transform.ref.ui reftests: Add a test for recent commits 2014-05-14 04:28:35 +02:00
icon-shadow-no-transform.ui reftests: Add a test for recent commits 2014-05-14 04:28:35 +02:00
icon-style-basics.css reftests: Add a reftest for -gtk-icon-style 2014-05-14 04:28:34 +02:00
icon-style-basics.ref.ui reftests: Add a reftest for -gtk-icon-style 2014-05-14 04:28:34 +02:00
icon-style-basics.ui reftests: Add a reftest for -gtk-icon-style 2014-05-14 04:28:34 +02:00
icon-vfuncs.css reftests: Fix icon-vfuncs reftest 2014-05-22 22:35:08 +02:00
icon-vfuncs.ref.ui reftests: Fix icon-vfuncs reftest 2014-05-22 22:35:08 +02:00
icon-vfuncs.ui reftests: Fix icon-vfuncs reftest 2014-05-22 22:35:08 +02:00
iconview-empty.css
iconview-empty.ref.ui Fix iconview-empty reftest 2013-06-15 21:31:41 -04:00
iconview-empty.ui
image-load-from-file.css
image-load-from-file.ref.ui
image-load-from-file.ui
info-bar-message-types.css
info-bar-message-types.ref.ui
info-bar-message-types.ui
inherit-and-initial.css
inherit-and-initial.ref.ui Replace all margin-left and margin-right with margin-start and margin-end 2013-11-15 02:54:35 +01:00
inherit-and-initial.ui Replace all margin-left and margin-right with margin-start and margin-end 2013-11-15 02:54:35 +01:00
label-attribute-preference.css reftests: Fix CSS for tests after :link introduction 2013-11-09 16:43:06 +01:00
label-attribute-preference.ref.ui
label-attribute-preference.ui
label-ellipsize-small.ref.ui
label-ellipsize-small.ui
label-ellipsize-with-big.ref.ui
label-ellipsize-with-big.ui
label-shadows.css
label-shadows.ref.ui
label-shadows.ui
label-sizing.css
label-sizing.ref.ui
label-sizing.ui
label-small-ellipsized.ref.ui
label-small-ellipsized.ui
label-width-chars-dont-shrink.ref.ui
label-width-chars-dont-shrink.ui
label-wrap-justify.ref.ui
label-wrap-justify.ui
linear-gradient-transition-to-other.css reftests: Add test for last 2 commits 2013-05-28 15:24:04 +02:00
linear-gradient-transition-to-other.ref.ui reftests: Add test for last 2 commits 2013-05-28 15:24:04 +02:00
linear-gradient-transition-to-other.ui reftests: Add test for last 2 commits 2013-05-28 15:24:04 +02:00
linear-gradient.css
linear-gradient.ref.ui
linear-gradient.ui
link-coloring.css reftests: Add test for new :link and :visited 2013-11-04 16:36:11 +01:00
link-coloring.ref.ui reftests: Add test for new :link and :visited 2013-11-04 16:36:11 +01:00
link-coloring.ui reftests: Add test for new :link and :visited 2013-11-04 16:36:11 +01:00
Makefile.am Add an expander reftest 2014-06-02 22:36:01 -04:00
marble.xpm
messagedialog-secondarytext.ref.ui
messagedialog-secondarytext.ui
misc-alignment.css
misc-alignment.ref.ui
misc-alignment.ui Replace all margin-left and margin-right with margin-start and margin-end 2013-11-15 02:54:35 +01:00
named-colors.css
named-colors.ref.ui
named-colors.ui
no-colors.css
no-colors.ref.ui
no-colors.ui
nonresizable-size.ref.ui
nonresizable-size.ui
notebook-childproperties.css
notebook-childproperties.ref.ui
notebook-childproperties.ui
nth-child.css
nth-child.ref.ui
nth-child.ui
opacity.css
opacity.ref.ui
opacity.ui
paned-undersized.css
paned-undersized.ref.ui
paned-undersized.ui
quit-mnemonic.css
quit-mnemonic.ref.ui
quit-mnemonic.ui
README
reference-background-origin.png
reftest-module.c gtk-reftest: Allow loading code for reftests 2014-05-31 05:19:41 +02:00
reftest-module.h gtk-reftest: Allow loading code for reftests 2014-05-31 05:19:41 +02:00
reftests.test.in testsuite: put installed tests in the right place 2014-05-31 00:16:07 -04:00
reset-to-defaults.css css: Implement "all" shorthand 2014-05-11 03:23:55 +02:00
revealer-extra-size.ref.ui reftests: Add a reftest for the latest fix 2014-02-20 02:10:07 +01:00
revealer-extra-size.ui reftests: Add a reftest for the latest fix 2014-02-20 02:10:07 +01:00
revealer-wrappable-contents.ref.ui reftests: Add reftest for last commit 2014-02-23 15:40:46 +01:00
revealer-wrappable-contents.ui reftests: Add reftest for last commit 2014-02-23 15:40:46 +01:00
rotated-layout.ref.ui
rotated-layout.ui
separator-size.ref.ui Don't use stock APIs in the testsuite 2013-06-24 19:53:08 -04:00
separator-size.ui Don't use stock APIs in the testsuite 2013-06-24 19:53:08 -04:00
set-default-direction.c reftests: Add reftest for direction change 2014-05-31 05:19:41 +02:00
set-default-direction.ref.ui reftests: Add reftest for direction change 2014-05-31 05:19:41 +02:00
set-default-direction.ui reftests: Add reftest for direction change 2014-05-31 05:19:41 +02:00
shorthand-entry-border.css
shorthand-entry-border.ref.ui
shorthand-entry-border.ui
simple.ref.ui
simple.ui
sizegroups-basics.css
sizegroups-basics.ref.ui
sizegroups-basics.ui
sizegroups-evolution-identity-page.ref.ui Replace all margin-left and margin-right with margin-start and margin-end 2013-11-15 02:54:35 +01:00
sizegroups-evolution-identity-page.ui Replace all margin-left and margin-right with margin-start and margin-end 2013-11-15 02:54:35 +01:00
sizegroups-get-preferred-null.ref.ui
sizegroups-get-preferred-null.ui
style-properties-nth-child.css
style-properties-nth-child.ref.ui
style-properties-nth-child.ui
style-properties-only-child.css
style-properties-only-child.ref.ui
style-properties-only-child.ui
symbolic-icon-translucent-color.css reftests: Add a test for the symbolic color fix 2013-10-05 13:57:51 +02:00
symbolic-icon-translucent-color.ref.ui reftests: Add a test for the symbolic color fix 2013-10-05 13:57:51 +02:00
symbolic-icon-translucent-color.ui reftests: Add a test for the symbolic color fix 2013-10-05 13:57:51 +02:00
toplevel-vs-popup.ref.ui
toplevel-vs-popup.ui
treeview-fixed-height.css
treeview-fixed-height.ref.ui
treeview-fixed-height.ui
treeview-headers-hidden.ref.ui
treeview-headers-hidden.ui
unresolvable.css
unresolvable.ref.ui
unresolvable.ui
window-border-width.ref.ui
window-border-width.ui
window-default-size.ref.ui
window-default-size.ui
window-height-for-width.ref.ui reftests: Add test for latest commit 2014-04-29 19:36:26 +02:00
window-height-for-width.ui reftests: Add test for latest commit 2014-04-29 19:36:26 +02:00
window-show-contents-on-map.ref.ui reftests: Add a reftest with signals 2014-05-31 05:19:40 +02:00
window-show-contents-on-map.ui reftests: Add a reftest with signals 2014-05-31 05:19:40 +02:00

gtk-reftest is a new test runner supposed to do a lot of generic tests.
Run it like this:

./gtk-reftest [OPTIONS] TESTFILE [TESTFILES...]

where FILE is a GtkBuilder ui file to run.

For a general test named "test", you want to have the following files:
1) test.ui
2) test.ref.ui
3) test.css (optional)
The test will then check that test.ui and test.ref.ui are rendered
identically with the provided css.

In detail, for every provided TESTFILE the test runner will:
1) Add the css to the default screen
2) Load the test.ui file and the test.ref.ui file
3) Grab the first GtkWindow subclass widget
4) gtk_widget_show() it and take a snapshot image of its contents into
   a cairo surface.
5) Compare the two images to be bitwise identical. If they are not, a
   diff image will be created hilighting the differences.
6) Save the images as png files to the output directory named:
   - test.out.png (rendering of test.ui)
   - test.ref.png (rendering of test.ref.ui)
   - test.diff.png (optional, differences from step 5)
7) Fail the test if the two images are not bitwise identical

Credit for the idea of reftests goes to Mozilla and in particular David
Baron. For a larger introduction of why reftests are useful, see
http://weblogs.mozillazine.org/roc/archives/2008/12/reftests.html