Files
servo/tests/wpt/css-tests/css21_dev/xhtml1/square-brackets-001.xht

212 lines
5.2 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><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<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>
]
}
}
]
-->