1
0
Fork 0
firefox/testing/web-platform/tests/css/CSS2/syntax/square-brackets-001.xht
Daniel Baumann 5e9a113729
Adding upstream version 140.0.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
2025-06-25 09:37:52 +02:00

216 lines
5.1 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>CSS Test: Parser recovery after invalid '['</title>
<link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu"/>
<link rel="reviewer" title="Ms2ger" href="mailto:Ms2ger@gmail.com"/>
<link rel="help" href="http://www.w3.org/TR/CSS21/syndata.html#parsing-errors"/>
<link rel="help" href="https://drafts.csswg.org/css-syntax-3/#css-stylesheets"/>
<link rel="match" href="../reference/ref-this-text-should-be-green.xht"/>
<meta name="flags" content="invalid" />
<meta name="assert" content="When an invalid '[' is encountered where a
selector is expected, the CSS parser skips to
the matching ']' and then ignores the following
ruleset."/>
<style type="text/css"><![CDATA[
p { color: red; }
[
p { color: red !important; }
p { color: red !important; }
] p { color: red !important; }
p { color: green; }
]]></style>
</head>
<body>
<p>This text should be green.</p>
</body>
</html>
<!--
<https://drafts.csswg.org/css-syntax/#tokenization>:
line 1
<whitespace-token>
<ident-token> p
<whitespace-token>
<{-token>
<whitespace-token>
<ident-token> color
<colon-token>
<whitespace-token>
<ident-token> red
<semicolon-token>
<whitespace-token>
<}-token>
line 2
<whitespace-token>
<[-token>
line 3
<whitespace-token>
<ident-token> p
<whitespace-token>
<{-token>
<whitespace-token>
<ident-token> color
<colon-token>
<whitespace-token>
<ident-token> red
<whitespace-token>
<delim-token> !
<ident-token> important
<semicolon-token>
<whitespace-token>
<}-token>
line 4
<whitespace-token>
<ident-token> p
<whitespace-token>
<{-token>
<whitespace-token>
<ident-token> color
<colon-token>
<whitespace-token>
<ident-token> red
<whitespace-token>
<delim-token> !
<ident-token> important
<semicolon-token>
<whitespace-token>
<}-token>
line 5
<whitespace-token>
<]-token>
<ident-token> p
<whitespace-token>
<{-token>
<whitespace-token>
<ident-token> color
<colon-token>
<whitespace-token>
<ident-token> red
<whitespace-token>
<delim-token> !
<ident-token> important
<semicolon-token>
<whitespace-token>
<}-token>
line 6
<whitespace-token>
<ident-token> p
<whitespace-token>
<{-token>
<whitespace-token>
<ident-token> color
<colon-token>
<whitespace-token>
<ident-token> green
<semicolon-token>
<whitespace-token>
<}-token>
line 7
<whitespace-token>
<https://drafts.csswg.org/css-syntax/#consume-a-list-of-rules>:
[
qualified rule {
prelude: [
<ident-token> p
<whitespace-token>
]
block:
simple block {
associated token: <{-token>
value: [
<whitespace-token>
<ident-token> color
<colon-token>
<whitespace-token>
<ident-token> red
<semicolon-token>
<whitespace-token>
]
}
}
qualified rule {
prelude: [
simple block {
associated token: <[-token>
value: [
<whitespace-token>
<ident-token> p
<whitespace-token>
simple block {
associated token: <{-token>
value: [
<whitespace-token>
<ident-token> color
<colon-token>
<whitespace-token>
<ident-token> red
<whitespace-token>
<delim-token> !
<ident-token> important
<semicolon-token>
<whitespace-token>
]
}
<whitespace-token>
<ident-token> p
<whitespace-token>
simple block {
associated token: <{-token>
value: [
<whitespace-token>
<ident-token> color
<colon-token>
<whitespace-token>
<ident-token> red
<whitespace-token>
<delim-token> !
<ident-token> important
<semicolon-token>
<whitespace-token>
]
}
<whitespace-token>
]
}
<ident-token> p
<whitespace-token>
]
block:
simple block {
associated token: <{-token>
value: [
<whitespace-token>
<ident-token> color
<colon-token>
<whitespace-token>
<ident-token> red
<whitespace-token>
<delim-token> !
<ident-token> important
<semicolon-token>
<whitespace-token>
]
}
}
qualified rule {
prelude: [
<ident-token> p
<whitespace-token>
]
block:
simple block {
associated token: <{-token>
value: [
<whitespace-token>
<ident-token> color
<colon-token>
<whitespace-token>
<ident-token> green
<semicolon-token>
<whitespace-token>
]
}
}
]
-->