+
6 Feature queries: the @supports rule |
001 |
|
Script |
@supports rules OM support
|
at-supports-001 |
= |
|
Support for simple passing conditions in @supports
|
at-supports-002 |
= |
|
Support for @supports within @media
|
at-supports-003 |
= |
|
Support for @media within @supports
|
at-supports-004 |
= |
|
@supports within non-matching @media should not apply
|
at-supports-005 |
= |
|
non-matching @media within @supports should not apply
|
at-supports-006 |
= |
|
Nested parens around conditions in @supports should work
|
at-supports-007 |
= |
|
Conjunctions of passing simple conditions in @supports should pass
|
at-supports-008 |
= |
|
Disjunctions with at least a passing simple condition in @supports should pass
|
at-supports-009 |
= |
|
Negations of failing simple conditions in @supports should pass
|
at-supports-010 |
= |
|
Combinations of conjuctions, disjunctions, and negations of simple conditions in @supports should work
|
at-supports-011 |
= |
Invalid |
Conditions not enclosed in parens in @supports should not work
|
at-supports-012 |
= |
|
Conjunctions with more than two terms in @supports should work
|
at-supports-013 |
= |
|
Disjunction with more than two terms in @supports should work
|
at-supports-014 |
= |
Invalid |
Negations in @supports should not work if "not" isn't follow by a space
|
at-supports-015 |
= |
|
Bizarre syntax that still conforms to the core grammar should succesfully parse in @supports
|
at-supports-016 |
= |
Invalid |
In @supports, parens are required to mix conjunctions with disjunctions
|
at-supports-017 |
= |
|
In @supports, functions can be parsed successfully
|
at-supports-018 |
= |
|
In @supports conditions, the arguments of a function can begin with spaces
|
at-supports-019 |
= |
Invalid |
Incorrect syntax in @supports recovers properly
|
at-supports-020 |
= |
Invalid |
Incorrect syntax in @supports recovers properly
|
at-supports-021 |
= |
Invalid |
Incorrect syntax in @supports recovers properly
|
at-supports-022 |
= |
Invalid |
Incorrect syntax in @supports recovers properly
|
at-supports-023 |
= |
Invalid |
Incorrect syntax in nested @supports recovers properly
|
at-supports-024 |
= |
Invalid |
Incorrect syntax in @supports recovers properly
|
at-supports-025 |
= |
Invalid |
Incorrect syntax in @supports recovers properly
|
at-supports-026 |
= |
Invalid |
Incorrect syntax in @supports recovers properly
|
at-supports-027 |
= |
Invalid |
Incorrect syntax in @supports recovers properly
|
at-supports-028 |
= |
Invalid |
Incorrect syntax in @supports recovers properly
|
at-supports-029 |
= |
Invalid |
Incorrect syntax in @supports recovers properly
|
at-supports-030 |
= |
Invalid |
Incorrect syntax in @supports recovers properly
|
at-supports-031 |
= |
Invalid |
Incorrect syntax in @supports recovers properly
|
at-supports-032 |
= |
Invalid |
Incorrect syntax in @supports recovers properly
|
at-supports-033 |
= |
Invalid |
Incorrect syntax in @supports recovers properly
|
at-supports-034 |
= |
Invalid |
Incorrect syntax of supports condition
- Each individual single supports condition must be enclosed by one opening parenthesis '(' and one closing parenthesis ')'.
|
at-supports-035 |
= |
Invalid |
Incorrect syntax of supports condition
- Each individual single supports condition must be enclosed by one opening parenthesis '(' and one closing parenthesis ')'.
|
at-supports-036 |
= |
Invalid |
Incorrect syntax of supports condition
- Each individual single supports condition must be enclosed by one opening parenthesis '(' and one closing parenthesis ')'.
|
at-supports-037 |
= |
Invalid |
Incorrect syntax of supports condition
- Each individual single supports condition must be enclosed by one opening parenthesis '(' and one closing parenthesis ')'.
|
at-supports-038 |
= |
Invalid |
a supports condition declaration can not end with a semi-colon
- 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.
|
at-supports-039 |
= |
Invalid |
a supports condition declaration can not end with a semi-colon
- 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.
|
at-supports-043 |
= |
Invalid |
Disjunction token `or` should not immediately precede its following opening paren.
- This tests that the `or` token requires at least one whitespace on its right hand. A string followed immediately by an opening paren is reserved for the functional notation syntax.
|
css-supports-001 |
= |
|
An @supports rule with valid syntax and a passing condition must apply rules inside it
- An @supports rule condition with a single, valid property declaration for a supported property must cause the rules inside the @supports rule to apply.
|
css-supports-002 |
= |
Invalid |
An @supports rule with invalid syntax must not apply rules inside it
- Property declarations in an @supports rule condition must be surrounded by parentheses.
|
css-supports-003 |
= |
|
An @supports rule with valid syntax and a passing condition must apply rules inside it
- Any subexpression in an @supports rule condition can be surrounded by an extra pair of parentheses.
|
css-supports-004 |
= |
|
An @supports rule with valid syntax and a passing condition must apply rules inside it
- Property declarations in an @supports rule can have !important specified.
|
css-supports-005 |
= |
|
An @supports rule with valid syntax but a failing condition must not apply rules inside it
- A supported property with an unsupported value must cause the @supports condition to fail.
|
css-supports-006 |
= |
|
An @supports rule with valid syntax and a passing condition must apply rules inside it
- A disjunction of two @supports conditions must cause the @supports condition to pass if the left condition passes.
|
css-supports-007 |
= |
|
An @supports rule with valid syntax and a passing condition must apply rules inside it
- A disjunction of two @supports conditions must cause the @supports condition to pass if the right condition passes.
|
css-supports-008 |
= |
|
An @supports rule with valid syntax and a passing condition must apply rules inside it
- A conjunction of two @supports conditions must cause the @supports condition to pass if both sub-conditions pass.
|
css-supports-009 |
= |
|
An @supports rule with valid syntax but a failing condition must not apply rules inside it
- A conjunction of two @supports conditions must cause the @supports condition to fail if the left sub-condition passes.
|
css-supports-010 |
= |
|
An @supports rule with valid syntax but a failing condition must not apply rules inside it
- A conjunction of two @supports conditions must cause the @supports condition to fail if the right sub-condition passes.
|
css-supports-011 |
= |
|
An @supports rule with valid syntax and a passing condition must apply rules inside it
- A disjunction of three @supports conditions must cause the @supports condition to pass if at least one of the sub-conditions passes.
|
css-supports-012 |
= |
|
An @supports rule with valid syntax and a passing condition must apply rules inside it
- A conjunction of three @supports conditions must cause the @supports condition to pass if all three sub-conditions pass.
|
css-supports-013 |
= |
Invalid |
An @supports rule with invalid syntax must not apply rules inside it
- A disjunction and a conjunction of @supports conditions must not be combined unless one of the two is surrounded by parentheses.
|
css-supports-014 |
= |
Invalid |
An @supports rule with invalid syntax must not apply rules inside it
- A disjunction and a conjunction of @supports conditions must not be combined unless one of the two is surrounded by parentheses.
|
css-supports-015 |
= |
|
An @supports rule with valid syntax and a passing condition must apply rules inside it
- 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.
|
css-supports-016 |
= |
|
An @supports rule with valid syntax and a passing condition must apply rules inside it
- 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.
|
css-supports-017 |
= |
Invalid |
An @supports rule with invalid syntax must not apply rules inside it
- The sub-condition of a negation in an @supports condition must be in parentheses.
|
css-supports-018 |
= |
|
An @supports rule with valid syntax and a passing condition must apply rules inside it
- The sub-condition of a negation in an @supports condition must be in parentheses.
|
css-supports-019 |
= |
Invalid |
An @supports rule with invalid syntax must not apply rules inside it
- A conjunction in an @supports condition must have both sub-conditions enclosed in parentheses.
|
css-supports-020 |
= |
|
An @supports rule with valid syntax but a failing condition must not apply rules inside it
- An @supports condition that is a declaration with a supported property name with an unsupported value must fail.
|
css-supports-021 |
= |
|
An @supports rule with valid syntax but a failing condition must not apply rules inside it
- 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.
|
css-supports-022 |
= |
|
An @supports rule with balanced invalid syntax within parentheses must evaluate to false
- An @supports condition must successfully parse even if a declaration has an empty property value.
|
css-supports-023 |
= |
|
An @supports rule with balanced invalid syntax within parentheses must evaluate to false
- An @supports condition must successfully parse a parenthesized expression that has invalid syntax with balanced parentheses.
|
css-supports-024 |
= |
|
An @supports rule with valid syntax and a passing condition must apply rules inside it
- A supported shorthand property declaration must be considered to pass.
|
css-supports-025 |
= |
|
A nested @supports rule with valid syntax and a passing condition must apply rules inside it
- An inner @supports rule inside an outer @supports must apply its child rules only if both @supports conditions succeeded.
|
css-supports-026 |
= |
|
A nested @supports rule with valid syntax and a passing condition must apply rules inside it
- 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.
|
css-supports-029 |
= |
|
An @supports rule with valid syntax and a passing condition must apply rules inside it
- A disjunction in an @supports condition must have both sub-conditions enclosed in parentheses.
|
css-supports-030 |
= |
|
An @supports rule with valid syntax and a passing condition must apply rules inside it
- A disjunction in an @supports condition must have both sub-conditions enclosed in parentheses.
|
css-supports-031 |
= |
|
An @supports rule with balanced invalid syntax within parentheses must evaluate to false
- An @supports condition must successfully parse a parenthesized expression that has invalid syntax with balanced parentheses.
|
css-supports-032 |
= |
|
An @supports rule with balanced invalid syntax must evaluate to false
- An @supports condition must successfully parse and evaluate to false a parenthesized expression has invalid syntax.
|
css-supports-033 |
= |
|
An @supports rule with balanced invalid syntax must evaluate to false
- An @supports condition must successfully parse a parenthesized expression that has invalid syntax with balanced parentheses.
|
css-supports-034 |
= |
|
An @supports rule with balanced invalid syntax must evaluate to false
- An @supports condition must successfully parse a parenthesized expression that has invalid syntax with balanced parentheses.
|
css-supports-035 |
= |
Invalid |
An @supports rule with unbalanced invalid syntax must fail to parse
- An @supports condition with a parenthesized expression that has unbalanced parentheses must fail to parse.
|
css-supports-036 |
= |
|
An @supports rule with an unrecognized condition using functional notation must evaluate to false
- An @supports condition with an unrecognized condition using functional notation must evaluate to false.
|
css-supports-037 |
= |
Invalid |
An @supports rule with an unrecognized condition using functional notation with unbalanced parentheses must fail to parse
- An @supports condition with an unrecognized condition using functional notation with unbalanced parentheses must fail to parse.
|
css-supports-038 |
= |
|
In an @supports rule "not(" must be parsed as a FUNCTION
- An @supports condition with 'not(' must parse be parsed as a FUNCTION token.
|
css-supports-039 |
= |
Invalid |
In an @supports rule "or(" must be parsed as a FUNCTION
- An @supports condition with 'or(' must parse be parsed as a FUNCTION token.
|
css-supports-040 |
= |
|
An @supports rule condition with empty parentheses should evaluates to false
- An @supports rule condition that consists just of a pair of parentheses should evaluate to false.
|
css-supports-041 |
= |
|
An @supports rule condition with empty parentheses should evaluates to false
- An @supports rule condition that consists just of a pair of parentheses should evaluate to false.
|
css-supports-042 |
= |
|
An @supports rule condition with an unexpected token before the closing paren of a supports_condition_in_parens should parse as a general_enclosed
- 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.
|
css-supports-043 |
= |
|
An @supports rule condition with a bogus priority should evaluate to false
- An @supports rule condition with a bogus priority should evaluate to false
|
css-supports-044 |
= |
|
An @supports rule condition with tokens after the priority should evaluate to false
- An @supports rule condition with tokens after the priority should evaluate to false
|
css-supports-045 |
= |
|
An @supports rule condition with two priorities should evaluate to false
- An @supports rule condition with two priorities should evaluate to false
|
css-supports-046 |
= |
|
A nested @supports rule with valid syntax and a passing condition must apply rules inside it
- 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.
|