servo/tests/wpt/css-tests/css-conditional-3_dev/html/chapter-6.htm

903 lines
No EOL
41 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
<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 id="refs-column">
<col id="flags-column">
<col id="info-column">
<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="http://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="primary script">
<td><strong>
<a href="001.htm">001</a></strong></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="primary">
<td><strong>
<a href="at-supports-001.htm">at-supports-001</a></strong></td>
<td><a href="reference/at-supports-001-ref.htm">=</a> </td>
<td></td>
<td>Support for simple passing conditions in @supports
</td>
</tr>
<tr id="at-supports-002-6" class="primary">
<td><strong>
<a href="at-supports-002.htm">at-supports-002</a></strong></td>
<td><a href="reference/at-supports-001-ref.htm">=</a> </td>
<td></td>
<td>Support for @supports within @media
</td>
</tr>
<tr id="at-supports-003-6" class="primary">
<td><strong>
<a href="at-supports-003.htm">at-supports-003</a></strong></td>
<td><a href="reference/at-supports-001-ref.htm">=</a> </td>
<td></td>
<td>Support for @media within @supports
</td>
</tr>
<tr id="at-supports-004-6" class="primary">
<td><strong>
<a href="at-supports-004.htm">at-supports-004</a></strong></td>
<td><a href="reference/at-supports-001-ref.htm">=</a> </td>
<td></td>
<td>@supports within non-matching @media should not apply
</td>
</tr>
<tr id="at-supports-005-6" class="primary">
<td><strong>
<a href="at-supports-005.htm">at-supports-005</a></strong></td>
<td><a href="reference/at-supports-001-ref.htm">=</a> </td>
<td></td>
<td>non-matching @media within @supports should not apply
</td>
</tr>
<tr id="at-supports-006-6" class="primary">
<td><strong>
<a href="at-supports-006.htm">at-supports-006</a></strong></td>
<td><a href="reference/at-supports-001-ref.htm">=</a> </td>
<td></td>
<td>Nested parens around conditions in @supports should work
</td>
</tr>
<tr id="at-supports-007-6" class="primary">
<td><strong>
<a href="at-supports-007.htm">at-supports-007</a></strong></td>
<td><a href="reference/at-supports-001-ref.htm">=</a> </td>
<td></td>
<td>Conjunctions of passing simple conditions in @supports should pass
</td>
</tr>
<tr id="at-supports-008-6" class="primary">
<td><strong>
<a href="at-supports-008.htm">at-supports-008</a></strong></td>
<td><a href="reference/at-supports-001-ref.htm">=</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="primary">
<td><strong>
<a href="at-supports-009.htm">at-supports-009</a></strong></td>
<td><a href="reference/at-supports-001-ref.htm">=</a> </td>
<td></td>
<td>Negations of failing simple conditions in @supports should pass
</td>
</tr>
<tr id="at-supports-010-6" class="primary">
<td><strong>
<a href="at-supports-010.htm">at-supports-010</a></strong></td>
<td><a href="reference/at-supports-001-ref.htm">=</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="primary invalid">
<td><strong>
<a href="at-supports-011.htm">at-supports-011</a></strong></td>
<td><a href="reference/at-supports-001-ref.htm">=</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="primary">
<td><strong>
<a href="at-supports-012.htm">at-supports-012</a></strong></td>
<td><a href="reference/at-supports-001-ref.htm">=</a> </td>
<td></td>
<td>Conjunctions with more than two terms in @supports should work
</td>
</tr>
<tr id="at-supports-013-6" class="primary">
<td><strong>
<a href="at-supports-013.htm">at-supports-013</a></strong></td>
<td><a href="reference/at-supports-001-ref.htm">=</a> </td>
<td></td>
<td>Disjunction with more than two terms in @supports should work
</td>
</tr>
<tr id="at-supports-014-6" class="primary invalid">
<td><strong>
<a href="at-supports-014.htm">at-supports-014</a></strong></td>
<td><a href="reference/at-supports-001-ref.htm">=</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="primary">
<td><strong>
<a href="at-supports-015.htm">at-supports-015</a></strong></td>
<td><a href="reference/at-supports-001-ref.htm">=</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="primary invalid">
<td><strong>
<a href="at-supports-016.htm">at-supports-016</a></strong></td>
<td><a href="reference/at-supports-001-ref.htm">=</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="primary">
<td><strong>
<a href="at-supports-017.htm">at-supports-017</a></strong></td>
<td><a href="reference/at-supports-001-ref.htm">=</a> </td>
<td></td>
<td>In @supports, functions can be parsed successfully
</td>
</tr>
<tr id="at-supports-018-6" class="primary">
<td><strong>
<a href="at-supports-018.htm">at-supports-018</a></strong></td>
<td><a href="reference/at-supports-001-ref.htm">=</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="primary invalid">
<td><strong>
<a href="at-supports-019.htm">at-supports-019</a></strong></td>
<td><a href="reference/at-supports-001-ref.htm">=</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="primary invalid">
<td><strong>
<a href="at-supports-020.htm">at-supports-020</a></strong></td>
<td><a href="reference/at-supports-001-ref.htm">=</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="primary invalid">
<td><strong>
<a href="at-supports-021.htm">at-supports-021</a></strong></td>
<td><a href="reference/at-supports-001-ref.htm">=</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="primary invalid">
<td><strong>
<a href="at-supports-022.htm">at-supports-022</a></strong></td>
<td><a href="reference/at-supports-001-ref.htm">=</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="primary invalid">
<td><strong>
<a href="at-supports-023.htm">at-supports-023</a></strong></td>
<td><a href="reference/at-supports-001-ref.htm">=</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="primary invalid">
<td><strong>
<a href="at-supports-024.htm">at-supports-024</a></strong></td>
<td><a href="reference/at-supports-001-ref.htm">=</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="primary invalid">
<td><strong>
<a href="at-supports-025.htm">at-supports-025</a></strong></td>
<td><a href="reference/at-supports-001-ref.htm">=</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="primary invalid">
<td><strong>
<a href="at-supports-026.htm">at-supports-026</a></strong></td>
<td><a href="reference/at-supports-001-ref.htm">=</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="primary invalid">
<td><strong>
<a href="at-supports-027.htm">at-supports-027</a></strong></td>
<td><a href="reference/at-supports-027-ref.htm">=</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="primary invalid">
<td><strong>
<a href="at-supports-028.htm">at-supports-028</a></strong></td>
<td><a href="reference/at-supports-001-ref.htm">=</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="primary invalid">
<td><strong>
<a href="at-supports-029.htm">at-supports-029</a></strong></td>
<td><a href="reference/at-supports-027-ref.htm">=</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="primary invalid">
<td><strong>
<a href="at-supports-030.htm">at-supports-030</a></strong></td>
<td><a href="reference/at-supports-001-ref.htm">=</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="primary invalid">
<td><strong>
<a href="at-supports-031.htm">at-supports-031</a></strong></td>
<td><a href="reference/at-supports-001-ref.htm">=</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="primary invalid">
<td><strong>
<a href="at-supports-032.htm">at-supports-032</a></strong></td>
<td><a href="reference/at-supports-001-ref.htm">=</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="primary invalid">
<td><strong>
<a href="at-supports-033.htm">at-supports-033</a></strong></td>
<td><a href="reference/at-supports-001-ref.htm">=</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="primary invalid">
<td><strong>
<a href="at-supports-034.htm">at-supports-034</a></strong></td>
<td><a href="reference/at-supports-001-ref.htm">=</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="primary invalid">
<td><strong>
<a href="at-supports-035.htm">at-supports-035</a></strong></td>
<td><a href="reference/at-supports-001-ref.htm">=</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="primary invalid">
<td><strong>
<a href="at-supports-036.htm">at-supports-036</a></strong></td>
<td><a href="reference/at-supports-001-ref.htm">=</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="primary invalid">
<td><strong>
<a href="at-supports-037.htm">at-supports-037</a></strong></td>
<td><a href="reference/at-supports-001-ref.htm">=</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="primary invalid">
<td><strong>
<a href="at-supports-038.htm">at-supports-038</a></strong></td>
<td><a href="reference/at-supports-001-ref.htm">=</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="primary invalid">
<td><strong>
<a href="at-supports-039.htm">at-supports-039</a></strong></td>
<td><a href="reference/at-supports-001-ref.htm">=</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="primary">
<td><strong>
<a href="css-supports-001.htm">css-supports-001</a></strong></td>
<td><a href="support/pass.htm">=</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="primary invalid">
<td><strong>
<a href="css-supports-002.htm">css-supports-002</a></strong></td>
<td><a href="support/pass.htm">=</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="primary">
<td><strong>
<a href="css-supports-003.htm">css-supports-003</a></strong></td>
<td><a href="support/pass.htm">=</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="primary">
<td><strong>
<a href="css-supports-004.htm">css-supports-004</a></strong></td>
<td><a href="support/pass.htm">=</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="primary">
<td><strong>
<a href="css-supports-005.htm">css-supports-005</a></strong></td>
<td><a href="support/pass.htm">=</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="primary">
<td><strong>
<a href="css-supports-006.htm">css-supports-006</a></strong></td>
<td><a href="support/pass.htm">=</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="primary">
<td><strong>
<a href="css-supports-007.htm">css-supports-007</a></strong></td>
<td><a href="support/pass.htm">=</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="primary">
<td><strong>
<a href="css-supports-008.htm">css-supports-008</a></strong></td>
<td><a href="support/pass.htm">=</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="primary">
<td><strong>
<a href="css-supports-009.htm">css-supports-009</a></strong></td>
<td><a href="support/pass.htm">=</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="primary">
<td><strong>
<a href="css-supports-010.htm">css-supports-010</a></strong></td>
<td><a href="support/pass.htm">=</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="primary">
<td><strong>
<a href="css-supports-011.htm">css-supports-011</a></strong></td>
<td><a href="support/pass.htm">=</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="primary">
<td><strong>
<a href="css-supports-012.htm">css-supports-012</a></strong></td>
<td><a href="support/pass.htm">=</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="primary invalid">
<td><strong>
<a href="css-supports-013.htm">css-supports-013</a></strong></td>
<td><a href="support/pass.htm">=</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="primary invalid">
<td><strong>
<a href="css-supports-014.htm">css-supports-014</a></strong></td>
<td><a href="support/pass.htm">=</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="primary">
<td><strong>
<a href="css-supports-015.htm">css-supports-015</a></strong></td>
<td><a href="support/pass.htm">=</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="primary">
<td><strong>
<a href="css-supports-016.htm">css-supports-016</a></strong></td>
<td><a href="support/pass.htm">=</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="primary invalid">
<td><strong>
<a href="css-supports-017.htm">css-supports-017</a></strong></td>
<td><a href="support/pass.htm">=</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="primary">
<td><strong>
<a href="css-supports-018.htm">css-supports-018</a></strong></td>
<td><a href="support/pass.htm">=</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="primary invalid">
<td><strong>
<a href="css-supports-019.htm">css-supports-019</a></strong></td>
<td><a href="support/pass.htm">=</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="primary">
<td><strong>
<a href="css-supports-020.htm">css-supports-020</a></strong></td>
<td><a href="support/pass.htm">=</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="primary">
<td><strong>
<a href="css-supports-021.htm">css-supports-021</a></strong></td>
<td><a href="support/pass.htm">=</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="primary">
<td><strong>
<a href="css-supports-022.htm">css-supports-022</a></strong></td>
<td><a href="support/pass.htm">=</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="primary">
<td><strong>
<a href="css-supports-023.htm">css-supports-023</a></strong></td>
<td><a href="support/pass.htm">=</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="primary">
<td><strong>
<a href="css-supports-024.htm">css-supports-024</a></strong></td>
<td><a href="support/pass.htm">=</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="primary">
<td><strong>
<a href="css-supports-025.htm">css-supports-025</a></strong></td>
<td><a href="support/pass.htm">=</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="primary">
<td><strong>
<a href="css-supports-026.htm">css-supports-026</a></strong></td>
<td><a href="support/pass.htm">=</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="primary">
<td><strong>
<a href="css-supports-029.htm">css-supports-029</a></strong></td>
<td><a href="support/pass.htm">=</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="primary">
<td><strong>
<a href="css-supports-030.htm">css-supports-030</a></strong></td>
<td><a href="support/pass.htm">=</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="primary">
<td><strong>
<a href="css-supports-031.htm">css-supports-031</a></strong></td>
<td><a href="support/pass.htm">=</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="primary">
<td><strong>
<a href="css-supports-032.htm">css-supports-032</a></strong></td>
<td><a href="support/pass.htm">=</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="primary">
<td><strong>
<a href="css-supports-033.htm">css-supports-033</a></strong></td>
<td><a href="support/pass.htm">=</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="primary">
<td><strong>
<a href="css-supports-034.htm">css-supports-034</a></strong></td>
<td><a href="support/pass.htm">=</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="primary invalid">
<td><strong>
<a href="css-supports-035.htm">css-supports-035</a></strong></td>
<td><a href="support/pass.htm">=</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="primary">
<td><strong>
<a href="css-supports-036.htm">css-supports-036</a></strong></td>
<td><a href="support/pass.htm">=</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="primary invalid">
<td><strong>
<a href="css-supports-037.htm">css-supports-037</a></strong></td>
<td><a href="support/pass.htm">=</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="primary">
<td><strong>
<a href="css-supports-038.htm">css-supports-038</a></strong></td>
<td><a href="support/pass.htm">=</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="primary invalid">
<td><strong>
<a href="css-supports-039.htm">css-supports-039</a></strong></td>
<td><a href="support/pass.htm">=</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="primary">
<td><strong>
<a href="css-supports-040.htm">css-supports-040</a></strong></td>
<td><a href="support/pass.htm">=</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="primary">
<td><strong>
<a href="css-supports-041.htm">css-supports-041</a></strong></td>
<td><a href="support/pass.htm">=</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="primary">
<td><strong>
<a href="css-supports-042.htm">css-supports-042</a></strong></td>
<td><a href="support/pass.htm">=</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="primary">
<td><strong>
<a href="css-supports-043.htm">css-supports-043</a></strong></td>
<td><a href="support/pass.htm">=</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="primary">
<td><strong>
<a href="css-supports-044.htm">css-supports-044</a></strong></td>
<td><a href="support/pass.htm">=</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="primary">
<td><strong>
<a href="css-supports-045.htm">css-supports-045</a></strong></td>
<td><a href="support/pass.htm">=</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="primary">
<td><strong>
<a href="css-supports-046.htm">css-supports-046</a></strong></td>
<td><a href="support/pass.htm">=</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="http://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>