Commit Graph

302 Commits

Author SHA1 Message Date
Benjamin Otte
4a9fa1e750 css: Add API to handle order when printing calc()
Also, add some tests and update old ones to print calc() statements
correctly.
2016-02-13 04:49:08 +01:00
Benjamin Otte
65dd9da44a css: Add support for sums to calc()
This requires adding code to do math on number values:
  gtk_css_number_value_multiply()
and
  gtk_css_number_value_try_add()
were added to achieve that.

Some tests are included.
2016-02-13 04:49:08 +01:00
Benjamin Otte
cd6dc954f2 css: Add initial support for calc()
So far, calc() only supports literals, ie it's completely useless.
2016-02-13 04:49:08 +01:00
Matthias Clasen
e0f31ab7bb Add css node tests for box packing
More tests to ensure that CSS node order is always physical
left-to-right.
2016-02-08 09:34:19 +01:00
Matthias Clasen
4a465e6832 Fix levelbar css node tests
These were affected by the recent change to level offset handling.
At the same time, make the test files more realistic by updating
the level offsets when we set a custom range.
2016-02-07 11:43:13 +01:00
Benjamin Otte
0c12601208 cssimageradial: Only allow at "<position>" after other props
Don't allow syntax like
  at top left circle
but follow the spec about requiring the at <position> right before the
comma.

This is porbably because
  circle at 10px 10px
could be interpreted as
  circle 10px at 10px
with the now disallowed syntax, too.

Test included.
2016-02-05 19:31:47 +01:00
Benjamin Otte
982da040b2 cssimageradial: Only emit one error for wrong position
Test included.
2016-02-05 19:31:47 +01:00
Matthias Clasen
f2e08d3a9c css tests: Fix style tests
Commit d0fd7990c3 changed
the location of builtin themes, breaking the loading of
the empty theme in test-css-style.
2016-02-05 16:35:43 +01:00
Matthias Clasen
132abb8749 css tests: Fix expected output
This is fallout from f7ec9c98ef.
2016-02-05 16:35:43 +01:00
Matthias Clasen
586522d83c Use TAP output for installed tests 2016-01-30 11:04:22 -05:00
Matthias Clasen
f887fec55c Add a css style test for color names
Verify that we support all the css color names, with their expected
rgb values.
2016-01-29 18:23:25 -05:00
Matthias Clasen
8cbe309f36 css node tests: Update expected output
The entry undershoot change needs to be reflected in the
test output.
2016-01-27 13:23:58 -05:00
Matthias Clasen
7097a4ed64 Fix another quoting error in installed tests
Same as the previous one. I should fix my silly mistakes before
copying them around...
2016-01-25 13:02:13 -05:00
Matthias Clasen
cce493493c testsuite: Fix a quoting error
This was breaking continous testing. Oops.
2016-01-25 10:56:19 -05:00
Matthias Clasen
bb92428112 notebook: Implement rtl flipping for CSS nodes
Use gtk_box_gadget_reverse_children and gtk_css_node_reverse_children
to flip the children of the header_gadget and the tabs_gadget when
appropriate.

Add new CSS node tests to verify that the node order is updated
as expected in all cases.
2016-01-19 21:40:47 -05:00
Matthias Clasen
c24c56a143 Forgotten file 2016-01-18 09:41:46 -05:00
Matthias Clasen
65ae48d707 Add more CSS node tests for notebooks 2016-01-18 07:41:33 -05:00
Matthias Clasen
83eb36a896 Add CSS node tests for checkbutton rtl flipping 2016-01-18 00:29:29 -05:00
Matthias Clasen
121aec6de8 Add css node tests for expander rtl flipping 2016-01-18 00:24:53 -05:00
Matthias Clasen
2ec16c9f91 Add css node tests for right-to-left levelbars 2016-01-13 13:39:41 -05:00
Matthias Clasen
a0fdbff938 Add css node tests for paned node ordering 2016-01-13 00:41:44 -05:00
Matthias Clasen
e386fcae04 Update expected output of notebook css node test
The stack node is new.
2016-01-13 00:26:48 -05:00
Matthias Clasen
6d239cfba7 Add a css style test for adjacent states
This test checks that the selector E:state + F works as expected.

https://bugzilla.gnome.org/show_bug.cgi?id=722727
2016-01-10 14:51:36 -05:00
Matthias Clasen
d76fb63ba8 Add a test for ltr vs rtl boxes.
This tests that horizontal boxes flip their child nodes
according to text direction to maintain the left-to-right
ordering of child nodes for both text directions.
2016-01-06 14:57:42 -05:00
Matthias Clasen
a519a1a928 CSS node tests: Add a way to test rtl vs ltr
CSS nodes have a linear sibling relationship; this is supposed
to correspond to left-to-right placement in horizontal arrangements.
This commit explicitly sets the text direction to rtl if the
filename ends in .rtl.ui, so we can test differences in node
tree layout between text directions.
2016-01-06 14:57:42 -05:00
Matthias Clasen
d9a70bc56a Add a CSS style test for gradients
This mainly just tests that gradients are properly
reproduced by gtk_style_context_to_string.
2016-01-04 13:59:48 -05:00
Matthias Clasen
fcea12f790 Add some tests for radial gradient parsing
These are the examples from the CSS spec.
2016-01-04 13:59:24 -05:00
Matthias Clasen
d8e1fd6079 Update expected output
The previous commit changed the format of the output
generated by the CSS style tests.
2016-01-03 17:23:59 -05:00
Matthias Clasen
e1634d18de Update expected output for CSS style tests
The format for CSS values changed slightly in one of the
previous commits.
2016-01-03 15:41:09 -05:00
Matthias Clasen
3c26aef826 Use a custom theme for CSS style tests
Use a custom, empty theme and stop importing reset-to-defaults.css.
This avoids overwriting initial values, so our initial value
filtering works better.
2016-01-03 15:39:55 -05:00
Matthias Clasen
d0e648d4f6 Update expected output for node and style tests
The previous commit changed the format of the output.
2016-01-03 14:41:43 -05:00
Cosimo Cecchi
28e185dd1b tests: fix Makefile.am syntax
It requires a tab character, or the build will fail.
2016-01-03 11:33:19 -08:00
Matthias Clasen
489928cbb4 Fix the build 2016-01-03 12:05:57 -05:00
Matthias Clasen
f7a93c015c Forgotten file
I forgot to add this file to source control when the new tests
were initially added.
2016-01-03 12:02:11 -05:00
Matthias Clasen
ed5ebc0711 Add a css style test for currentColor 2016-01-03 09:19:31 -05:00
Matthias Clasen
33be60b0ab Add a css style test for inherit and initial 2016-01-03 09:19:31 -05:00
Matthias Clasen
1ec34ae085 Add a css style test for :first/last/only-child 2016-01-03 09:19:31 -05:00
Matthias Clasen
82a571e0ca Add a css style test for font inheritance 2016-01-03 09:19:31 -05:00
Matthias Clasen
905ab53c71 Add a test framework for CSS styles
This uses the same function for dumping CSS nodes and styles
as the CSS node test. It can be used to test aspects of inheritance
and matching, as well as initial values.

No actual tests yet.
2016-01-03 09:19:31 -05:00
Matthias Clasen
864693e5aa Add CSS node tests for levelbars 2016-01-03 09:19:31 -05:00
Matthias Clasen
0ce5075748 Add CSS node test for progressbars 2016-01-03 09:19:31 -05:00
Matthias Clasen
5c4efb09e2 Add a CSS node test for buttons 2016-01-03 09:19:31 -05:00
Matthias Clasen
78d715af22 Add a CSS node test for entries 2016-01-03 09:19:30 -05:00
Matthias Clasen
669ced3984 Add a CSS node test for notebooks 2016-01-03 09:19:30 -05:00
Matthias Clasen
d2c1203ef1 Add a test framework for CSS nodes
No actual tests yet.
2016-01-03 09:19:30 -05:00
Matthias Clasen
2b27096fc3 Fix outline-radius css parser test
The outline-radius properties all got a -gtk prefix.
2015-12-27 17:32:45 -05:00
Matthias Clasen
ab182126df Fix the pseudo-classes-known css test
The test needs to be updated for the renamed :dnd pseudo class.
We also need to add a .errors file for the deprecation errors
that we are now producing.
2015-12-27 17:32:30 -05:00
Matthias Clasen
c4ca671a9e test-css-parser: Add a way to generate output
Use test-css-parser --generate foo.css to see the parser
output on stdout. This makes it more convenient to add new
css files to the testsuite.
2015-12-27 17:26:45 -05:00
Matthias Clasen
d0d8671c02 Forgotten files 2015-12-23 01:57:22 -05:00
Matthias Clasen
ef71eabfc5 Add parser tests for animation properties
This adds tests for animation-name, animation-duration,
animation-timing-function, animation-iteration-count,
animation-direction, animation-play-state, animation-delay
and animation-fill-mode.
2015-12-22 22:29:38 -05:00
Matthias Clasen
8f44383253 Add a parser tests for transition properties
This adds tests for transition-property, transition-delay
and transition-timing-function.
2015-12-22 22:29:38 -05:00
Matthias Clasen
2b6ab1b8bd Add parser tests for min-width and min-height 2015-12-22 22:29:38 -05:00
Matthias Clasen
a0487f0516 Add parser tests for border-image properties
This adds tests for border-image-source, border-image-repeat,
border-image-slice and border-image-width.
2015-12-22 22:29:38 -05:00
Matthias Clasen
5c704621ac Fix import css parser tests
Don't use nonexisting properties here either
2015-12-21 16:33:50 -05:00
Matthias Clasen
31f319d1c7 css parser test: Drop remaining made-up properties
These are not used anymore in any tests, and the css parser
doesn't support parsing custom properties anymore.
2015-12-21 14:53:09 -05:00
Matthias Clasen
ece3d33858 Fix css parser integer test
Use margin-top instead of a made-up property.
2015-12-21 14:52:06 -05:00
Matthias Clasen
ce859a7c65 Update css parser value none test
The test is affected by icon-shadow being renamed and by
engine being deprecated.
2015-12-21 14:44:00 -05:00
Matthias Clasen
0fb84c5a68 Fix the css parser value initial test
This was affected by the recent renaming of icon-shadow to
-gtk-icon-shadow. Also, it produces an error now because
engine is deprecated.
2015-12-21 14:37:09 -05:00
Matthias Clasen
474f5b7784 Fix the css parser value inherit test
This was affected by the recent renaming of icon-shadow to
-gtk-icon-shadow. Also, it produces an error now because
engine is deprecated.
2015-12-21 14:35:11 -05:00
Matthias Clasen
db094092ae Update font-weight css parser test
This is affected by the recent fix for parsing font-weight.
2015-12-21 14:32:01 -05:00
Matthias Clasen
ea651dcd31 Update font-family css parser test
There are no errors here.
2015-12-21 14:31:10 -05:00
Matthias Clasen
b931821f5e Update the css parser unknown pseudo-class test
Use an existing property instead of a made-up one.
2015-12-21 14:29:17 -05:00
Matthias Clasen
8ff127940f Update the css parser selector test
Use an existing property instead of the made-up one, here.
2015-12-21 14:27:52 -05:00
Matthias Clasen
1f298c385f Drop the css parser enum test
We are no longer using and non-css properties, and css enums
are all parsed with custom code.
2015-12-21 14:25:46 -05:00
Matthias Clasen
e567f23bcd Update another css parser test
This test was using the engine property, which has
been deprecated and thus generates an error now.
Instead, use the font property.
2015-12-21 14:18:51 -05:00
Matthias Clasen
dcc3dd1211 Update css parser test for declarations
Use existing CSS properties instead of made-up ones.
2015-12-21 14:14:36 -05:00
Matthias Clasen
0035d526c3 test-css-parser: Drop unused property
The rgba-property is no longer used in any tests, drop it.
2015-12-21 14:11:10 -05:00
Matthias Clasen
6eb4102bf2 Update css parser tests for colors
Use the color property instead of a made-up rgba-valued property.
2015-12-21 14:10:20 -05:00
Matthias Clasen
a21025e096 test-css-parser: Drop unused property
The border-property is no longer used in any tests, drop it.
2015-12-21 14:07:08 -05:00
Matthias Clasen
b56980eba2 Update css parser test for borders
Use the border-image-width property instead of a made-up
border-valued property.
2015-12-21 14:06:07 -05:00
Matthias Clasen
0c9c6b882e Update border-radius-shorthand tests
The name of the css file is in the error output, so we
have to update that after the file was recently renamed.
2015-12-21 14:01:03 -05:00
Matthias Clasen
01f2d4dd0f Update pseudo-class test
We have some more pseudo-classes now, and some are printed
out with their CSS name.
2015-12-21 13:59:24 -05:00
Matthias Clasen
6d86ce516d test-css-parser: Drop unused properties
We don't have any tests involving these style
properties, so don't install those.
2015-12-21 13:57:26 -05:00
Matthias Clasen
a5ccef7470 Don't test parsing boolean values in css
CSS doesn't have any boolean properties.
2015-12-21 13:51:23 -05:00
Matthias Clasen
698fe18521 Add missing tests to Makefile.am 2015-12-21 06:58:29 -05:00
Matthias Clasen
3daeb70182 Fix the build 2015-12-21 06:45:32 -05:00
Matthias Clasen
d081b309d5 Add some css parser tests
These tests exercise many allowed ways to specify various
properties.
2015-12-21 06:28:25 -05:00
Matthias Clasen
cbde3ee01f css: Add a :dnd pseudoclass
This will be used for drag highlighting.
2015-12-02 23:23:36 -05:00
Matthias Clasen
8640216be7 Add a test for deprecated css properties 2015-11-23 22:31:20 -05:00
Benjamin Otte
7b6c68adc6 testsuite: Fix test that was committed in a broken state
1) Use font-size instead of color
This makes it easier to compare reference and test because the values
don't change.

2) Actually sort the reference properly
This unbreaks the test.
2014-12-01 04:05:44 +01:00
Benjamin Otte
06952d807a testsuite: Add a bunch of parsing tests for :not() 2014-11-25 19:33:18 +01:00
Matthias Clasen
e014b89310 Move gtkthemingengine to deprecated directory
This is the place for wholly-deprecated sources.
2014-08-29 16:35:37 -04:00
Emmanuele Bassi
5ad60caa3c css: Implement font-stretch
The font-stretch CSS property is defined in the Level 3 CSS Fonts
module, available at:

  http://dev.w3.org/csswg/css-fonts/#propdef-font-stretch

It allows defining a normal, condensed, or expanded face to the font
description. Pango already supports it, so this is literally just the
CSS parser machinery needed to bridge our CSS to the FontDescription
API.

https://bugzilla.gnome.org/show_bug.cgi?id=735593
2014-08-28 13:41:40 +01:00
Benjamin Otte
36a2e7ca8e css: Add a :checked pseudoclass
https://bugzilla.gnome.org/show_bug.cgi?id=733967
2014-08-16 16:34:14 +02:00
Benjamin Otte
d6e9997619 css: Fail animation shorthand parsing properly
When a number is not a nubmer, don't just crash, exit properly with an
error code.

See attached testcase for an example.
2014-07-31 10:03:19 +02:00
Benjamin Otte
5f5d3a9d82 css: Don't infloop when parsing broken borders
There was an infinite loop when parsing invalid text after having parsed
a color in the border shorthand. See attached testcase for an example.
2014-07-31 10:03:18 +02:00
Matthias Clasen
c10ddf8ec8 Install a missing file
This was causing the css parser tests to fail in continuous.
2014-07-21 22:05:15 -04:00
Benjamin Otte
3661756070 testsuite: Add test for pseudoclasses
They should all be printable.
2014-07-21 19:54:14 +02:00
Benjamin Otte
0b2198a26b testsuite: Add parser test for recent fix
The test doesn't crash without the fix, but it parses the CSS
incorrectly and fails.
2014-07-07 14:26:06 +02:00
Benjamin Otte
aeac92a497 testsuite: Add test for latest commit 2014-06-17 00:01:25 +02:00
Benjamin Otte
6affe29c9a testsuite: Add missing errors file
The file was forgotten in 98954bd1d1 and
caused test failure. Oops.
2014-06-11 01:18:04 +02:00
Benjamin Otte
98954bd1d1 testsuite: Add a test for recent fix 2014-06-10 01:07:57 +02:00
Matthias Clasen
98cf67ddba testsuite: put installed tests in the right place
Follow the prevailing practice and put the installed tests
into $libdir/installed-tests/$PACKAGE instead of
$pkglibdir/installed-tests.
2014-05-31 00:16:07 -04:00
Benjamin Otte
b90802f7e4 css: Actually break at end of the string
Introduced in 65c4c1555d.

Found by gnome-continuous running the testsuite.

Includes fixing a broken test in the testsuite.
2014-05-22 02:13:49 +02:00
Benjamin Otte
3aa357bcab tests: Add test for latest patch
This tesst infloops without it.
2014-05-05 15:48:02 +02:00
Benjamin Otte
947cac2b85 testsuite: Don't leak in test runner 2014-02-23 15:40:46 +01:00
Jasper St. Pierre
4e09b56b76 testsuite: Ignore generated .test files 2013-07-11 12:57:06 -04:00
Matthias Clasen
c8a392612b Use g_test_get_dir in test to locate files
This makes the tests work both installed and for make check.
2013-05-29 21:37:05 -04:00
Matthias Clasen
0d768ee8a8 Make sure we dist all testsuite ingredients 2013-05-29 21:00:37 -04:00
Benjamin Otte
7c26980f3e tests: Install tests/css/parser 2013-05-21 13:11:10 +02:00
Benjamin Otte
12953f20b3 tests: Install testsuite/css 2013-05-21 13:11:10 +02:00
Benjamin Otte
edde840513 build: Move tests/css to testsuite/css 2013-05-15 15:37:17 +02:00