summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2023-05-12 08:23:56 -0400
committerMatthias Clasen <mclasen@redhat.com>2023-05-12 08:38:39 -0400
commit09bab2b2df23f5e5f0d7651cfb247fb180149408 (patch)
tree757b84e1a1ef57a889ec790e8fdc6be5827f5aab
parenta3ebc0329d65c374f44aea5e51171e747d5503b3 (diff)
downloadgtk+-09bab2b2df23f5e5f0d7651cfb247fb180149408.tar.gz
Improve css parser test coverage
-rw-r--r--testsuite/css/parser/font-features-invalid1.css3
-rw-r--r--testsuite/css/parser/font-features-invalid1.errors1
-rw-r--r--testsuite/css/parser/font-features-invalid1.ref.css0
-rw-r--r--testsuite/css/parser/font-features-invalid2.css3
-rw-r--r--testsuite/css/parser/font-features-invalid2.errors1
-rw-r--r--testsuite/css/parser/font-features-invalid2.ref.css0
-rw-r--r--testsuite/css/parser/font-features-invalid3.css3
-rw-r--r--testsuite/css/parser/font-features-invalid3.errors1
-rw-r--r--testsuite/css/parser/font-features-invalid3.ref.css0
-rw-r--r--testsuite/css/parser/font-features.css19
-rw-r--r--testsuite/css/parser/font-features.ref.css19
-rw-r--r--testsuite/css/parser/meson.build70
-rw-r--r--testsuite/css/parser/transform-invalid1.css3
-rw-r--r--testsuite/css/parser/transform-invalid1.errors1
-rw-r--r--testsuite/css/parser/transform-invalid1.ref.css0
-rw-r--r--testsuite/css/parser/transform-invalid10.css3
-rw-r--r--testsuite/css/parser/transform-invalid10.errors1
-rw-r--r--testsuite/css/parser/transform-invalid10.ref.css0
-rw-r--r--testsuite/css/parser/transform-invalid11.css3
-rw-r--r--testsuite/css/parser/transform-invalid11.errors1
-rw-r--r--testsuite/css/parser/transform-invalid11.ref.css0
-rw-r--r--testsuite/css/parser/transform-invalid12.css3
-rw-r--r--testsuite/css/parser/transform-invalid12.errors1
-rw-r--r--testsuite/css/parser/transform-invalid12.ref.css0
-rw-r--r--testsuite/css/parser/transform-invalid13.css3
-rw-r--r--testsuite/css/parser/transform-invalid13.errors1
-rw-r--r--testsuite/css/parser/transform-invalid13.ref.css0
-rw-r--r--testsuite/css/parser/transform-invalid14.css3
-rw-r--r--testsuite/css/parser/transform-invalid14.errors1
-rw-r--r--testsuite/css/parser/transform-invalid14.ref.css0
-rw-r--r--testsuite/css/parser/transform-invalid15.css3
-rw-r--r--testsuite/css/parser/transform-invalid15.errors1
-rw-r--r--testsuite/css/parser/transform-invalid15.ref.css0
-rw-r--r--testsuite/css/parser/transform-invalid16.css3
-rw-r--r--testsuite/css/parser/transform-invalid16.errors1
-rw-r--r--testsuite/css/parser/transform-invalid16.ref.css0
-rw-r--r--testsuite/css/parser/transform-invalid17.css3
-rw-r--r--testsuite/css/parser/transform-invalid17.errors1
-rw-r--r--testsuite/css/parser/transform-invalid17.ref.css0
-rw-r--r--testsuite/css/parser/transform-invalid18.css3
-rw-r--r--testsuite/css/parser/transform-invalid18.errors1
-rw-r--r--testsuite/css/parser/transform-invalid18.ref.css0
-rw-r--r--testsuite/css/parser/transform-invalid19.css3
-rw-r--r--testsuite/css/parser/transform-invalid19.errors1
-rw-r--r--testsuite/css/parser/transform-invalid19.ref.css0
-rw-r--r--testsuite/css/parser/transform-invalid2.css3
-rw-r--r--testsuite/css/parser/transform-invalid2.errors1
-rw-r--r--testsuite/css/parser/transform-invalid2.ref.css0
-rw-r--r--testsuite/css/parser/transform-invalid3.css3
-rw-r--r--testsuite/css/parser/transform-invalid3.errors1
-rw-r--r--testsuite/css/parser/transform-invalid3.ref.css0
-rw-r--r--testsuite/css/parser/transform-invalid4.css3
-rw-r--r--testsuite/css/parser/transform-invalid4.errors1
-rw-r--r--testsuite/css/parser/transform-invalid4.ref.css0
-rw-r--r--testsuite/css/parser/transform-invalid5.css3
-rw-r--r--testsuite/css/parser/transform-invalid5.errors1
-rw-r--r--testsuite/css/parser/transform-invalid5.ref.css0
-rw-r--r--testsuite/css/parser/transform-invalid6.css3
-rw-r--r--testsuite/css/parser/transform-invalid6.errors1
-rw-r--r--testsuite/css/parser/transform-invalid6.ref.css0
-rw-r--r--testsuite/css/parser/transform-invalid7.css3
-rw-r--r--testsuite/css/parser/transform-invalid7.errors1
-rw-r--r--testsuite/css/parser/transform-invalid7.ref.css0
-rw-r--r--testsuite/css/parser/transform-invalid8.css3
-rw-r--r--testsuite/css/parser/transform-invalid8.errors1
-rw-r--r--testsuite/css/parser/transform-invalid8.ref.css0
-rw-r--r--testsuite/css/parser/transform-invalid9.css3
-rw-r--r--testsuite/css/parser/transform-invalid9.errors1
-rw-r--r--testsuite/css/parser/transform-invalid9.ref.css0
-rw-r--r--testsuite/css/parser/transform.css3
-rw-r--r--testsuite/css/parser/transform.ref.css3
71 files changed, 202 insertions, 0 deletions
diff --git a/testsuite/css/parser/font-features-invalid1.css b/testsuite/css/parser/font-features-invalid1.css
new file mode 100644
index 0000000000..0d4e5d1f14
--- /dev/null
+++ b/testsuite/css/parser/font-features-invalid1.css
@@ -0,0 +1,3 @@
+* {
+ font-feature-settings: "";
+}
diff --git a/testsuite/css/parser/font-features-invalid1.errors b/testsuite/css/parser/font-features-invalid1.errors
new file mode 100644
index 0000000000..e4964c17e8
--- /dev/null
+++ b/testsuite/css/parser/font-features-invalid1.errors
@@ -0,0 +1 @@
+font-features-invalid1.css:2:26-28: error: GTK_CSS_PARSER_ERROR_UNKNOWN_VALUE
diff --git a/testsuite/css/parser/font-features-invalid1.ref.css b/testsuite/css/parser/font-features-invalid1.ref.css
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/testsuite/css/parser/font-features-invalid1.ref.css
diff --git a/testsuite/css/parser/font-features-invalid2.css b/testsuite/css/parser/font-features-invalid2.css
new file mode 100644
index 0000000000..6c30e64022
--- /dev/null
+++ b/testsuite/css/parser/font-features-invalid2.css
@@ -0,0 +1,3 @@
+* {
+ font-feature-settings: "abc\A" 1;
+}
diff --git a/testsuite/css/parser/font-features-invalid2.errors b/testsuite/css/parser/font-features-invalid2.errors
new file mode 100644
index 0000000000..a9fb5b957b
--- /dev/null
+++ b/testsuite/css/parser/font-features-invalid2.errors
@@ -0,0 +1 @@
+font-features-invalid2.css:2:26-33: error: GTK_CSS_PARSER_ERROR_UNKNOWN_VALUE
diff --git a/testsuite/css/parser/font-features-invalid2.ref.css b/testsuite/css/parser/font-features-invalid2.ref.css
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/testsuite/css/parser/font-features-invalid2.ref.css
diff --git a/testsuite/css/parser/font-features-invalid3.css b/testsuite/css/parser/font-features-invalid3.css
new file mode 100644
index 0000000000..c351521a67
--- /dev/null
+++ b/testsuite/css/parser/font-features-invalid3.css
@@ -0,0 +1,3 @@
+* {
+ font-feature-settings: dlig;
+}
diff --git a/testsuite/css/parser/font-features-invalid3.errors b/testsuite/css/parser/font-features-invalid3.errors
new file mode 100644
index 0000000000..9cbdb7a50c
--- /dev/null
+++ b/testsuite/css/parser/font-features-invalid3.errors
@@ -0,0 +1 @@
+font-features-invalid3.css:2:26-30: error: GTK_CSS_PARSER_ERROR_SYNTAX
diff --git a/testsuite/css/parser/font-features-invalid3.ref.css b/testsuite/css/parser/font-features-invalid3.ref.css
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/testsuite/css/parser/font-features-invalid3.ref.css
diff --git a/testsuite/css/parser/font-features.css b/testsuite/css/parser/font-features.css
new file mode 100644
index 0000000000..6391153ba2
--- /dev/null
+++ b/testsuite/css/parser/font-features.css
@@ -0,0 +1,19 @@
+a {
+ font-feature-settings: initial;
+}
+
+b {
+ font-feature-settings: inherit;
+}
+
+c {
+ font-feature-settings: unset;
+}
+
+e {
+ font-feature-settings: normal;
+}
+
+f {
+ font-feature-settings: "dlig", "c2sc" off, "swsh" 2;
+}
diff --git a/testsuite/css/parser/font-features.ref.css b/testsuite/css/parser/font-features.ref.css
new file mode 100644
index 0000000000..dc08453f2c
--- /dev/null
+++ b/testsuite/css/parser/font-features.ref.css
@@ -0,0 +1,19 @@
+a {
+ font-feature-settings: initial;
+}
+
+b {
+ font-feature-settings: inherit;
+}
+
+c {
+ font-feature-settings: unset;
+}
+
+e {
+ font-feature-settings: normal;
+}
+
+f {
+ font-feature-settings: "dlig" 1, "c2sc" 0, "swsh" 2;
+}
diff --git a/testsuite/css/parser/meson.build b/testsuite/css/parser/meson.build
index b419c29865..7329223235 100644
--- a/testsuite/css/parser/meson.build
+++ b/testsuite/css/parser/meson.build
@@ -342,6 +342,17 @@ test_data = [
'filter-invalid9.ref.css',
'font-family.css',
'font-family.ref.css',
+ 'font-features.css',
+ 'font-features.ref.css',
+ 'font-features-invalid1.css',
+ 'font-features-invalid1.errors',
+ 'font-features-invalid1.ref.css',
+ 'font-features-invalid2.css',
+ 'font-features-invalid2.errors',
+ 'font-features-invalid2.ref.css',
+ 'font-features-invalid3.css',
+ 'font-features-invalid3.errors',
+ 'font-features-invalid3.ref.css',
'font-size.css',
'font-size.ref.css',
'font-stretch.css',
@@ -482,6 +493,65 @@ test_data = [
'text-shadow-invalid-but-worked-in-3.12.errors',
'text-shadow-invalid-but-worked-in-3.12.ref.css',
'text-shadow.ref.css',
+ 'transform.css',
+ 'transform.ref.css',
+ 'transform-invalid1.css',
+ 'transform-invalid1.errors',
+ 'transform-invalid1.ref.css',
+ 'transform-invalid2.css',
+ 'transform-invalid2.errors',
+ 'transform-invalid2.ref.css',
+ 'transform-invalid3.css',
+ 'transform-invalid3.errors',
+ 'transform-invalid3.ref.css',
+ 'transform-invalid4.css',
+ 'transform-invalid4.errors',
+ 'transform-invalid4.ref.css',
+ 'transform-invalid5.css',
+ 'transform-invalid5.errors',
+ 'transform-invalid5.ref.css',
+ 'transform-invalid6.css',
+ 'transform-invalid6.errors',
+ 'transform-invalid6.ref.css',
+ 'transform-invalid7.css',
+ 'transform-invalid7.errors',
+ 'transform-invalid7.ref.css',
+ 'transform-invalid8.css',
+ 'transform-invalid8.errors',
+ 'transform-invalid8.ref.css',
+ 'transform-invalid9.css',
+ 'transform-invalid9.errors',
+ 'transform-invalid9.ref.css',
+ 'transform-invalid10.css',
+ 'transform-invalid10.errors',
+ 'transform-invalid10.ref.css',
+ 'transform-invalid11.css',
+ 'transform-invalid11.errors',
+ 'transform-invalid11.ref.css',
+ 'transform-invalid12.css',
+ 'transform-invalid12.errors',
+ 'transform-invalid12.ref.css',
+ 'transform-invalid13.css',
+ 'transform-invalid13.errors',
+ 'transform-invalid13.ref.css',
+ 'transform-invalid14.css',
+ 'transform-invalid14.errors',
+ 'transform-invalid14.ref.css',
+ 'transform-invalid15.css',
+ 'transform-invalid15.errors',
+ 'transform-invalid15.ref.css',
+ 'transform-invalid16.css',
+ 'transform-invalid16.errors',
+ 'transform-invalid16.ref.css',
+ 'transform-invalid17.css',
+ 'transform-invalid17.errors',
+ 'transform-invalid17.ref.css',
+ 'transform-invalid18.css',
+ 'transform-invalid18.errors',
+ 'transform-invalid18.ref.css',
+ 'transform-invalid19.css',
+ 'transform-invalid19.errors',
+ 'transform-invalid19.ref.css',
'transition.css',
'transition-delay.css',
'transition-delay.ref.css',
diff --git a/testsuite/css/parser/transform-invalid1.css b/testsuite/css/parser/transform-invalid1.css
new file mode 100644
index 0000000000..b6932716dd
--- /dev/null
+++ b/testsuite/css/parser/transform-invalid1.css
@@ -0,0 +1,3 @@
+* {
+ transform: matrix(1,2,3,4,5);
+}
diff --git a/testsuite/css/parser/transform-invalid1.errors b/testsuite/css/parser/transform-invalid1.errors
new file mode 100644
index 0000000000..526c38e26c
--- /dev/null
+++ b/testsuite/css/parser/transform-invalid1.errors
@@ -0,0 +1 @@
+transform-invalid1.css:2:30-31: error: GTK_CSS_PARSER_ERROR_SYNTAX
diff --git a/testsuite/css/parser/transform-invalid1.ref.css b/testsuite/css/parser/transform-invalid1.ref.css
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/testsuite/css/parser/transform-invalid1.ref.css
diff --git a/testsuite/css/parser/transform-invalid10.css b/testsuite/css/parser/transform-invalid10.css
new file mode 100644
index 0000000000..fb83d2e4ca
--- /dev/null
+++ b/testsuite/css/parser/transform-invalid10.css
@@ -0,0 +1,3 @@
+* {
+ transform: scaleY(45deg);
+}
diff --git a/testsuite/css/parser/transform-invalid10.errors b/testsuite/css/parser/transform-invalid10.errors
new file mode 100644
index 0000000000..d25c8b23ad
--- /dev/null
+++ b/testsuite/css/parser/transform-invalid10.errors
@@ -0,0 +1 @@
+transform-invalid10.css:2:21-26: error: GTK_CSS_PARSER_ERROR_SYNTAX
diff --git a/testsuite/css/parser/transform-invalid10.ref.css b/testsuite/css/parser/transform-invalid10.ref.css
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/testsuite/css/parser/transform-invalid10.ref.css
diff --git a/testsuite/css/parser/transform-invalid11.css b/testsuite/css/parser/transform-invalid11.css
new file mode 100644
index 0000000000..a7d2b1d175
--- /dev/null
+++ b/testsuite/css/parser/transform-invalid11.css
@@ -0,0 +1,3 @@
+* {
+ transform: scaleZ(45deg);
+}
diff --git a/testsuite/css/parser/transform-invalid11.errors b/testsuite/css/parser/transform-invalid11.errors
new file mode 100644
index 0000000000..28e7ade271
--- /dev/null
+++ b/testsuite/css/parser/transform-invalid11.errors
@@ -0,0 +1 @@
+transform-invalid11.css:2:21-26: error: GTK_CSS_PARSER_ERROR_SYNTAX
diff --git a/testsuite/css/parser/transform-invalid11.ref.css b/testsuite/css/parser/transform-invalid11.ref.css
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/testsuite/css/parser/transform-invalid11.ref.css
diff --git a/testsuite/css/parser/transform-invalid12.css b/testsuite/css/parser/transform-invalid12.css
new file mode 100644
index 0000000000..5b9ed332b0
--- /dev/null
+++ b/testsuite/css/parser/transform-invalid12.css
@@ -0,0 +1,3 @@
+* {
+ transform: skew(1,2,3);
+}
diff --git a/testsuite/css/parser/transform-invalid12.errors b/testsuite/css/parser/transform-invalid12.errors
new file mode 100644
index 0000000000..b31b6ae990
--- /dev/null
+++ b/testsuite/css/parser/transform-invalid12.errors
@@ -0,0 +1 @@
+transform-invalid12.css:2:19-20: error: GTK_CSS_PARSER_ERROR_SYNTAX
diff --git a/testsuite/css/parser/transform-invalid12.ref.css b/testsuite/css/parser/transform-invalid12.ref.css
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/testsuite/css/parser/transform-invalid12.ref.css
diff --git a/testsuite/css/parser/transform-invalid13.css b/testsuite/css/parser/transform-invalid13.css
new file mode 100644
index 0000000000..17bffd9bfc
--- /dev/null
+++ b/testsuite/css/parser/transform-invalid13.css
@@ -0,0 +1,3 @@
+* {
+ transform: skewX(1,2,3);
+}
diff --git a/testsuite/css/parser/transform-invalid13.errors b/testsuite/css/parser/transform-invalid13.errors
new file mode 100644
index 0000000000..1a20ea7e3d
--- /dev/null
+++ b/testsuite/css/parser/transform-invalid13.errors
@@ -0,0 +1 @@
+transform-invalid13.css:2:20-21: error: GTK_CSS_PARSER_ERROR_SYNTAX
diff --git a/testsuite/css/parser/transform-invalid13.ref.css b/testsuite/css/parser/transform-invalid13.ref.css
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/testsuite/css/parser/transform-invalid13.ref.css
diff --git a/testsuite/css/parser/transform-invalid14.css b/testsuite/css/parser/transform-invalid14.css
new file mode 100644
index 0000000000..8b81554cfa
--- /dev/null
+++ b/testsuite/css/parser/transform-invalid14.css
@@ -0,0 +1,3 @@
+* {
+ transform: skewY(1,2,3);
+}
diff --git a/testsuite/css/parser/transform-invalid14.errors b/testsuite/css/parser/transform-invalid14.errors
new file mode 100644
index 0000000000..5bb087184e
--- /dev/null
+++ b/testsuite/css/parser/transform-invalid14.errors
@@ -0,0 +1 @@
+transform-invalid14.css:2:20-21: error: GTK_CSS_PARSER_ERROR_SYNTAX
diff --git a/testsuite/css/parser/transform-invalid14.ref.css b/testsuite/css/parser/transform-invalid14.ref.css
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/testsuite/css/parser/transform-invalid14.ref.css
diff --git a/testsuite/css/parser/transform-invalid15.css b/testsuite/css/parser/transform-invalid15.css
new file mode 100644
index 0000000000..ed24f436e9
--- /dev/null
+++ b/testsuite/css/parser/transform-invalid15.css
@@ -0,0 +1,3 @@
+* {
+ transform: translate(1,2,3);
+}
diff --git a/testsuite/css/parser/transform-invalid15.errors b/testsuite/css/parser/transform-invalid15.errors
new file mode 100644
index 0000000000..7e35db1915
--- /dev/null
+++ b/testsuite/css/parser/transform-invalid15.errors
@@ -0,0 +1 @@
+transform-invalid15.css:2:24-25: error: GTK_CSS_PARSER_ERROR_SYNTAX
diff --git a/testsuite/css/parser/transform-invalid15.ref.css b/testsuite/css/parser/transform-invalid15.ref.css
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/testsuite/css/parser/transform-invalid15.ref.css
diff --git a/testsuite/css/parser/transform-invalid16.css b/testsuite/css/parser/transform-invalid16.css
new file mode 100644
index 0000000000..cb34a969b0
--- /dev/null
+++ b/testsuite/css/parser/transform-invalid16.css
@@ -0,0 +1,3 @@
+* {
+ transform: translate3d(1,2,3);
+}
diff --git a/testsuite/css/parser/transform-invalid16.errors b/testsuite/css/parser/transform-invalid16.errors
new file mode 100644
index 0000000000..c0a8c4d6a7
--- /dev/null
+++ b/testsuite/css/parser/transform-invalid16.errors
@@ -0,0 +1 @@
+transform-invalid16.css:2:26-27: error: GTK_CSS_PARSER_ERROR_SYNTAX
diff --git a/testsuite/css/parser/transform-invalid16.ref.css b/testsuite/css/parser/transform-invalid16.ref.css
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/testsuite/css/parser/transform-invalid16.ref.css
diff --git a/testsuite/css/parser/transform-invalid17.css b/testsuite/css/parser/transform-invalid17.css
new file mode 100644
index 0000000000..1b1197ebe5
--- /dev/null
+++ b/testsuite/css/parser/transform-invalid17.css
@@ -0,0 +1,3 @@
+* {
+ transform: translateX(1);
+}
diff --git a/testsuite/css/parser/transform-invalid17.errors b/testsuite/css/parser/transform-invalid17.errors
new file mode 100644
index 0000000000..2d1199aae4
--- /dev/null
+++ b/testsuite/css/parser/transform-invalid17.errors
@@ -0,0 +1 @@
+transform-invalid17.css:2:25-26: error: GTK_CSS_PARSER_ERROR_SYNTAX
diff --git a/testsuite/css/parser/transform-invalid17.ref.css b/testsuite/css/parser/transform-invalid17.ref.css
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/testsuite/css/parser/transform-invalid17.ref.css
diff --git a/testsuite/css/parser/transform-invalid18.css b/testsuite/css/parser/transform-invalid18.css
new file mode 100644
index 0000000000..e1e544d1c4
--- /dev/null
+++ b/testsuite/css/parser/transform-invalid18.css
@@ -0,0 +1,3 @@
+* {
+ transform: translateY(1);
+}
diff --git a/testsuite/css/parser/transform-invalid18.errors b/testsuite/css/parser/transform-invalid18.errors
new file mode 100644
index 0000000000..47ef1a8bff
--- /dev/null
+++ b/testsuite/css/parser/transform-invalid18.errors
@@ -0,0 +1 @@
+transform-invalid18.css:2:25-26: error: GTK_CSS_PARSER_ERROR_SYNTAX
diff --git a/testsuite/css/parser/transform-invalid18.ref.css b/testsuite/css/parser/transform-invalid18.ref.css
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/testsuite/css/parser/transform-invalid18.ref.css
diff --git a/testsuite/css/parser/transform-invalid19.css b/testsuite/css/parser/transform-invalid19.css
new file mode 100644
index 0000000000..7fc50bd761
--- /dev/null
+++ b/testsuite/css/parser/transform-invalid19.css
@@ -0,0 +1,3 @@
+* {
+ transform: translateZ(1);
+}
diff --git a/testsuite/css/parser/transform-invalid19.errors b/testsuite/css/parser/transform-invalid19.errors
new file mode 100644
index 0000000000..7bb3af8c29
--- /dev/null
+++ b/testsuite/css/parser/transform-invalid19.errors
@@ -0,0 +1 @@
+transform-invalid19.css:2:25-26: error: GTK_CSS_PARSER_ERROR_SYNTAX
diff --git a/testsuite/css/parser/transform-invalid19.ref.css b/testsuite/css/parser/transform-invalid19.ref.css
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/testsuite/css/parser/transform-invalid19.ref.css
diff --git a/testsuite/css/parser/transform-invalid2.css b/testsuite/css/parser/transform-invalid2.css
new file mode 100644
index 0000000000..ebd1b3fc4a
--- /dev/null
+++ b/testsuite/css/parser/transform-invalid2.css
@@ -0,0 +1,3 @@
+* {
+ transform: matrix3d(1,2,3,4,5,6,7,8,9);
+}
diff --git a/testsuite/css/parser/transform-invalid2.errors b/testsuite/css/parser/transform-invalid2.errors
new file mode 100644
index 0000000000..862c5a8f12
--- /dev/null
+++ b/testsuite/css/parser/transform-invalid2.errors
@@ -0,0 +1 @@
+transform-invalid2.css:2:40-41: error: GTK_CSS_PARSER_ERROR_SYNTAX
diff --git a/testsuite/css/parser/transform-invalid2.ref.css b/testsuite/css/parser/transform-invalid2.ref.css
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/testsuite/css/parser/transform-invalid2.ref.css
diff --git a/testsuite/css/parser/transform-invalid3.css b/testsuite/css/parser/transform-invalid3.css
new file mode 100644
index 0000000000..2634ea05a6
--- /dev/null
+++ b/testsuite/css/parser/transform-invalid3.css
@@ -0,0 +1,3 @@
+* {
+ transform: perspective(1,2,3);
+}
diff --git a/testsuite/css/parser/transform-invalid3.errors b/testsuite/css/parser/transform-invalid3.errors
new file mode 100644
index 0000000000..3fa087220b
--- /dev/null
+++ b/testsuite/css/parser/transform-invalid3.errors
@@ -0,0 +1 @@
+transform-invalid3.css:2:26-27: error: GTK_CSS_PARSER_ERROR_SYNTAX
diff --git a/testsuite/css/parser/transform-invalid3.ref.css b/testsuite/css/parser/transform-invalid3.ref.css
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/testsuite/css/parser/transform-invalid3.ref.css
diff --git a/testsuite/css/parser/transform-invalid4.css b/testsuite/css/parser/transform-invalid4.css
new file mode 100644
index 0000000000..83fdb752f0
--- /dev/null
+++ b/testsuite/css/parser/transform-invalid4.css
@@ -0,0 +1,3 @@
+* {
+ transform: rotateZ(1,2,3);
+}
diff --git a/testsuite/css/parser/transform-invalid4.errors b/testsuite/css/parser/transform-invalid4.errors
new file mode 100644
index 0000000000..7405f1d5f5
--- /dev/null
+++ b/testsuite/css/parser/transform-invalid4.errors
@@ -0,0 +1 @@
+transform-invalid4.css:2:22-23: error: GTK_CSS_PARSER_ERROR_SYNTAX
diff --git a/testsuite/css/parser/transform-invalid4.ref.css b/testsuite/css/parser/transform-invalid4.ref.css
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/testsuite/css/parser/transform-invalid4.ref.css
diff --git a/testsuite/css/parser/transform-invalid5.css b/testsuite/css/parser/transform-invalid5.css
new file mode 100644
index 0000000000..9b1fd7a938
--- /dev/null
+++ b/testsuite/css/parser/transform-invalid5.css
@@ -0,0 +1,3 @@
+* {
+ transform: rotateX(2);
+}
diff --git a/testsuite/css/parser/transform-invalid5.errors b/testsuite/css/parser/transform-invalid5.errors
new file mode 100644
index 0000000000..ba141cba4b
--- /dev/null
+++ b/testsuite/css/parser/transform-invalid5.errors
@@ -0,0 +1 @@
+transform-invalid5.css:2:22-23: error: GTK_CSS_PARSER_ERROR_SYNTAX
diff --git a/testsuite/css/parser/transform-invalid5.ref.css b/testsuite/css/parser/transform-invalid5.ref.css
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/testsuite/css/parser/transform-invalid5.ref.css
diff --git a/testsuite/css/parser/transform-invalid6.css b/testsuite/css/parser/transform-invalid6.css
new file mode 100644
index 0000000000..843df4441f
--- /dev/null
+++ b/testsuite/css/parser/transform-invalid6.css
@@ -0,0 +1,3 @@
+* {
+ transform: rotateY(2);
+}
diff --git a/testsuite/css/parser/transform-invalid6.errors b/testsuite/css/parser/transform-invalid6.errors
new file mode 100644
index 0000000000..bd27ab1885
--- /dev/null
+++ b/testsuite/css/parser/transform-invalid6.errors
@@ -0,0 +1 @@
+transform-invalid6.css:2:22-23: error: GTK_CSS_PARSER_ERROR_SYNTAX
diff --git a/testsuite/css/parser/transform-invalid6.ref.css b/testsuite/css/parser/transform-invalid6.ref.css
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/testsuite/css/parser/transform-invalid6.ref.css
diff --git a/testsuite/css/parser/transform-invalid7.css b/testsuite/css/parser/transform-invalid7.css
new file mode 100644
index 0000000000..fd9a5199e1
--- /dev/null
+++ b/testsuite/css/parser/transform-invalid7.css
@@ -0,0 +1,3 @@
+* {
+ transform: scale(1,2,3);
+}
diff --git a/testsuite/css/parser/transform-invalid7.errors b/testsuite/css/parser/transform-invalid7.errors
new file mode 100644
index 0000000000..456f23592a
--- /dev/null
+++ b/testsuite/css/parser/transform-invalid7.errors
@@ -0,0 +1 @@
+transform-invalid7.css:2:23-24: error: GTK_CSS_PARSER_ERROR_SYNTAX
diff --git a/testsuite/css/parser/transform-invalid7.ref.css b/testsuite/css/parser/transform-invalid7.ref.css
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/testsuite/css/parser/transform-invalid7.ref.css
diff --git a/testsuite/css/parser/transform-invalid8.css b/testsuite/css/parser/transform-invalid8.css
new file mode 100644
index 0000000000..02bba2c490
--- /dev/null
+++ b/testsuite/css/parser/transform-invalid8.css
@@ -0,0 +1,3 @@
+* {
+ transform: scale3d(1,2,3,4,5,6);
+}
diff --git a/testsuite/css/parser/transform-invalid8.errors b/testsuite/css/parser/transform-invalid8.errors
new file mode 100644
index 0000000000..457030ac5d
--- /dev/null
+++ b/testsuite/css/parser/transform-invalid8.errors
@@ -0,0 +1 @@
+transform-invalid8.css:2:27-28: error: GTK_CSS_PARSER_ERROR_SYNTAX
diff --git a/testsuite/css/parser/transform-invalid8.ref.css b/testsuite/css/parser/transform-invalid8.ref.css
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/testsuite/css/parser/transform-invalid8.ref.css
diff --git a/testsuite/css/parser/transform-invalid9.css b/testsuite/css/parser/transform-invalid9.css
new file mode 100644
index 0000000000..dde4ad01c5
--- /dev/null
+++ b/testsuite/css/parser/transform-invalid9.css
@@ -0,0 +1,3 @@
+* {
+ transform: scaleX(45deg);
+}
diff --git a/testsuite/css/parser/transform-invalid9.errors b/testsuite/css/parser/transform-invalid9.errors
new file mode 100644
index 0000000000..dd8e0ccf17
--- /dev/null
+++ b/testsuite/css/parser/transform-invalid9.errors
@@ -0,0 +1 @@
+transform-invalid9.css:2:21-26: error: GTK_CSS_PARSER_ERROR_SYNTAX
diff --git a/testsuite/css/parser/transform-invalid9.ref.css b/testsuite/css/parser/transform-invalid9.ref.css
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/testsuite/css/parser/transform-invalid9.ref.css
diff --git a/testsuite/css/parser/transform.css b/testsuite/css/parser/transform.css
new file mode 100644
index 0000000000..8d3c3fef50
--- /dev/null
+++ b/testsuite/css/parser/transform.css
@@ -0,0 +1,3 @@
+* {
+ transform: rotateX(45deg) rotateY(50deg) scale(3,4) translate(1px,2px);
+}
diff --git a/testsuite/css/parser/transform.ref.css b/testsuite/css/parser/transform.ref.css
new file mode 100644
index 0000000000..d71323d5e3
--- /dev/null
+++ b/testsuite/css/parser/transform.ref.css
@@ -0,0 +1,3 @@
+* {
+ transform: rotate3d(1, 0, 0, 45deg) rotate3d(0, 1, 0, 50deg) scale(3, 4) translate3d(1px, 2px, 0);
+}