Matthias Clasen
1bd208d937
Merge branch 'wip/alice/colors' into 'main'
...
Add modern rgb() and hsl() syntax
See merge request GNOME/gtk!7278
2024-05-21 14:50:08 +00:00
Alice Mikhaylenko
b70bcd6bfe
csscolorvalue: Add modern rgb() and hsl() syntax
...
Make calc() work in colors too, since we need to support degrees for hsl()
hue anyway and it goes through the same machinery. Make that work for
legacy syntax too, matching the spec.
Ignore missing components/none for now.
Ignore gdk_rgba_parser_parse(), that's also used outside css.
2024-05-21 16:32:52 +04:00
Matthias Clasen
ed889b951b
css: Deprecate named colors
...
Warn for uses of @name colors, since these should be replaced with
CSS variables and custom properties. We don't issue deprecation
warnings for @define-color uses, since we may want to keep these
around in theme CSS for a while, for backwards compatibility.
Update all affected tests.
2024-05-20 16:19:30 -04:00
Matthias Clasen
2aeb80f490
Merge branch 'ccs-math' into 'main'
...
css: Implement math functions
See merge request GNOME/gtk!7249
2024-05-20 14:40:48 +00:00
Matthias Clasen
a19d0471e9
Merge branch 'css-var-syntax-errors' into 'main'
...
css: Report some var() syntax errors
See merge request GNOME/gtk!7264
2024-05-20 12:21:18 +00:00
Matthias Clasen
8b653f21cc
Drop more underscores
...
Drop the remaining _'s from css number value apis.
2024-05-19 17:27:37 -04:00
Matthias Clasen
4e6759a126
css: Implement math functions
...
Implement the functions described in the "Mathematical
Expressions" section of the "CSS Values and Units Module
Level 4" spec, https://www.w3.org/TR/css-values-4/ .
Beyond calc(), which we already had, this includes
min(), max(), clamp(),
round(), rem(), mod(),
sin(), cos(), tan(), asin(), acos(), atan(), atan2(),
pow(), sqrt(), hypot(), log(), exp(),
abs(), sign(),
e, pi, infinity and NaN.
Some tests included.
2024-05-19 17:27:37 -04:00
Matthias Clasen
f5d69fa0c5
css: Add some more variables tests
...
Add a test mixing color expressions with variables, and
empty fallback values.
2024-05-19 16:39:02 -04:00
Matthias Clasen
b60c60f03b
css: Report some var() syntax errors
...
Detect cases such as var(), var(-), var("a") or var(21) early
and report them as syntax errors.
Test included.
Related: #6715
2024-05-19 15:56:26 -04:00
Matthias Clasen
25db645f65
css: Lose some underscores
...
Drop the _ from all the gtk_css_value apis.
2024-05-15 20:54:43 -04:00
Matthias Clasen
76299396cf
testsuite: Improve test-css-parser
...
Make it so that --generate parse produces output that can be
directly pasted into the ref.css file.
2024-05-13 10:04:28 -04:00
Alice Mikhaylenko
0cd95951e6
testsuite: Add css variables tests
2024-05-10 18:29:48 +04:00
Alice Mikhaylenko
ed35f6f8b8
css: Condense compute parameters into GtkCssComputeContext
...
That list is getting out of hand, let's make it a struct.
2024-05-10 18:29:47 +04:00
Matthias Clasen
307942e1f7
css: Only compute shorthand values once
...
When computing a style, only compute the shorthand value once.
2024-05-10 18:29:47 +04:00
Alice Mikhaylenko
e1ac97a185
cssvalue: Pass an extra GtkCssVariableSet to compute()
...
We'll need this to support variables in @keyframes, since styles will
need to combine their own variables and the ones from the keyframes.
See the next commit, this one is split out to avoid a huge diff.
2024-05-10 18:29:47 +04:00
Georges Basile Stavracas Neto
8ed8f883d1
testsuite: Remove leftover code from meson.build
...
Performance tests were dropped at 5dd0d39a6b
. The 'profiler' option
was renamed to 'sysprof' by commit e915a1aa7f
.
2024-05-02 20:28:27 -03:00
Alice Mikhaylenko
3ab189404e
testsuite: Add css/style/root test
...
Should have been a part of 76421847a5
but I forgot to commit it.
2024-04-22 21:34:50 +04:00
Alice Mikhaylenko
76421847a5
cssselector: Support :root
...
This will be useful for defining global variables.
2024-04-22 18:55:35 +04:00
Benjamin Otte
53bebd2ed1
testsuite: Set GIO_USE_VFS=local everywhere
...
And do so centrally, not randomly in individual tests.
(Hopefully) fixes spurious test failures in CI.
Related: #5867
2023-06-09 02:29:24 +02:00
Matthias Clasen
f10c234361
css: Add a test for non-ASCII font family
...
This came up in #5852 , so make sure that it works.
2023-05-28 07:57:40 -04:00
Benjamin Otte
ee6ef41e71
css: Remove crashy resource:// optimization
...
Using gdk_texture_new_from_resource() is not valid here because we are
not sure if the given resource is valid.
Plus, the previous optimization is no longer relevant, because we are
not using gdk_pixbuf_new_from_resource() anymore - which was what this
optimization was about before it was ported to GdkTexture.
Test attached.
2023-05-16 18:53:27 +02:00
Matthias Clasen
f2a297f56d
Stop using gtk_css_provider_load_from_data
2023-05-13 19:59:17 -04:00
Matthias Clasen
9a2d6d6d88
Improve css parser test coverage
2023-05-13 07:36:28 -04:00
Matthias Clasen
57dd88ee53
testsuite: Cosmetics
2023-05-12 19:52:42 -04:00
Matthias Clasen
0a3dac10c6
Improve test coverage for the css parser
2023-05-12 19:52:42 -04:00
Matthias Clasen
c9afcd31c2
css: Improve transition test coverage
2023-05-12 19:52:42 -04:00
Matthias Clasen
09bab2b2df
Improve css parser test coverage
2023-05-12 08:38:39 -04:00
Emmanuele Bassi
cdeeb3275a
build: Internal tests must set GTK_COMPILATION
...
Otherwise they won't be able to use the appropriate function visibility
on Windows.
2023-05-09 19:01:21 +01:00
William Roy
aaeec84d75
Fix compile_resources present source directory
...
In certain scenarios, address the issue where gnome.compile_resources
fails to transmit the present source directory. This is most notably
visible with MSBuild.
2023-03-07 21:59:50 +00:00
Matthias Clasen
3121f88265
build: Drop the install-tests option
...
We no longer use installed tests in CI,
so lets reap the benefit and simplify
our build setup for tests.
2022-12-19 23:12:47 -05:00
Matthias Clasen
fba4cea2e8
testsuite: Stop using gtk_widget_show/hide
2022-12-13 13:46:02 -05:00
Matthias Clasen
be324cc665
testsuite: Skip tests that miss charset support
...
This came up when running the tests in a fresh
toolbox missing the glibc-gconv-extra package.
2022-11-29 03:52:27 -05:00
Matthias Clasen
ccaaff406f
testsuite: Ignore deprecations
...
Some of our tests use deprecated style context
apis. Ignore the deprecations for now.
2022-10-12 15:35:00 -04:00
Matthias Clasen
6c3119bc33
tests: Check the error first
...
The error contains useful information when
things fail, so check it first to get useful
output in case of failure.
2022-08-11 07:29:56 -04:00
Matthias Clasen
edf8c9e501
Merge branch 'matthiasc/for-main' into 'main'
...
css: Fix handling of transform values
See merge request GNOME/gtk!4890
2022-07-18 14:24:49 +00:00
Matthias Clasen
03f24bb5cf
css: Improve test coverage
...
Among other things, this includes a test for the fix
in the previous commit.
2022-07-18 07:08:01 -05:00
Mat
89db59a40d
treepopover: Add support for scrolling
...
Add support for scrolling large tree popovers in a similar fashion to GtkPopoverMenu.
Fixes #3674
Fixes #4877
2022-07-18 00:44:28 +03:00
Benjamin Otte
fce9b35e4d
css: Don't crash on invalid rotate3d()
2021-12-26 22:58:09 +01:00
Benjamin Otte
c97a758aa7
cssparser: Remove unused argument
...
The base_directory argument is never used. So don't have it.
2021-10-28 03:19:08 +02:00
James Westman
0782c8a051
gdk_rgba_parse: Support HSL colors
2021-09-10 16:56:42 -05:00
Matthias Clasen
8b2f28eee3
css: Add parser tests for line-height
2021-08-22 15:15:50 -04:00
Benjamin Otte
a76f515569
cssimagecrossfade: Don't abort() when failing to parse image
...
The code wasn't checking if parsing an image failed and just returning
success.
Testcase from bug is attached.
Fixes #4101
2021-07-16 17:50:09 +02:00
Matthias Clasen
f98353c20b
Force g_test_init to cooperate
...
Change all g_test_init calls in the testsuite
to avoid the macro, so they work regardless of
G_DISABLE_ASSERT.
2021-04-12 21:22:46 -04:00
Matthias Clasen
f9fa92766b
testsuite: Reduce use of g_assert
...
Stop using g_assert() in the css tests.
2021-04-12 08:33:41 -04:00
Matthias Clasen
bfc80c32ea
Add tests for the css filter property
...
Test that we can parse filters and that we
don't accept invalid filters.
2021-02-06 16:16:44 -05:00
Matthias Clasen
5f48764ac8
cssfiltervalue: Reject invalid filters
...
The Filter Effects Spec doesn't allow negative values
for most of the filter parameters.
2021-02-06 16:16:44 -05:00
Matthias Clasen
a1f7073ff5
Add tests for the css filter property
...
Test that we can parse filters.
2021-02-05 21:37:47 -05:00
Matthias Clasen
d5838f14f9
Drop the installed test for now
...
It fails in ci, and I have no idea why.
2021-02-04 07:26:10 -05:00
Matthias Clasen
18e83fe16d
Add more css transition tests
2021-02-03 22:10:13 -05:00
Matthias Clasen
90d7ed5dd1
Rename test to transition
...
Thats what it is about, so name it clearly.
Add missing installed tests too.
2021-02-03 22:10:13 -05:00