gtk2/testsuite/reftests
2017-10-31 03:05:54 +01:00
..
721800-0px-dotted-border.css
721800-0px-dotted-border.ref.ui
721800-0px-dotted-border.ui
actionbar.css
actionbar.ref.ui
actionbar.ui
align-expand.sh label: Remove angle property 2017-04-25 20:30:37 +02:00
animation-direction.c
animation-direction.css
animation-direction.ref.ui
animation-direction.ui
animation-fill-mode-iteration-count.css
animation-fill-mode-iteration-count.ref.ui
animation-fill-mode-iteration-count.ui
background-area.css
background-area.ref.ui
background-area.ui
background-blend-mode-clip-interaction.css
background-blend-mode-clip-interaction.ref.ui
background-blend-mode-clip-interaction.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
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-corner-zero-width-rendering.css
border-corner-zero-width-rendering.ref.ui
border-corner-zero-width-rendering.ui
border-half-pixel.css
border-half-pixel.ref.ui
border-half-pixel.ui
border-image-3-balls-green-squished.png
border-image-3-balls-green.png
border-image-3-balls-yellow-squished.png
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-url-scaled.css
border-image-url-scaled.ref.ui
border-image-url-scaled.ui
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
border-rgb@2.png
border-style-none.css
border-style-none.ref.ui
border-style-none.ui
border-style.css
border-style.ref.ui
border-style.ui
box-order.css
box-order.ref.ui box: Remove fill child property 2017-04-25 20:30:37 +02:00
box-order.ui box: Remove fill child property 2017-04-25 20:30:37 +02:00
box-packing.css
box-packing.ref.ui reftests: Remove event box usage 2017-08-02 11:34:57 +01:00
box-packing.ui reftests: Remove event box usage 2017-08-02 11:34:57 +01:00
box-pseudo-classes.css
box-pseudo-classes.ref.ui box: Remove fill child property 2017-04-25 20:30:37 +02:00
box-pseudo-classes.ui box: Remove fill child property 2017-04-25 20:30:37 +02:00
box-shadow-changes-modify-clip.css
box-shadow-changes-modify-clip.ref.ui
box-shadow-changes-modify-clip.ui box: Remove fill child property 2017-04-25 20:30:37 +02:00
box-shadow-spec-inset.css
box-shadow-spec-inset.ref.ui
box-shadow-spec-inset.ui
box-shadow-spread.css
box-shadow-spread.ref.ui
box-shadow-spread.ui
box-shadow-with-blend-mode.css
box-shadow-with-blend-mode.ref.ui
box-shadow-with-blend-mode.ui
button-wrapping.ref.ui box: Remove fill child property 2017-04-25 20:30:37 +02:00
button-wrapping.ui box: Remove fill child property 2017-04-25 20:30:37 +02:00
color-transition.css
color-transition.ref.ui
color-transition.ui
css-currentcolor-alpha.css
css-currentcolor-alpha.ref.ui
css-currentcolor-alpha.ui
css-em-label-size.css
css-em-label-size.ref.ui box: Remove fill child property 2017-04-25 20:30:37 +02:00
css-em-label-size.ui box: Remove fill child property 2017-04-25 20:30:37 +02:00
css-image-aspect-ratio.css
css-image-aspect-ratio.ref.ui
css-image-aspect-ratio.ui
css-image-color-aspect-ratio.css
css-image-color-aspect-ratio.ref.ui
css-image-color-aspect-ratio.ui
css-match-class.css
css-match-class.ref.ui
css-match-class.ui
css-match-descendant-later.css reftests: Remove event box usage 2017-08-02 11:34:57 +01:00
css-match-descendant-later.ref.ui reftests: Remove event box usage 2017-08-02 11:34:57 +01:00
css-match-descendant-later.ui reftests: Remove event box usage 2017-08-02 11:34:57 +01:00
css-match-exact.css reftests: Remove event box usage 2017-08-02 11:34:57 +01:00
css-match-exact.ref.ui
css-match-exact.ui reftests: Remove event box usage 2017-08-02 11:34:57 +01:00
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-siblings.css
css-match-siblings.ref.ui box: Remove fill child property 2017-04-25 20:30:37 +02:00
css-match-siblings.ui box: Remove fill child property 2017-04-25 20:30:37 +02:00
css-match-type.css
css-match-type.ref.ui
css-match-type.ui
css-multi-state.css
css-multi-state.ref.ui
css-multi-state.ui
css-rem-label-size.css
css-rem-label-size.ref.ui
css-rem-label-size.ui
expand-expander.c
expander.ref.ui
expander.ui
fixed-widget-stacking.ref.ui
fixed-widget-stacking.ui box: Remove fill child property 2017-04-25 20:30:37 +02:00
flipping-icons.ref.ui
flipping-icons.ui
font-sizes-names.css
font-sizes-names.ref.ui box: Remove fill child property 2017-04-25 20:30:37 +02:00
font-sizes-names.ui box: Remove fill child property 2017-04-25 20:30:37 +02:00
frame-inhibitor.c
green-20x20.png
grid-empty-with-spacing.ref.ui
grid-empty-with-spacing.ui
grid-expand.css reftests: Remove event box usage 2017-08-02 11:34:57 +01:00
grid-expand.ref.ui reftests: Remove event box usage 2017-08-02 11:34:57 +01:00
grid-expand.ui reftests: Remove event box usage 2017-08-02 11:34:57 +01:00
grid-homogeneous.css
grid-homogeneous.ref.ui reftests: Remove event box usage 2017-08-02 11:34:57 +01:00
grid-homogeneous.ui reftests: Remove event box usage 2017-08-02 11:34:57 +01:00
grid-spacing1.ref.ui box: Remove fill child property 2017-04-25 20:30:37 +02:00
grid-spacing1.ui
grid-spacing2.ref.ui label: Remove angle property 2017-04-25 20:30:37 +02:00
grid-spacing2.ui label: Remove angle property 2017-04-25 20:30:37 +02:00
grid-spacing3.css reftests: Remove event box usage 2017-08-02 11:34:57 +01:00
grid-spacing3.ref.ui reftests: Remove event box usage 2017-08-02 11:34:57 +01:00
grid-spacing3.ui reftests: Remove event box usage 2017-08-02 11:34:57 +01:00
grid-wfh.ref.ui
grid-wfh.ui
gtk-icontheme-sizing.css
gtk-icontheme-sizing.ref.ui
gtk-icontheme-sizing.ui
gtk-image-effect-inherit.css
gtk-image-effect-inherit.ref.ui box: Remove fill child property 2017-04-25 20:30:37 +02:00
gtk-image-effect-inherit.ui box: Remove fill child property 2017-04-25 20:30:37 +02:00
gtk-reftest.c stylecontext: Port to use display instead of screen 2017-10-31 03:05:54 +01:00
gtk-reftest.h
icon-effect-missing.css
icon-effect-missing.ref.ui box: Remove fill child property 2017-04-25 20:30:37 +02:00
icon-effect-missing.ui box: Remove fill child property 2017-04-25 20:30:37 +02:00
icon-shadow-no-transform.css
icon-shadow-no-transform.ref.ui
icon-shadow-no-transform.ui
icon-style-basics.css
icon-style-basics.ref.ui
icon-style-basics.ui
icon-vfuncs.css
icon-vfuncs.ref.ui
icon-vfuncs.ui
iconview-empty.css
iconview-empty.ref.ui
iconview-empty.ui
image-icon-name-use-fallback.ref.ui
image-icon-name-use-fallback.ui
image-icon-shadow-clipping.css
image-icon-shadow-clipping.ref.ui
image-icon-shadow-clipping.ui box: Remove fill child property 2017-04-25 20:30:37 +02:00
image-load-from-file.css
image-load-from-file.ref.ui box: Remove fill child property 2017-04-25 20:30:37 +02:00
image-load-from-file.ui box: Remove fill child property 2017-04-25 20:30:37 +02:00
image-recording-surface.c
image-recording-surface.ref.ui
image-recording-surface.ui
info-bar-message-types.css
info-bar-message-types.ref.ui
info-bar-message-types.ui box: Remove fill child property 2017-04-25 20:30:37 +02:00
inherit-and-initial.css
inherit-and-initial.ref.ui box: Remove fill child property 2017-04-25 20:30:37 +02:00
inherit-and-initial.ui box: Remove fill child property 2017-04-25 20:30:37 +02:00
label-attribute-preference.css
label-attribute-preference.ref.ui
label-attribute-preference.ui
label-background.css
label-background.ref.ui
label-background.ui box: Remove fill child property 2017-04-25 20:30:37 +02:00
label-box-shadow-clip.css
label-box-shadow-clip.ref.ui
label-box-shadow-clip.ui
label-clipping.css
label-clipping.ref.ui
label-clipping.ui box: Remove fill child property 2017-04-25 20:30:37 +02:00
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: Remove angle property 2017-04-25 20:30:37 +02:00
label-shadows.ui label: Remove angle property 2017-04-25 20:30:37 +02:00
label-sizing.css
label-sizing.ref.ui
label-sizing.ui
label-small-ellipsized.ref.ui
label-small-ellipsized.ui
label-text-shadow-changes-modify-clip.css
label-text-shadow-changes-modify-clip.ref.ui
label-text-shadow-changes-modify-clip.ui box: Remove fill child property 2017-04-25 20:30:37 +02:00
label-text-shadow-clipping.css
label-text-shadow-clipping.ref.ui
label-text-shadow-clipping.ui box: Remove fill child property 2017-04-25 20:30:37 +02:00
label-width-chars-dont-shrink.ref.ui box: Remove fill child property 2017-04-25 20:30:37 +02:00
label-width-chars-dont-shrink.ui box: Remove fill child property 2017-04-25 20:30:37 +02:00
label-wrap-justify.ref.ui
label-wrap-justify.ui
letter-spacing.c
letter-spacing.css
letter-spacing.ref.ui
letter-spacing.ui
linear-gradient-transition-to-other.css
linear-gradient-transition-to-other.ref.ui
linear-gradient-transition-to-other.ui
linear-gradient.css
linear-gradient.ref.ui box: Remove fill child property 2017-04-25 20:30:37 +02:00
linear-gradient.ui box: Remove fill child property 2017-04-25 20:30:37 +02:00
link-coloring.css
link-coloring.ref.ui box: Remove fill child property 2017-04-25 20:30:37 +02:00
link-coloring.ui box: Remove fill child property 2017-04-25 20:30:37 +02:00
marble.xpm
meson.build meson: Use libexecdir option 2017-05-10 11:37:40 +01:00
messagedialog-secondarytext.ref.ui
messagedialog-secondarytext.ui
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
notebook-tab-position.css
notebook-tab-position.ref.ui
notebook-tab-position.ui
nth-child.css
nth-child.ref.ui
nth-child.ui box: Remove fill child property 2017-04-25 20:30:37 +02:00
opacity-initial.css
opacity-initial.ref.ui
opacity-initial.ui
opacity.css
opacity.ref.ui reftests: Remove event box usage 2017-08-02 11:34:57 +01:00
opacity.ui reftests: Remove event box usage 2017-08-02 11:34:57 +01:00
overlay-no-main-widget.ref.ui
overlay-no-main-widget.ui
paned-undersized.css reftests: Remove event box usage 2017-08-02 11:34:57 +01:00
paned-undersized.ref.ui reftests: Remove event box usage 2017-08-02 11:34:57 +01:00
paned-undersized.ui reftests: Remove event box usage 2017-08-02 11:34:57 +01:00
pseudoclass-on-box.css
pseudoclass-on-box.ref.ui box: Remove fill child property 2017-04-25 20:30:37 +02:00
pseudoclass-on-box.ui box: Remove fill child property 2017-04-25 20:30:37 +02:00
pseudoclass-on-parent.css
pseudoclass-on-parent.ref.ui
pseudoclass-on-parent.ui
quit-mnemonic.css
quit-mnemonic.ref.ui
quit-mnemonic.ui
README
reference-background-origin.png
reftest-compare.c
reftest-compare.h
reftest-module.c
reftest-module.h
reftest-snapshot.c testsuite: Use GdkEvent API 2017-09-19 18:39:03 +02:00
reftest-snapshot.h
reftests-dark.test.in
reftests-hc.test.in
reftests-hci.test.in
reftests.test.in
repeating-radial-gradient-at-beginning.css
repeating-radial-gradient-at-beginning.ref.ui
repeating-radial-gradient-at-beginning.ui
reset-to-defaults.css
revealer-extra-size.ref.ui
revealer-extra-size.ui
revealer-wrappable-contents.ref.ui
revealer-wrappable-contents.ui
rotated-layout.ref.ui label: Remove angle property 2017-04-25 20:30:37 +02:00
rotated-layout.ui label: Remove angle property 2017-04-25 20:30:37 +02:00
separator-size.css
separator-size.ref.ui
separator-size.ui box: Remove fill child property 2017-04-25 20:30:37 +02:00
set-default-direction.c
set-default-direction.ref.ui
set-default-direction.ui
shadow-clip-rounding.css
shadow-clip-rounding.ref.ui
shadow-clip-rounding.ui
shorthand-entry-border.css
shorthand-entry-border.ref.ui
shorthand-entry-border.ui
sibling-pseudoclasses.css
sibling-pseudoclasses.ref.ui box: Remove fill child property 2017-04-25 20:30:37 +02:00
sibling-pseudoclasses.ui box: Remove fill child property 2017-04-25 20:30:37 +02:00
simple.ref.ui reftests: Remove event box usage 2017-08-02 11:34:57 +01:00
simple.ui reftests: Remove event box usage 2017-08-02 11:34:57 +01:00
sizegroups-basics.css
sizegroups-basics.ref.ui
sizegroups-basics.ui
sizegroups-evolution-identity-page.ref.ui
sizegroups-evolution-identity-page.ui box: Remove fill child property 2017-04-25 20:30:37 +02:00
sizegroups-get-preferred-null.ref.ui
sizegroups-get-preferred-null.ui
statusbar-remove-all.c
statusbar-remove-all.ref.ui
statusbar-remove-all.ui
style-context-save-inheritance.css
style-context-save-inheritance.ref.ui
style-context-save-inheritance.ui
style-properties-nth-child.css
style-properties-nth-child.ref.ui
style-properties-nth-child.ui box: Remove fill child property 2017-04-25 20:30:37 +02:00
style-properties-only-child.css
style-properties-only-child.ref.ui box: Remove fill child property 2017-04-25 20:30:37 +02:00
style-properties-only-child.ui box: Remove fill child property 2017-04-25 20:30:37 +02:00
symbolic-icon-translucent-color.css
symbolic-icon-translucent-color.ref.ui
symbolic-icon-translucent-color.ui
textview-border-windows.c
textview-border-windows.css
textview-border-windows.ref.ui
textview-border-windows.ui
textview-margins.css
textview-margins.ref.ui
textview-margins.ui
textview-tags.c
textview-tags.css
textview-tags.ref.ui
textview-tags.ui
toplevel-vs-popup.ref.ui
toplevel-vs-popup.ui
treeview-crash-too-wide.ref.ui
treeview-crash-too-wide.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 box: Remove fill child property 2017-04-25 20:30:37 +02:00
window-height-for-width.ui box: Remove fill child property 2017-04-25 20:30:37 +02:00
window-show-contents-on-map.ref.ui
window-show-contents-on-map.ui

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