File: at-container-parsing.html

package info (click to toggle)
thunderbird 1%3A143.0.1-1
  • links: PTS, VCS
  • area: main
  • in suites: experimental
  • size: 4,703,968 kB
  • sloc: cpp: 7,770,492; javascript: 5,943,842; ansic: 3,918,754; python: 1,418,263; xml: 653,354; asm: 474,045; java: 183,079; sh: 111,238; makefile: 20,410; perl: 14,359; objc: 13,059; yacc: 4,583; pascal: 3,405; lex: 1,720; ruby: 999; exp: 762; sql: 715; awk: 580; php: 436; lisp: 430; sed: 69; csh: 10
file content (138 lines) | stat: -rw-r--r-- 6,220 bytes parent folder | download | duplicates (9)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
<!doctype html>
<title>@container: parsing</title>
<link rel="help" href="https://drafts.csswg.org/css-conditional-5/#container-rule">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="support/cq-testcommon.js"></script>
<div style="container-name:name;container-type:size; width:100px; height:100px">
  <main id="cq-main"></main>
</div>
<script>
  setup(() => assert_implements_size_container_queries());

  test_cq_condition_known('(width)');
  test_cq_condition_known('(min-width: 0px)');
  test_cq_condition_known('(max-width: 0px)');
  test_cq_condition_known('(height)');
  test_cq_condition_known('(min-height: 0px)');
  test_cq_condition_known('(max-height: 0px)');
  test_cq_condition_known('(aspect-ratio)');
  test_cq_condition_known('(min-aspect-ratio: 1/2)');
  test_cq_condition_known('(max-aspect-ratio: 1/2)');
  test_cq_condition_known('(orientation: portrait)');
  test_cq_condition_known('(inline-size)');
  test_cq_condition_known('(min-inline-size: 0px)');
  test_cq_condition_known('(max-inline-size: 0px)');
  test_cq_condition_known('(block-size)');
  test_cq_condition_known('(min-block-size: 0px)');
  test_cq_condition_known('(max-block-size: 0px)');

  test_cq_condition_known('(width: 100px)');
  test_cq_condition_known('((width: 100px))');
  test_cq_condition_known('(not (width: 100px))');
  test_cq_condition_known('((width: 100px) and (height: 100px))');
  test_cq_condition_known('(((width: 40px) or (width: 50px)) and (height: 100px))');
  test_cq_condition_known('((width: 100px) and ((height: 40px) or (height: 50px)))');
  test_cq_condition_known('(((width: 40px) and (height: 50px)) or (height: 100px))');
  test_cq_condition_known('((width: 50px) or ((width: 40px) and (height: 50px)))');
  test_cq_condition_known('((width: 100px) and (not (height: 100px)))');
  test_cq_condition_known('(width < 100px)');
  test_cq_condition_known('(width <= 100px)');
  test_cq_condition_known('(width = 100px)');
  test_cq_condition_known('(width > 100px)');
  test_cq_condition_known('(width >= 100px)');
  test_cq_condition_known('(100px < width)');
  test_cq_condition_known('(100px <= width)');
  test_cq_condition_known('(100px = width)');
  test_cq_condition_known('(100px > width)');
  test_cq_condition_known('(100px >= width)');
  test_cq_condition_known('(100px < width < 200px)');
  test_cq_condition_known('(100px < width <= 200px)');
  test_cq_condition_known('(100px <= width < 200px)');
  test_cq_condition_known('(100px > width > 200px)');
  test_cq_condition_known('(100px > width >= 200px)');
  test_cq_condition_known('(100px >= width > 200px)');

  test_cq_condition_known('(width: calc(10px))');
  test_cq_condition_known('(width: calc(10em))');
  test_cq_condition_known('(width: calc(10px + 10em))');
  test_cq_condition_known('(width < calc(10px + 10em))');
  test_cq_condition_known('(width < max(10px, 10em))');
  test_cq_condition_known('(calc(10px + 10em) < width)');
  test_cq_condition_known('(calc(10px + 10em) < width < max(30px, 30em))');
  test_cq_condition_known('(width: 100px) and (height: 100px)');
  test_cq_condition_known('(width: 100px) or (height: 100px)');
  test_cq_condition_known('not (width: 100px)');

  test_cq_condition_unknown('foo(width)');
  test_cq_condition_unknown('size(width)');
  test_cq_condition_unknown('(asdf)');
  test_cq_condition_unknown('(resolution > 100dpi)');
  test_cq_condition_unknown('(resolution: 150dpi)');
  test_cq_condition_unknown('(resolution: calc(2x))');
  test_cq_condition_unknown('(color)');
  test_cq_condition_unknown('(min-color: 1)');
  test_cq_condition_unknown('(color-index >= 1)');
  test_cq_condition_unknown('size(grid)');
  test_cq_condition_unknown('(grid)');
  test_cq_condition_unknown('(width == 100px)');
  test_cq_condition_unknown('(100px == width)');
  test_cq_condition_unknown('(100px = width = 200px)');
  test_cq_condition_unknown('(100px < width > 200px)');
  test_cq_condition_unknown('(100px <= width >= 200px)');
  test_cq_condition_unknown('(100px <= width > 200px)');
  test_cq_condition_unknown('(100px < width >= 200px)');
  test_cq_condition_unknown('(100px : width : 200px)');

  test_cq_condition_invalid('screen');
  test_cq_condition_invalid('print');
  test_cq_condition_invalid('not print');
  test_cq_condition_invalid('only print');
  test_cq_condition_invalid('screen and (width: 100px)');
  test_cq_condition_invalid('screen or (width: 100px)');
  test_cq_condition_invalid('not screen and (width: 100px)');
  test_cq_condition_invalid('not screen or (width: 100px)');
  test_cq_condition_invalid('foo (width: 100px)');

  test_cq_rule_valid('name not (width <= 500px)');
  test_cq_rule_valid('not (width <= 500px)');
  test_cq_rule_valid('(width: 100px), (height: 100px)');
  test_cq_rule_valid('(width),(height)  , (inline-size > 20px)');
  test_cq_rule_valid('(width), name (height)');
  test_cq_rule_valid('--foo');
  test_cq_rule_valid('container');
  test_cq_rule_valid('container, container2');

  test_cq_rule_invalid('');
  test_cq_rule_invalid('(width),');
  test_cq_rule_invalid(',(width)');
  test_cq_rule_invalid('(width),,(height)');

  test_container_name_valid('foo');
  test_container_name_valid(' foo');
  test_container_name_valid(' foo ');
  test_container_name_valid('normal');
  test_container_name_valid('Normal');
  test_container_name_valid('auto');
  test_container_name_valid('Auto');

  test_container_name_invalid('foo foo');
  test_container_name_invalid('1px');
  test_container_name_invalid('50gil');
  test_container_name_invalid('name(foo)');
  test_container_name_invalid('type(inline-size)');
  test_container_name_invalid('"foo"');
  test_container_name_invalid('"inherit"');
  test_container_name_invalid('inherit');
  test_container_name_invalid('INITIAL');
  test_container_name_invalid('Unset');
  test_container_name_invalid('deFAULT');
  test_container_name_invalid('none');
  test_container_name_invalid('None');
  test_container_name_invalid('and');
  test_container_name_invalid('or');
  test_container_name_invalid('not');
  test_container_name_invalid('And');
  test_container_name_invalid('oR');
  test_container_name_invalid('nOt');
</script>