servo/tests/wpt/css-tests/css-conditional-3_dev/xhtml1print/chapter-6.xht

903 lines
No EOL
39 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Feature queries: the &#8216;@supports&#8217; rule - CSS Conditional Rules Module Level 3 CR Test Suite</title>
<style type="text/css">
@import "http://www.w3.org/StyleSheets/TR/base.css";
@import "../indices.css";
</style>
</head>
<body>
<h1>CSS Conditional Rules Module Level 3 CR Test Suite</h1>
<h2>Feature queries: the &#8216;@supports&#8217; rule (84 tests)</h2>
<table width="100%">
<col id="test-column"></col>
<col id="refs-column"></col>
<col id="flags-column"></col>
<col id="info-column"></col>
<thead>
<tr>
<th>Test</th>
<th><abbr title="Rendering References">Refs</abbr></th>
<th>Flags</th>
<th>Info</th>
</tr>
</thead>
<tbody id="s6">
<tr><th colspan="4" scope="rowgroup">
<a href="#s6">+</a>
<a href="https://www.w3.org/TR/css3-conditional/#at-supports">6 Feature queries: the &#8216;@supports&#8217; rule</a></th></tr>
<!-- 84 tests -->
<tr id="001-6" class="script">
<td>
<a href="001.xht">001</a></td>
<td></td>
<td><abbr class="script" title="Executes tests in script">Script</abbr></td>
<td>@supports rules OM support
</td>
</tr>
<tr id="at-supports-001-6" class="">
<td>
<a href="at-supports-001.xht">at-supports-001</a></td>
<td><a href="reference/at-supports-001-ref.xht">=</a> </td>
<td></td>
<td>Support for simple passing conditions in @supports
</td>
</tr>
<tr id="at-supports-002-6" class="">
<td>
<a href="at-supports-002.xht">at-supports-002</a></td>
<td><a href="reference/at-supports-001-ref.xht">=</a> </td>
<td></td>
<td>Support for @supports within @media
</td>
</tr>
<tr id="at-supports-003-6" class="">
<td>
<a href="at-supports-003.xht">at-supports-003</a></td>
<td><a href="reference/at-supports-001-ref.xht">=</a> </td>
<td></td>
<td>Support for @media within @supports
</td>
</tr>
<tr id="at-supports-004-6" class="">
<td>
<a href="at-supports-004.xht">at-supports-004</a></td>
<td><a href="reference/at-supports-001-ref.xht">=</a> </td>
<td></td>
<td>@supports within non-matching @media should not apply
</td>
</tr>
<tr id="at-supports-005-6" class="">
<td>
<a href="at-supports-005.xht">at-supports-005</a></td>
<td><a href="reference/at-supports-001-ref.xht">=</a> </td>
<td></td>
<td>non-matching @media within @supports should not apply
</td>
</tr>
<tr id="at-supports-006-6" class="">
<td>
<a href="at-supports-006.xht">at-supports-006</a></td>
<td><a href="reference/at-supports-001-ref.xht">=</a> </td>
<td></td>
<td>Nested parens around conditions in @supports should work
</td>
</tr>
<tr id="at-supports-007-6" class="">
<td>
<a href="at-supports-007.xht">at-supports-007</a></td>
<td><a href="reference/at-supports-001-ref.xht">=</a> </td>
<td></td>
<td>Conjunctions of passing simple conditions in @supports should pass
</td>
</tr>
<tr id="at-supports-008-6" class="">
<td>
<a href="at-supports-008.xht">at-supports-008</a></td>
<td><a href="reference/at-supports-001-ref.xht">=</a> </td>
<td></td>
<td>Disjunctions with at least a passing simple condition in @supports should pass
</td>
</tr>
<tr id="at-supports-009-6" class="">
<td>
<a href="at-supports-009.xht">at-supports-009</a></td>
<td><a href="reference/at-supports-001-ref.xht">=</a> </td>
<td></td>
<td>Negations of failing simple conditions in @supports should pass
</td>
</tr>
<tr id="at-supports-010-6" class="">
<td>
<a href="at-supports-010.xht">at-supports-010</a></td>
<td><a href="reference/at-supports-001-ref.xht">=</a> </td>
<td></td>
<td>Combinations of conjuctions, disjunctions, and negations of simple conditions in @supports should work
</td>
</tr>
<tr id="at-supports-011-6" class="invalid">
<td>
<a href="at-supports-011.xht">at-supports-011</a></td>
<td><a href="reference/at-supports-001-ref.xht">=</a> </td>
<td><abbr class="invalid" title="Tests invalid CSS">Invalid</abbr></td>
<td>Conditions not enclosed in parens in @supports should not work
</td>
</tr>
<tr id="at-supports-012-6" class="">
<td>
<a href="at-supports-012.xht">at-supports-012</a></td>
<td><a href="reference/at-supports-001-ref.xht">=</a> </td>
<td></td>
<td>Conjunctions with more than two terms in @supports should work
</td>
</tr>
<tr id="at-supports-013-6" class="">
<td>
<a href="at-supports-013.xht">at-supports-013</a></td>
<td><a href="reference/at-supports-001-ref.xht">=</a> </td>
<td></td>
<td>Disjunction with more than two terms in @supports should work
</td>
</tr>
<tr id="at-supports-014-6" class="invalid">
<td>
<a href="at-supports-014.xht">at-supports-014</a></td>
<td><a href="reference/at-supports-001-ref.xht">=</a> </td>
<td><abbr class="invalid" title="Tests invalid CSS">Invalid</abbr></td>
<td>Negations in @supports should not work if &quot;not&quot; isn't follow by a space
</td>
</tr>
<tr id="at-supports-015-6" class="">
<td>
<a href="at-supports-015.xht">at-supports-015</a></td>
<td><a href="reference/at-supports-001-ref.xht">=</a> </td>
<td></td>
<td>Bizarre syntax that still conforms to the core grammar should succesfully parse in @supports
</td>
</tr>
<tr id="at-supports-016-6" class="invalid">
<td>
<a href="at-supports-016.xht">at-supports-016</a></td>
<td><a href="reference/at-supports-001-ref.xht">=</a> </td>
<td><abbr class="invalid" title="Tests invalid CSS">Invalid</abbr></td>
<td>In @supports, parens are required to mix conjunctions with disjunctions
</td>
</tr>
<tr id="at-supports-017-6" class="">
<td>
<a href="at-supports-017.xht">at-supports-017</a></td>
<td><a href="reference/at-supports-001-ref.xht">=</a> </td>
<td></td>
<td>In @supports, functions can be parsed successfully
</td>
</tr>
<tr id="at-supports-018-6" class="">
<td>
<a href="at-supports-018.xht">at-supports-018</a></td>
<td><a href="reference/at-supports-001-ref.xht">=</a> </td>
<td></td>
<td>In @supports conditions, the arguments of a function can begin with spaces
</td>
</tr>
<tr id="at-supports-019-6" class="invalid">
<td>
<a href="at-supports-019.xht">at-supports-019</a></td>
<td><a href="reference/at-supports-001-ref.xht">=</a> </td>
<td><abbr class="invalid" title="Tests invalid CSS">Invalid</abbr></td>
<td>Incorrect syntax in @supports recovers properly
</td>
</tr>
<tr id="at-supports-020-6" class="invalid">
<td>
<a href="at-supports-020.xht">at-supports-020</a></td>
<td><a href="reference/at-supports-001-ref.xht">=</a> </td>
<td><abbr class="invalid" title="Tests invalid CSS">Invalid</abbr></td>
<td>Incorrect syntax in @supports recovers properly
</td>
</tr>
<tr id="at-supports-021-6" class="invalid">
<td>
<a href="at-supports-021.xht">at-supports-021</a></td>
<td><a href="reference/at-supports-001-ref.xht">=</a> </td>
<td><abbr class="invalid" title="Tests invalid CSS">Invalid</abbr></td>
<td>Incorrect syntax in @supports recovers properly
</td>
</tr>
<tr id="at-supports-022-6" class="invalid">
<td>
<a href="at-supports-022.xht">at-supports-022</a></td>
<td><a href="reference/at-supports-001-ref.xht">=</a> </td>
<td><abbr class="invalid" title="Tests invalid CSS">Invalid</abbr></td>
<td>Incorrect syntax in @supports recovers properly
</td>
</tr>
<tr id="at-supports-023-6" class="invalid">
<td>
<a href="at-supports-023.xht">at-supports-023</a></td>
<td><a href="reference/at-supports-001-ref.xht">=</a> </td>
<td><abbr class="invalid" title="Tests invalid CSS">Invalid</abbr></td>
<td>Incorrect syntax in nested @supports recovers properly
</td>
</tr>
<tr id="at-supports-024-6" class="invalid">
<td>
<a href="at-supports-024.xht">at-supports-024</a></td>
<td><a href="reference/at-supports-001-ref.xht">=</a> </td>
<td><abbr class="invalid" title="Tests invalid CSS">Invalid</abbr></td>
<td>Incorrect syntax in @supports recovers properly
</td>
</tr>
<tr id="at-supports-025-6" class="invalid">
<td>
<a href="at-supports-025.xht">at-supports-025</a></td>
<td><a href="reference/at-supports-001-ref.xht">=</a> </td>
<td><abbr class="invalid" title="Tests invalid CSS">Invalid</abbr></td>
<td>Incorrect syntax in @supports recovers properly
</td>
</tr>
<tr id="at-supports-026-6" class="invalid">
<td>
<a href="at-supports-026.xht">at-supports-026</a></td>
<td><a href="reference/at-supports-001-ref.xht">=</a> </td>
<td><abbr class="invalid" title="Tests invalid CSS">Invalid</abbr></td>
<td>Incorrect syntax in @supports recovers properly
</td>
</tr>
<tr id="at-supports-027-6" class="invalid">
<td>
<a href="at-supports-027.xht">at-supports-027</a></td>
<td><a href="reference/at-supports-027-ref.xht">=</a> </td>
<td><abbr class="invalid" title="Tests invalid CSS">Invalid</abbr></td>
<td>Incorrect syntax in @supports recovers properly
</td>
</tr>
<tr id="at-supports-028-6" class="invalid">
<td>
<a href="at-supports-028.xht">at-supports-028</a></td>
<td><a href="reference/at-supports-001-ref.xht">=</a> </td>
<td><abbr class="invalid" title="Tests invalid CSS">Invalid</abbr></td>
<td>Incorrect syntax in @supports recovers properly
</td>
</tr>
<tr id="at-supports-029-6" class="invalid">
<td>
<a href="at-supports-029.xht">at-supports-029</a></td>
<td><a href="reference/at-supports-027-ref.xht">=</a> </td>
<td><abbr class="invalid" title="Tests invalid CSS">Invalid</abbr></td>
<td>Incorrect syntax in @supports recovers properly
</td>
</tr>
<tr id="at-supports-030-6" class="invalid">
<td>
<a href="at-supports-030.xht">at-supports-030</a></td>
<td><a href="reference/at-supports-001-ref.xht">=</a> </td>
<td><abbr class="invalid" title="Tests invalid CSS">Invalid</abbr></td>
<td>Incorrect syntax in @supports recovers properly
</td>
</tr>
<tr id="at-supports-031-6" class="invalid">
<td>
<a href="at-supports-031.xht">at-supports-031</a></td>
<td><a href="reference/at-supports-001-ref.xht">=</a> </td>
<td><abbr class="invalid" title="Tests invalid CSS">Invalid</abbr></td>
<td>Incorrect syntax in @supports recovers properly
</td>
</tr>
<tr id="at-supports-032-6" class="invalid">
<td>
<a href="at-supports-032.xht">at-supports-032</a></td>
<td><a href="reference/at-supports-001-ref.xht">=</a> </td>
<td><abbr class="invalid" title="Tests invalid CSS">Invalid</abbr></td>
<td>Incorrect syntax in @supports recovers properly
</td>
</tr>
<tr id="at-supports-033-6" class="invalid">
<td>
<a href="at-supports-033.xht">at-supports-033</a></td>
<td><a href="reference/at-supports-001-ref.xht">=</a> </td>
<td><abbr class="invalid" title="Tests invalid CSS">Invalid</abbr></td>
<td>Incorrect syntax in @supports recovers properly
</td>
</tr>
<tr id="at-supports-034-6" class="invalid">
<td>
<a href="at-supports-034.xht">at-supports-034</a></td>
<td><a href="reference/at-supports-001-ref.xht">=</a> </td>
<td><abbr class="invalid" title="Tests invalid CSS">Invalid</abbr></td>
<td>Incorrect syntax of supports condition
<ul class="assert">
<li>Each individual single supports condition must be enclosed by one opening parenthesis '(' and one closing parenthesis ')'.</li>
</ul>
</td>
</tr>
<tr id="at-supports-035-6" class="invalid">
<td>
<a href="at-supports-035.xht">at-supports-035</a></td>
<td><a href="reference/at-supports-001-ref.xht">=</a> </td>
<td><abbr class="invalid" title="Tests invalid CSS">Invalid</abbr></td>
<td>Incorrect syntax of supports condition
<ul class="assert">
<li>Each individual single supports condition must be enclosed by one opening parenthesis '(' and one closing parenthesis ')'.</li>
</ul>
</td>
</tr>
<tr id="at-supports-036-6" class="invalid">
<td>
<a href="at-supports-036.xht">at-supports-036</a></td>
<td><a href="reference/at-supports-001-ref.xht">=</a> </td>
<td><abbr class="invalid" title="Tests invalid CSS">Invalid</abbr></td>
<td>Incorrect syntax of supports condition
<ul class="assert">
<li>Each individual single supports condition must be enclosed by one opening parenthesis '(' and one closing parenthesis ')'.</li>
</ul>
</td>
</tr>
<tr id="at-supports-037-6" class="invalid">
<td>
<a href="at-supports-037.xht">at-supports-037</a></td>
<td><a href="reference/at-supports-001-ref.xht">=</a> </td>
<td><abbr class="invalid" title="Tests invalid CSS">Invalid</abbr></td>
<td>Incorrect syntax of supports condition
<ul class="assert">
<li>Each individual single supports condition must be enclosed by one opening parenthesis '(' and one closing parenthesis ')'.</li>
</ul>
</td>
</tr>
<tr id="at-supports-038-6" class="invalid">
<td>
<a href="at-supports-038.xht">at-supports-038</a></td>
<td><a href="reference/at-supports-001-ref.xht">=</a> </td>
<td><abbr class="invalid" title="Tests invalid CSS">Invalid</abbr></td>
<td>a supports condition declaration can not end with a semi-colon
<ul class="assert">
<li>Each individual single supports condition declaration can not end up with a semi-colon ';'. A semi-colon is a punctuation separator of multiple CSS declarations and thus is not part of an individual CSS declaration per se.</li>
</ul>
</td>
</tr>
<tr id="at-supports-039-6" class="invalid">
<td>
<a href="at-supports-039.xht">at-supports-039</a></td>
<td><a href="reference/at-supports-001-ref.xht">=</a> </td>
<td><abbr class="invalid" title="Tests invalid CSS">Invalid</abbr></td>
<td>a supports condition declaration can not end with a semi-colon
<ul class="assert">
<li>Each individual single supports condition declaration can not end up with a semi-colon ';'. A semi-colon is a punctuation separator of multiple CSS declarations and thus is not part of an individual CSS declaration per se.</li>
</ul>
</td>
</tr>
<tr id="css-supports-001-6" class="">
<td>
<a href="css-supports-001.xht">css-supports-001</a></td>
<td><a href="support/pass.xht">=</a> </td>
<td></td>
<td>An @supports rule with valid syntax and a passing condition must apply rules inside it
<ul class="assert">
<li>An @supports rule condition with a single, valid property declaration for a supported property must cause the rules inside the @supports rule to apply.</li>
</ul>
</td>
</tr>
<tr id="css-supports-002-6" class="invalid">
<td>
<a href="css-supports-002.xht">css-supports-002</a></td>
<td><a href="support/pass.xht">=</a> </td>
<td><abbr class="invalid" title="Tests invalid CSS">Invalid</abbr></td>
<td>An @supports rule with invalid syntax must not apply rules inside it
<ul class="assert">
<li>Property declarations in an @supports rule condition must be surrounded by parentheses.</li>
</ul>
</td>
</tr>
<tr id="css-supports-003-6" class="">
<td>
<a href="css-supports-003.xht">css-supports-003</a></td>
<td><a href="support/pass.xht">=</a> </td>
<td></td>
<td>An @supports rule with valid syntax and a passing condition must apply rules inside it
<ul class="assert">
<li>Any subexpression in an @supports rule condition can be surrounded by an extra pair of parentheses.</li>
</ul>
</td>
</tr>
<tr id="css-supports-004-6" class="">
<td>
<a href="css-supports-004.xht">css-supports-004</a></td>
<td><a href="support/pass.xht">=</a> </td>
<td></td>
<td>An @supports rule with valid syntax and a passing condition must apply rules inside it
<ul class="assert">
<li>Property declarations in an @supports rule can have !important specified.</li>
</ul>
</td>
</tr>
<tr id="css-supports-005-6" class="">
<td>
<a href="css-supports-005.xht">css-supports-005</a></td>
<td><a href="support/pass.xht">=</a> </td>
<td></td>
<td>An @supports rule with valid syntax but a failing condition must not apply rules inside it
<ul class="assert">
<li>A supported property with an unsupported value must cause the @supports condition to fail.</li>
</ul>
</td>
</tr>
<tr id="css-supports-006-6" class="">
<td>
<a href="css-supports-006.xht">css-supports-006</a></td>
<td><a href="support/pass.xht">=</a> </td>
<td></td>
<td>An @supports rule with valid syntax and a passing condition must apply rules inside it
<ul class="assert">
<li>A disjunction of two @supports conditions must cause the @supports condition to pass if the left condition passes.</li>
</ul>
</td>
</tr>
<tr id="css-supports-007-6" class="">
<td>
<a href="css-supports-007.xht">css-supports-007</a></td>
<td><a href="support/pass.xht">=</a> </td>
<td></td>
<td>An @supports rule with valid syntax and a passing condition must apply rules inside it
<ul class="assert">
<li>A disjunction of two @supports conditions must cause the @supports condition to pass if the right condition passes.</li>
</ul>
</td>
</tr>
<tr id="css-supports-008-6" class="">
<td>
<a href="css-supports-008.xht">css-supports-008</a></td>
<td><a href="support/pass.xht">=</a> </td>
<td></td>
<td>An @supports rule with valid syntax and a passing condition must apply rules inside it
<ul class="assert">
<li>A conjunction of two @supports conditions must cause the @supports condition to pass if both sub-conditions pass.</li>
</ul>
</td>
</tr>
<tr id="css-supports-009-6" class="">
<td>
<a href="css-supports-009.xht">css-supports-009</a></td>
<td><a href="support/pass.xht">=</a> </td>
<td></td>
<td>An @supports rule with valid syntax but a failing condition must not apply rules inside it
<ul class="assert">
<li>A conjunction of two @supports conditions must cause the @supports condition to fail if the left sub-condition passes.</li>
</ul>
</td>
</tr>
<tr id="css-supports-010-6" class="">
<td>
<a href="css-supports-010.xht">css-supports-010</a></td>
<td><a href="support/pass.xht">=</a> </td>
<td></td>
<td>An @supports rule with valid syntax but a failing condition must not apply rules inside it
<ul class="assert">
<li>A conjunction of two @supports conditions must cause the @supports condition to fail if the right sub-condition passes.</li>
</ul>
</td>
</tr>
<tr id="css-supports-011-6" class="">
<td>
<a href="css-supports-011.xht">css-supports-011</a></td>
<td><a href="support/pass.xht">=</a> </td>
<td></td>
<td>An @supports rule with valid syntax and a passing condition must apply rules inside it
<ul class="assert">
<li>A disjunction of three @supports conditions must cause the @supports condition to pass if at least one of the sub-conditions passes.</li>
</ul>
</td>
</tr>
<tr id="css-supports-012-6" class="">
<td>
<a href="css-supports-012.xht">css-supports-012</a></td>
<td><a href="support/pass.xht">=</a> </td>
<td></td>
<td>An @supports rule with valid syntax and a passing condition must apply rules inside it
<ul class="assert">
<li>A conjunction of three @supports conditions must cause the @supports condition to pass if all three sub-conditions pass.</li>
</ul>
</td>
</tr>
<tr id="css-supports-013-6" class="invalid">
<td>
<a href="css-supports-013.xht">css-supports-013</a></td>
<td><a href="support/pass.xht">=</a> </td>
<td><abbr class="invalid" title="Tests invalid CSS">Invalid</abbr></td>
<td>An @supports rule with invalid syntax must not apply rules inside it
<ul class="assert">
<li>A disjunction and a conjunction of @supports conditions must not be combined unless one of the two is surrounded by parentheses.</li>
</ul>
</td>
</tr>
<tr id="css-supports-014-6" class="invalid">
<td>
<a href="css-supports-014.xht">css-supports-014</a></td>
<td><a href="support/pass.xht">=</a> </td>
<td><abbr class="invalid" title="Tests invalid CSS">Invalid</abbr></td>
<td>An @supports rule with invalid syntax must not apply rules inside it
<ul class="assert">
<li>A disjunction and a conjunction of @supports conditions must not be combined unless one of the two is surrounded by parentheses.</li>
</ul>
</td>
</tr>
<tr id="css-supports-015-6" class="">
<td>
<a href="css-supports-015.xht">css-supports-015</a></td>
<td><a href="support/pass.xht">=</a> </td>
<td></td>
<td>An @supports rule with valid syntax and a passing condition must apply rules inside it
<ul class="assert">
<li>There need not be any white space between the '@supports' and open brace of the rule set, nor between a declaration's property name and value.</li>
</ul>
</td>
</tr>
<tr id="css-supports-016-6" class="">
<td>
<a href="css-supports-016.xht">css-supports-016</a></td>
<td><a href="support/pass.xht">=</a> </td>
<td></td>
<td>An @supports rule with valid syntax and a passing condition must apply rules inside it
<ul class="assert">
<li>A negation of an @supports condition must pass if and only if the sub-condition fails. The sub-condition here is a supported property name with an unsupported value.</li>
</ul>
</td>
</tr>
<tr id="css-supports-017-6" class="invalid">
<td>
<a href="css-supports-017.xht">css-supports-017</a></td>
<td><a href="support/pass.xht">=</a> </td>
<td><abbr class="invalid" title="Tests invalid CSS">Invalid</abbr></td>
<td>An @supports rule with invalid syntax must not apply rules inside it
<ul class="assert">
<li>The sub-condition of a negation in an @supports condition must be in parentheses.</li>
</ul>
</td>
</tr>
<tr id="css-supports-018-6" class="">
<td>
<a href="css-supports-018.xht">css-supports-018</a></td>
<td><a href="support/pass.xht">=</a> </td>
<td></td>
<td>An @supports rule with valid syntax and a passing condition must apply rules inside it
<ul class="assert">
<li>The sub-condition of a negation in an @supports condition must be in parentheses.</li>
</ul>
</td>
</tr>
<tr id="css-supports-019-6" class="invalid">
<td>
<a href="css-supports-019.xht">css-supports-019</a></td>
<td><a href="support/pass.xht">=</a> </td>
<td><abbr class="invalid" title="Tests invalid CSS">Invalid</abbr></td>
<td>An @supports rule with invalid syntax must not apply rules inside it
<ul class="assert">
<li>A conjunction in an @supports condition must have both sub-conditions enclosed in parentheses.</li>
</ul>
</td>
</tr>
<tr id="css-supports-020-6" class="">
<td>
<a href="css-supports-020.xht">css-supports-020</a></td>
<td><a href="support/pass.xht">=</a> </td>
<td></td>
<td>An @supports rule with valid syntax but a failing condition must not apply rules inside it
<ul class="assert">
<li>An @supports condition that is a declaration with a supported property name with an unsupported value must fail.</li>
</ul>
</td>
</tr>
<tr id="css-supports-021-6" class="">
<td>
<a href="css-supports-021.xht">css-supports-021</a></td>
<td><a href="support/pass.xht">=</a> </td>
<td></td>
<td>An @supports rule with valid syntax but a failing condition must not apply rules inside it
<ul class="assert">
<li>A disjunction of two @supports conditions must cause the @supports condition to pass if one condition passes and the other fails due to being an unsupported property.</li>
</ul>
</td>
</tr>
<tr id="css-supports-022-6" class="">
<td>
<a href="css-supports-022.xht">css-supports-022</a></td>
<td><a href="support/pass.xht">=</a> </td>
<td></td>
<td>An @supports rule with balanced invalid syntax within parentheses must evaluate to false
<ul class="assert">
<li>An @supports condition must successfully parse even if a declaration has an empty property value.</li>
</ul>
</td>
</tr>
<tr id="css-supports-023-6" class="">
<td>
<a href="css-supports-023.xht">css-supports-023</a></td>
<td><a href="support/pass.xht">=</a> </td>
<td></td>
<td>An @supports rule with balanced invalid syntax within parentheses must evaluate to false
<ul class="assert">
<li>An @supports condition must successfully parse a parenthesized expression that has invalid syntax with balanced parentheses.</li>
</ul>
</td>
</tr>
<tr id="css-supports-024-6" class="">
<td>
<a href="css-supports-024.xht">css-supports-024</a></td>
<td><a href="support/pass.xht">=</a> </td>
<td></td>
<td>An @supports rule with valid syntax and a passing condition must apply rules inside it
<ul class="assert">
<li>A supported shorthand property declaration must be considered to pass.</li>
</ul>
</td>
</tr>
<tr id="css-supports-025-6" class="">
<td>
<a href="css-supports-025.xht">css-supports-025</a></td>
<td><a href="support/pass.xht">=</a> </td>
<td></td>
<td>A nested @supports rule with valid syntax and a passing condition must apply rules inside it
<ul class="assert">
<li>An inner @supports rule inside an outer @supports must apply its child rules only if both @supports conditions succeeded.</li>
</ul>
</td>
</tr>
<tr id="css-supports-026-6" class="">
<td>
<a href="css-supports-026.xht">css-supports-026</a></td>
<td><a href="support/pass.xht">=</a> </td>
<td></td>
<td>A nested @supports rule with valid syntax and a passing condition must apply rules inside it
<ul class="assert">
<li>An outer @supports rule with an inner @media rule must apply the rules inside the @media only if both the @supports and @media conditions pass.</li>
</ul>
</td>
</tr>
<tr id="css-supports-029-6" class="">
<td>
<a href="css-supports-029.xht">css-supports-029</a></td>
<td><a href="support/pass.xht">=</a> </td>
<td></td>
<td>An @supports rule with valid syntax and a passing condition must apply rules inside it
<ul class="assert">
<li>A disjunction in an @supports condition must have both sub-conditions enclosed in parentheses.</li>
</ul>
</td>
</tr>
<tr id="css-supports-030-6" class="">
<td>
<a href="css-supports-030.xht">css-supports-030</a></td>
<td><a href="support/pass.xht">=</a> </td>
<td></td>
<td>An @supports rule with valid syntax and a passing condition must apply rules inside it
<ul class="assert">
<li>A disjunction in an @supports condition must have both sub-conditions enclosed in parentheses.</li>
</ul>
</td>
</tr>
<tr id="css-supports-031-6" class="">
<td>
<a href="css-supports-031.xht">css-supports-031</a></td>
<td><a href="support/pass.xht">=</a> </td>
<td></td>
<td>An @supports rule with balanced invalid syntax within parentheses must evaluate to false
<ul class="assert">
<li>An @supports condition must successfully parse a parenthesized expression that has invalid syntax with balanced parentheses.</li>
</ul>
</td>
</tr>
<tr id="css-supports-032-6" class="">
<td>
<a href="css-supports-032.xht">css-supports-032</a></td>
<td><a href="support/pass.xht">=</a> </td>
<td></td>
<td>An @supports rule with balanced invalid syntax must evaluate to false
<ul class="assert">
<li>An @supports condition must successfully parse and evaluate to false a parenthesized expression has invalid syntax.</li>
</ul>
</td>
</tr>
<tr id="css-supports-033-6" class="">
<td>
<a href="css-supports-033.xht">css-supports-033</a></td>
<td><a href="support/pass.xht">=</a> </td>
<td></td>
<td>An @supports rule with balanced invalid syntax must evaluate to false
<ul class="assert">
<li>An @supports condition must successfully parse a parenthesized expression that has invalid syntax with balanced parentheses.</li>
</ul>
</td>
</tr>
<tr id="css-supports-034-6" class="">
<td>
<a href="css-supports-034.xht">css-supports-034</a></td>
<td><a href="support/pass.xht">=</a> </td>
<td></td>
<td>An @supports rule with balanced invalid syntax must evaluate to false
<ul class="assert">
<li>An @supports condition must successfully parse a parenthesized expression that has invalid syntax with balanced parentheses.</li>
</ul>
</td>
</tr>
<tr id="css-supports-035-6" class="invalid">
<td>
<a href="css-supports-035.xht">css-supports-035</a></td>
<td><a href="support/pass.xht">=</a> </td>
<td><abbr class="invalid" title="Tests invalid CSS">Invalid</abbr></td>
<td>An @supports rule with unbalanced invalid syntax must fail to parse
<ul class="assert">
<li>An @supports condition with a parenthesized expression that has unbalanced parentheses must fail to parse.</li>
</ul>
</td>
</tr>
<tr id="css-supports-036-6" class="">
<td>
<a href="css-supports-036.xht">css-supports-036</a></td>
<td><a href="support/pass.xht">=</a> </td>
<td></td>
<td>An @supports rule with an unrecognized condition using functional notation must evaluate to false
<ul class="assert">
<li>An @supports condition with an unrecognized condition using functional notation must evaluate to false.</li>
</ul>
</td>
</tr>
<tr id="css-supports-037-6" class="invalid">
<td>
<a href="css-supports-037.xht">css-supports-037</a></td>
<td><a href="support/pass.xht">=</a> </td>
<td><abbr class="invalid" title="Tests invalid CSS">Invalid</abbr></td>
<td>An @supports rule with an unrecognized condition using functional notation with unbalanced parentheses must fail to parse
<ul class="assert">
<li>An @supports condition with an unrecognized condition using functional notation with unbalanced parentheses must fail to parse.</li>
</ul>
</td>
</tr>
<tr id="css-supports-038-6" class="">
<td>
<a href="css-supports-038.xht">css-supports-038</a></td>
<td><a href="support/pass.xht">=</a> </td>
<td></td>
<td>In an @supports rule &quot;not(&quot; must be parsed as a FUNCTION
<ul class="assert">
<li>An @supports condition with 'not(' must parse be parsed as a FUNCTION token.</li>
</ul>
</td>
</tr>
<tr id="css-supports-039-6" class="invalid">
<td>
<a href="css-supports-039.xht">css-supports-039</a></td>
<td><a href="support/pass.xht">=</a> </td>
<td><abbr class="invalid" title="Tests invalid CSS">Invalid</abbr></td>
<td>In an @supports rule &quot;or(&quot; must be parsed as a FUNCTION
<ul class="assert">
<li>An @supports condition with 'or(' must parse be parsed as a FUNCTION token.</li>
</ul>
</td>
</tr>
<tr id="css-supports-040-6" class="">
<td>
<a href="css-supports-040.xht">css-supports-040</a></td>
<td><a href="support/pass.xht">=</a> </td>
<td></td>
<td>An @supports rule condition with empty parentheses should evaluates to false
<ul class="assert">
<li>An @supports rule condition that consists just of a pair of parentheses should evaluate to false.</li>
</ul>
</td>
</tr>
<tr id="css-supports-041-6" class="">
<td>
<a href="css-supports-041.xht">css-supports-041</a></td>
<td><a href="support/pass.xht">=</a> </td>
<td></td>
<td>An @supports rule condition with empty parentheses should evaluates to false
<ul class="assert">
<li>An @supports rule condition that consists just of a pair of parentheses should evaluate to false.</li>
</ul>
</td>
</tr>
<tr id="css-supports-042-6" class="">
<td>
<a href="css-supports-042.xht">css-supports-042</a></td>
<td><a href="support/pass.xht">=</a> </td>
<td></td>
<td>An @supports rule condition with an unexpected token before the closing paren of a supports_condition_in_parens should parse as a general_enclosed
<ul class="assert">
<li>An @supports rule condition that has an unexpected token before the closing paren of a supports_condition_in_parens should parse as a general_enclosed and evaluate to false rather than fail to parse.</li>
</ul>
</td>
</tr>
<tr id="css-supports-043-6" class="">
<td>
<a href="css-supports-043.xht">css-supports-043</a></td>
<td><a href="support/pass.xht">=</a> </td>
<td></td>
<td>An @supports rule condition with a bogus priority should evaluate to false
<ul class="assert">
<li>An @supports rule condition with a bogus priority should evaluate to false</li>
</ul>
</td>
</tr>
<tr id="css-supports-044-6" class="">
<td>
<a href="css-supports-044.xht">css-supports-044</a></td>
<td><a href="support/pass.xht">=</a> </td>
<td></td>
<td>An @supports rule condition with tokens after the priority should evaluate to false
<ul class="assert">
<li>An @supports rule condition with tokens after the priority should evaluate to false</li>
</ul>
</td>
</tr>
<tr id="css-supports-045-6" class="">
<td>
<a href="css-supports-045.xht">css-supports-045</a></td>
<td><a href="support/pass.xht">=</a> </td>
<td></td>
<td>An @supports rule condition with two priorities should evaluate to false
<ul class="assert">
<li>An @supports rule condition with two priorities should evaluate to false</li>
</ul>
</td>
</tr>
<tr id="css-supports-046-6" class="">
<td>
<a href="css-supports-046.xht">css-supports-046</a></td>
<td><a href="support/pass.xht">=</a> </td>
<td></td>
<td>A nested @supports rule with valid syntax and a passing condition must apply rules inside it
<ul class="assert">
<li>An outer @media rule with an inner @supports rule must apply the rules inside the @supports only if both the @supports and @media conditions pass.</li>
</ul>
</td>
</tr>
</tbody>
<tbody id="s6.#atsupports-rule">
<!-- 0 tests -->
</tbody>
<tbody id="s6.#general_enclosed">
<!-- 0 tests -->
</tbody>
<tbody id="s6.#or">
<!-- 0 tests -->
</tbody>
<tbody id="s6.#supports_condition">
<!-- 0 tests -->
</tbody>
<tbody id="s6.#supports_condition_in_parens">
<!-- 0 tests -->
</tbody>
<tbody id="s6.#supports_conjunction">
<!-- 0 tests -->
</tbody>
<tbody id="s6.#supports_declaration_condition">
<!-- 0 tests -->
</tbody>
<tbody id="s6.#supports_disjunction">
<!-- 0 tests -->
</tbody>
<tbody id="s6.#supports_negation">
<!-- 0 tests -->
</tbody>
<tbody id="s6.#supports_rule">
<!-- 0 tests -->
</tbody>
<tbody id="s6.#supports_sym">
<!-- 0 tests -->
</tbody>
<tbody id="s6.1">
<tr><th colspan="4" scope="rowgroup">
<a href="#s6.1">+</a>
<a href="https://www.w3.org/TR/css3-conditional/#support-definition">6.1 Definition of support</a></th></tr>
<!-- 0 tests -->
</tbody>
<tbody id="s6.1.#dfn-support">
<!-- 0 tests -->
</tbody>
</table>
</body>
</html>