gtk/tests/reftests
Matthias Clasen d4224cd325 GtkGrid: Fix a size allocation problem
We need pay attention the the request mode when doing size allocation.
The code was using request mode for requisition, but orientation
for allocation.

Also add a reftest that exhibits the issue, courtesy of
Benjamin Otte.
2011-06-07 11:05:50 -04:00
..
align-expand.sh reftests: Add a shell script to create tests 2011-05-13 02:46:15 +02:00
alignment-props.css Add an alignment property test 2011-05-05 22:21:59 -04:00
alignment-props.ref.ui Add an alignment property test 2011-05-05 22:21:59 -04:00
alignment-props.ui Add an alignment property test 2011-05-05 22:21:59 -04:00
box-expand.css reftests: Add test for box expand handling 2011-05-05 17:33:04 +02:00
box-expand.ref.ui reftests: Add test for box expand handling 2011-05-05 17:33:04 +02:00
box-expand.ui reftests: Add test for box expand handling 2011-05-05 17:33:04 +02:00
box-packing.css Add a box-packing reftest 2011-05-04 20:40:22 -04:00
box-packing.ref.ui More box<>grid comparison tests 2011-05-05 17:13:28 -04:00
box-packing.ui More box<>grid comparison tests 2011-05-05 17:13:28 -04:00
box-pseudo-classes.css reftests: Test new pseudo-class support in GtkBox 2011-06-02 02:03:50 +02:00
box-pseudo-classes.ref.ui reftests: Test new pseudo-class support in GtkBox 2011-06-02 02:03:50 +02:00
box-pseudo-classes.ui reftests: Test new pseudo-class support in GtkBox 2011-06-02 02:03:50 +02:00
css-match-class.css reftests: Add a test for matching by class 2011-05-18 22:17:56 +02:00
css-match-class.ref.ui reftests: Add a test for matching by class 2011-05-18 22:17:56 +02:00
css-match-class.ui reftests: Add a test for matching by class 2011-05-18 22:17:56 +02:00
css-match-descendant-later.css reftests: Add a test for descendant CSS selectors match 2011-05-18 22:17:56 +02:00
css-match-descendant-later.ref.ui reftests: Add a test for descendant CSS selectors match 2011-05-18 22:17:56 +02:00
css-match-descendant-later.ui reftests: Add a test for descendant CSS selectors match 2011-05-18 22:17:56 +02:00
css-match-exact.css reftests: Add a test ensuring selectors don't match children 2011-05-18 22:17:57 +02:00
css-match-exact.ref.ui reftests: Add a test ensuring selectors don't match children 2011-05-18 22:17:57 +02:00
css-match-exact.ui reftests: Add a test ensuring selectors don't match children 2011-05-18 22:17:57 +02:00
css-match-inherit.css reftests: Check that inherited properties work 2011-05-18 22:17:59 +02:00
css-match-inherit.ref.ui reftests: Check that inherited properties work 2011-05-18 22:17:59 +02:00
css-match-inherit.ui reftests: Check that inherited properties work 2011-05-18 22:17:59 +02:00
css-match-name.css reftests: Add a test for matching by name 2011-05-18 22:17:56 +02:00
css-match-name.ref.ui reftests: Add a test for matching by name 2011-05-18 22:17:56 +02:00
css-match-name.ui reftests: Add a test for matching by name 2011-05-18 22:17:56 +02:00
css-match-region-matches-star.css reftests: Add a test that checks that * matches regions 2011-05-18 22:17:56 +02:00
css-match-region-matches-star.ref.ui reftests: Add a test that checks that * matches regions 2011-05-18 22:17:56 +02:00
css-match-region-matches-star.ui reftests: Add a test that checks that * matches regions 2011-05-18 22:17:56 +02:00
css-match-regions.css reftests: Add a check for matching regions only once 2011-05-18 22:17:56 +02:00
css-match-regions.ref.ui reftests: Add a check for matching regions only once 2011-05-18 22:17:56 +02:00
css-match-regions.ui reftests: Add a check for matching regions only once 2011-05-18 22:17:56 +02:00
css-match-style-property-order.css reftests: Check style property order 2011-05-18 22:17:58 +02:00
css-match-style-property-order.ref.ui reftests: Check style property order 2011-05-18 22:17:58 +02:00
css-match-style-property-order.ui reftests: Check style property order 2011-05-18 22:17:58 +02:00
css-match-subtype.css reftests: Add a test for matching by subtype 2011-05-18 22:17:56 +02:00
css-match-subtype.ref.ui reftests: Add a test for matching by subtype 2011-05-18 22:17:56 +02:00
css-match-subtype.ui reftests: Add a test for matching by subtype 2011-05-18 22:17:56 +02:00
css-match-type.css reftests: Add test to check that matching by type works 2011-05-18 22:17:56 +02:00
css-match-type.ref.ui reftests: Add test to check that matching by type works 2011-05-18 22:17:56 +02:00
css-match-type.ui reftests: Add test to check that matching by type works 2011-05-18 22:17:56 +02:00
entry-progress-coloring.css reftests: Unset background-image in CSS of test 2011-05-18 22:17:56 +02:00
entry-progress-coloring.ref.ui reftests: Add a test for correct entry text clipping in progress drawing 2011-05-03 15:40:49 +02:00
entry-progress-coloring.ui reftests: Add a test for correct entry text clipping in progress drawing 2011-05-03 15:40:49 +02:00
green-20x20.png reftests: Add test to check that matching by type works 2011-05-18 22:17:56 +02:00
grid-expand.css reftests: Add missing css file for grid-expand test 2011-05-05 19:34:31 +02:00
grid-expand.ref.ui reftests: Add a test for grid expand flags 2011-05-05 17:33:04 +02:00
grid-expand.ui reftests: Add a test for grid expand flags 2011-05-05 17:33:04 +02:00
grid-homogeneous.css reftests: Add grid-homogeneous test 2011-05-03 15:40:49 +02:00
grid-homogeneous.ref.ui reftests: Add grid-homogeneous test 2011-05-03 15:40:49 +02:00
grid-homogeneous.ui reftests: Add grid-homogeneous test 2011-05-03 15:40:49 +02:00
grid-spacing1.ref.ui Add some reftests comparing aspects of grid and box spacing 2011-05-11 13:48:00 -04:00
grid-spacing1.ui Add some reftests comparing aspects of grid and box spacing 2011-05-11 13:48:00 -04:00
grid-spacing2.ref.ui Add some reftests comparing aspects of grid and box spacing 2011-05-11 13:48:00 -04:00
grid-spacing2.ui Add some reftests comparing aspects of grid and box spacing 2011-05-11 13:48:00 -04:00
grid-spacing3.css Another grid spacing reftest 2011-05-11 19:52:33 -04:00
grid-spacing3.ref.ui Another grid spacing reftest 2011-05-11 19:52:33 -04:00
grid-spacing3.ui Another grid spacing reftest 2011-05-11 19:52:33 -04:00
grid-wfh.ref.ui GtkGrid: Fix a size allocation problem 2011-06-07 11:05:50 -04:00
grid-wfh.ui GtkGrid: Fix a size allocation problem 2011-06-07 11:05:50 -04:00
gtk-reftest.c reftests: Ensure we got a draw event before quitting the main loop 2011-05-05 17:33:04 +02:00
label-shadows.css reftests: Add label-shadows test 2011-05-22 05:56:12 +02:00
label-shadows.ref.ui reftests: Add label-shadows test 2011-05-22 05:56:12 +02:00
label-shadows.ui reftests: Add label-shadows test 2011-05-22 05:56:12 +02:00
label-sizing.css reftests: Add label-sizing test 2011-05-03 15:40:48 +02:00
label-sizing.ref.ui reftests: Add label-sizing test 2011-05-03 15:40:48 +02:00
label-sizing.ui reftests: Add label-sizing test 2011-05-03 15:40:48 +02:00
label-small-ellipsized.ref.ui tests: Add a test for small ellipsized labels 2011-05-03 15:40:49 +02:00
label-small-ellipsized.ui tests: Add a test for small ellipsized labels 2011-05-03 15:40:49 +02:00
label-wrap-justify.ref.ui reftests: Add testcase for label justify fix 2011-05-05 17:33:44 +02:00
label-wrap-justify.ui reftests: Add testcase for label justify fix 2011-05-05 17:33:44 +02:00
Makefile.am GtkGrid: Fix a size allocation problem 2011-06-07 11:05:50 -04:00
misc-alignment.css reftests: Add CSS file for alignment test 2011-05-09 13:25:36 +02:00
misc-alignment.ref.ui reftests: Modify test to ensure identical output 2011-05-09 01:36:00 +02:00
misc-alignment.ui Fix up the misc-alignment test 2011-05-08 21:28:36 -04:00
no-colors.css reftests: Add a reftest setting all colors to "none" 2011-06-02 02:03:51 +02:00
no-colors.ref.ui reftests: Add a reftest setting all colors to "none" 2011-06-02 02:03:51 +02:00
no-colors.ui reftests: Add a reftest setting all colors to "none" 2011-06-02 02:03:51 +02:00
nonresizable-size.ref.ui reftests: Test that nonresizable windows get the right size 2011-05-03 15:40:49 +02:00
nonresizable-size.ui reftests: Test that nonresizable windows get the right size 2011-05-03 15:40:49 +02:00
paned-undersized.css reftests: Add test for undersized children of GtkPaned 2011-05-10 01:39:14 +02:00
paned-undersized.ref.ui reftests: Add test for undersized children of GtkPaned 2011-05-10 01:39:14 +02:00
paned-undersized.ui reftests: Add test for undersized children of GtkPaned 2011-05-10 01:39:14 +02:00
quit-mnemonic.ref.ui reftests: Add test for low mnemonics 2011-05-03 15:40:49 +02:00
quit-mnemonic.ui reftests: Add test for low mnemonics 2011-05-03 15:40:49 +02:00
README Convert the commit message into a README 2011-05-03 19:37:00 -04:00
rotated-layout.ref.ui reftests: Add a test for the label fix 2011-05-12 23:40:26 +02:00
rotated-layout.ui reftests: Add a test for the label fix 2011-05-12 23:40:26 +02:00
shorthand-entry-border.css reftests: Add a reftest to check shorthands do work 2011-05-22 05:56:12 +02:00
shorthand-entry-border.ref.ui reftests: Add a reftest to check shorthands do work 2011-05-22 05:56:12 +02:00
shorthand-entry-border.ui reftests: Add a reftest to check shorthands do work 2011-05-22 05:56:12 +02:00
simple.ref.ui reftests: Add 2011-05-03 15:40:48 +02:00
simple.ui reftests: Add 2011-05-03 15:40:48 +02:00
toplevel-vs-popup.ref.ui reftests: Actually add toplevel vs popup testcase 2011-05-09 01:10:13 +02:00
toplevel-vs-popup.ui reftests: Actually add toplevel vs popup testcase 2011-05-09 01:10:13 +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