Bug 1734083 [wpt PR 30957] - [css-fonts] Add test for @font-palette-values with an...
[gecko.git] / testing / web-platform / tests / css / css-fonts / parsing / font-palette-values-invalid.html
blob3a2f044f18849bd08659e5693b7e440f4947a0a1
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <meta charset="utf-8">
5 <title>CSS Fonts Module Level 4: parsing @font-palette-values</title>
6 <link rel="help" href="https://drafts.csswg.org/css-fonts/#font-palette-values">
7 <meta name="assert" content="@font-palette-values is parsed correctly.">
8 <script src="/resources/testharness.js"></script>
9 <script src="/resources/testharnessreport.js"></script>
10 <style id="style">
11 @font-palette-values {
14 @font-palette-values A B {
17 /* 0 */
18 @font-palette-values A {
19 font-family: a, b;
22 /* 1 */
23 @font-palette-values A {
24 font-family: 1;
27 /* 2 */
28 @font-palette-values A {
29 font: 12px a;
32 /* 3 */
33 @font-palette-values A {
34 base-palette: 1 2;
37 /* 4 */
38 @font-palette-values A {
39 base-palette: ident;
42 /* 5 */
43 @font-palette-values A {
44 base-palette: "a" "b";
47 /* 6 */
48 @font-palette-values A {
49 base-palette: ;
52 /* 7 */
53 @font-palette-values A {
54 override-color: ident #123;
57 /* 8 */
58 @font-palette-values A {
59 override-color: 0 "red";
62 /* 9 */
63 @font-palette-values A {
64 override-color: 0 #123, 1;
67 /* 10 */
68 @font-palette-values A {
69 override-color: ;
72 /* 11 */
73 @font-palette-values A {
74 override-color: 0 #123 1;
77 /* 12 */
78 @font-palette-values A {
79 override-color: 0;
82 /* 13 */
83 @font-palette-values A {
84 base-palette: -1;
85 override-color: -1 #123;
88 /* 14 */
89 @font-palette-values A {
90 font-family: "";
93 /* 15 */
94 @font-palette-values A {
95 base-palette: initial;
96 override-color: initial;
99 /* 16 */
100 @font-palette-values A {
101 base-palette: inherit;
102 override-color: inherit;
105 /* 17 */
106 @font-palette-values A {
107 base-palette: unset;
108 override-color: unset;
110 </style>
111 </head>
112 <body>
113 <script>
114 let rules = document.getElementById("style").sheet.cssRules;
115 test(function() {
116 assert_equals(rules.length, 18);
119 test(function() {
120 let text = rules[0].cssText;
121 let rule = rules[0];
122 assert_equals(text.indexOf("font-family"), -1);
123 assert_equals(rule.fontFamily, "");
126 test(function() {
127 let text = rules[1].cssText;
128 let rule = rules[1];
129 assert_equals(text.indexOf("font-family"), -1);
130 assert_equals(rule.fontFamily, "");
133 test(function() {
134 let text = rules[2].cssText;
135 let rule = rules[2];
136 assert_equals(text.indexOf("font:"), -1);
137 assert_equals(rule.fontFamily, "");
140 test(function() {
141 let text = rules[3].cssText;
142 let rule = rules[3];
143 assert_equals(text.indexOf("base-palette"), -1);
144 assert_equals(rule.basePalette, "");
147 test(function() {
148 let text = rules[4].cssText;
149 let rule = rules[4];
150 assert_equals(text.indexOf("base-palette"), -1);
151 assert_equals(rule.basePalette, "");
154 test(function() {
155 let text = rules[5].cssText;
156 let rule = rules[5];
157 assert_equals(text.indexOf("base-palette"), -1);
158 assert_equals(rule.basePalette, "");
161 test(function() {
162 let text = rules[6].cssText;
163 let rule = rules[6];
164 assert_equals(text.indexOf("base-palette"), -1);
165 assert_equals(rule.basePalette, "");
168 test(function() {
169 let text = rules[7].cssText;
170 let rule = rules[7];
171 assert_equals(text.indexOf("override-color"), -1);
172 assert_equals(rule.size, 0);
175 test(function() {
176 let text = rules[8].cssText;
177 let rule = rules[8];
178 assert_equals(text.indexOf("override-color"), -1);
179 assert_equals(rule.size, 0);
182 test(function() {
183 let text = rules[9].cssText;
184 let rule = rules[9];
185 assert_equals(text.indexOf("override-color"), -1);
186 assert_equals(rule.size, 0);
189 test(function() {
190 let text = rules[10].cssText;
191 let rule = rules[10];
192 assert_equals(text.indexOf("override-color"), -1);
193 assert_equals(rule.size, 0);
196 test(function() {
197 let text = rules[11].cssText;
198 let rule = rules[11];
199 assert_equals(text.indexOf("override-color"), -1);
200 assert_equals(rule.size, 0);
203 test(function() {
204 let text = rules[12].cssText;
205 let rule = rules[12];
206 assert_equals(text.indexOf("override-color"), -1);
207 assert_equals(rule.size, 0);
210 test(function() {
211 let text = rules[13].cssText;
212 let rule = rules[13];
213 assert_equals(text.indexOf("base-palette"), -1);
214 assert_equals(text.indexOf("override-color"), -1);
215 assert_equals(rule.size, 0);
216 assert_equals(rule.basePalette, "");
219 test(function() {
220 let text = rules[14].cssText;
221 let rule = rules[14];
222 // I see nothing in the spec that indicates an empty string is a parse error.
223 assert_not_equals(text.indexOf("font-family"), -1);
226 test(function() {
227 let text = rules[15].cssText;
228 let rule = rules[15];
229 assert_equals(text.indexOf("base-palette"), -1);
230 assert_equals(text.indexOf("override-color"), -1);
231 assert_equals(rule.size, 0);
232 assert_equals(rule.basePalette, "");
235 test(function() {
236 let text = rules[16].cssText;
237 let rule = rules[16];
238 assert_equals(text.indexOf("base-palette"), -1);
239 assert_equals(text.indexOf("override-color"), -1);
240 assert_equals(rule.size, 0);
241 assert_equals(rule.basePalette, "");
244 test(function() {
245 let text = rules[17].cssText;
246 let rule = rules[17];
247 assert_equals(text.indexOf("base-palette"), -1);
248 assert_equals(text.indexOf("override-color"), -1);
249 assert_equals(rule.size, 0);
250 assert_equals(rule.basePalette, "");
252 </script>
253 </body>
254 </html>