LibWeb: Parse the position-try-fallbacks property

This commit is contained in:
Tim Ledbetter 2025-10-01 19:04:10 +01:00 committed by Sam Atkins
parent 27cdf3a2c8
commit 2bde14b148
13 changed files with 520 additions and 226 deletions

View File

@ -824,6 +824,11 @@
"normal",
"allow-discrete"
],
"try-tactic": [
"flip-block",
"flip-inline",
"flip-start"
],
"unicode-bidi": [
"bidi-override",
"embed",

View File

@ -216,6 +216,9 @@
"flex",
"flex-end",
"flex-start",
"flip-block",
"flip-inline",
"flip-start",
"flow",
"flow-root",
"forwards",

View File

@ -465,7 +465,10 @@ private:
RefPtr<StyleValue const> parse_place_items_value(TokenStream<ComponentValue>&);
RefPtr<StyleValue const> parse_place_self_value(TokenStream<ComponentValue>&);
RefPtr<StyleValue const> parse_position_anchor_value(TokenStream<ComponentValue>&);
RefPtr<StyleValue const> parse_position_area(TokenStream<ComponentValue>&);
RefPtr<StyleValue const> parse_position_area_value(TokenStream<ComponentValue>&);
RefPtr<StyleValue const> parse_single_position_try_fallbacks_value(TokenStream<ComponentValue>&);
RefPtr<StyleValue const> parse_position_try_fallbacks_value(TokenStream<ComponentValue>&);
RefPtr<StyleValue const> parse_quotes_value(TokenStream<ComponentValue>&);
RefPtr<StyleValue const> parse_single_repeat_style_value(PropertyID, TokenStream<ComponentValue>&);
RefPtr<StyleValue const> parse_scrollbar_color_value(TokenStream<ComponentValue>&);
@ -483,6 +486,7 @@ private:
RefPtr<StyleValue const> parse_transition_value(TokenStream<ComponentValue>&);
RefPtr<StyleValue const> parse_transition_property_value(TokenStream<ComponentValue>&);
RefPtr<StyleValue const> parse_translate_value(TokenStream<ComponentValue>&);
RefPtr<StyleValue const> parse_try_tactic_value(TokenStream<ComponentValue>&);
RefPtr<StyleValue const> parse_scale_value(TokenStream<ComponentValue>&);
RefPtr<StyleValue const> parse_grid_track_size_list(TokenStream<ComponentValue>&);
RefPtr<StyleValue const> parse_grid_auto_track_sizes(TokenStream<ComponentValue>&);

View File

@ -748,7 +748,10 @@ Parser::ParseErrorOr<NonnullRefPtr<StyleValue const>> Parser::parse_css_value(Pr
if (auto parsed_value = parse_position_area_value(tokens); parsed_value && !tokens.has_next_token())
return parsed_value.release_nonnull();
return ParseError::SyntaxError;
case PropertyID::PositionTryFallbacks:
if (auto parsed_value = parse_position_try_fallbacks_value(tokens); parsed_value && !tokens.has_next_token())
return parsed_value.release_nonnull();
return ParseError::SyntaxError;
case PropertyID::Quotes:
if (auto parsed_value = parse_quotes_value(tokens); parsed_value && !tokens.has_next_token())
return parsed_value.release_nonnull();
@ -4170,17 +4173,108 @@ RefPtr<StyleValue const> Parser::parse_position_anchor_value(TokenStream<Compone
return CustomIdentStyleValue::create(*dashed_ident);
}
// https://drafts.csswg.org/css-anchor-position/#position-area
RefPtr<StyleValue const> Parser::parse_position_area_value(TokenStream<ComponentValue>& tokens)
// https://drafts.csswg.org/css-anchor-position/#position-try-fallbacks
RefPtr<StyleValue const> Parser::parse_position_try_fallbacks_value(TokenStream<ComponentValue>& tokens)
{
// none | <position-area>
// none | [ [<dashed-ident> || <try-tactic>] | <position-area> ]#
// none
if (auto none_keyword_value = parse_all_as_single_keyword_value(tokens, Keyword::None))
return none_keyword_value;
if (auto none = parse_all_as_single_keyword_value(tokens, Keyword::None))
return none;
// <position-area>
// https://drafts.csswg.org/css-anchor-position/#position-area-syntax
return parse_comma_separated_value_list(tokens, [&](auto& inner_tokens) {
return parse_single_position_try_fallbacks_value(inner_tokens);
});
}
RefPtr<StyleValue const> Parser::parse_single_position_try_fallbacks_value(TokenStream<ComponentValue>& tokens)
{
// [<dashed-ident> || <try-tactic>] | <position-area>
auto transaction = tokens.begin_transaction();
tokens.discard_whitespace();
if (auto position_area = parse_position_area(tokens)) {
transaction.commit();
return position_area;
}
Optional<FlyString> dashed_ident;
RefPtr<StyleValue const> try_tactic;
while (tokens.has_next_token()) {
if (auto try_tactic_value = parse_try_tactic_value(tokens)) {
if (try_tactic)
return {};
try_tactic = try_tactic_value.release_nonnull();
} else if (auto maybe_dashed_ident = parse_dashed_ident(tokens); maybe_dashed_ident.has_value()) {
if (dashed_ident.has_value())
return {};
dashed_ident = maybe_dashed_ident.release_value();
} else {
break;
}
tokens.discard_whitespace();
}
StyleValueVector values;
if (dashed_ident.has_value())
values.append(CustomIdentStyleValue::create(dashed_ident.release_value()));
if (try_tactic)
values.append(try_tactic.release_nonnull());
if (values.is_empty())
return {};
transaction.commit();
return StyleValueList::create(move(values), StyleValueList::Separator::Space);
}
// https://drafts.csswg.org/css-anchor-position-1/#typedef-position-try-fallbacks-try-tactic
RefPtr<StyleValue const> Parser::parse_try_tactic_value(TokenStream<ComponentValue>& tokens)
{
// <try-tactic> = flip-block || flip-inline || flip-start
auto transaction = tokens.begin_transaction();
tokens.discard_whitespace();
StyleValueVector values;
bool has_flip_block = false;
bool has_flip_inline = false;
bool has_flip_start = false;
while (tokens.has_next_token()) {
auto keyword_value = parse_keyword_value(tokens);
if (!keyword_value)
break;
switch (keyword_value->to_keyword()) {
case Keyword::FlipBlock:
if (has_flip_block)
return {};
has_flip_block = true;
values.append(keyword_value.release_nonnull());
break;
case Keyword::FlipInline:
if (has_flip_inline)
return {};
has_flip_inline = true;
values.append(keyword_value.release_nonnull());
break;
case Keyword::FlipStart:
if (has_flip_start)
return {};
has_flip_start = true;
values.append(keyword_value.release_nonnull());
break;
default:
return {};
}
tokens.discard_whitespace();
}
transaction.commit();
if (values.is_empty())
return {};
return StyleValueList::create(move(values), StyleValueList::Separator::Space);
}
// https://drafts.csswg.org/css-anchor-position/#position-area-syntax
RefPtr<StyleValue const> Parser::parse_position_area(TokenStream<ComponentValue>& tokens)
{
// <position-area> = [
// [ left | center | right | span-left | span-right
// | x-start | x-end | span-x-start | span-x-end
@ -4367,7 +4461,7 @@ RefPtr<StyleValue const> Parser::parse_position_area_value(TokenStream<Component
transaction.commit();
// If only a single keyword is given, it behaves as if the second keyword is span-all if the given keyword is
// unambigous about its axis.
// unambiguous about its axis.
// These conditions ensure the span-all keyword is omitted when it would be implied.
if (!is_axis_ambiguous(first.as_keyword().keyword()) && second.as_keyword().keyword() == Keyword::SpanAll)
return first;
@ -4382,16 +4476,14 @@ RefPtr<StyleValue const> Parser::parse_position_area_value(TokenStream<Component
return nullptr;
tokens.discard_whitespace();
if (!tokens.has_next_token()) {
auto second_keyword_value = parse_keyword_value(tokens);
if (!second_keyword_value) {
auto first_position_area_keyword = keyword_to_position_area(first_keyword_value->as_keyword().keyword());
if (!first_position_area_keyword.has_value())
return nullptr;
transaction.commit();
return first_keyword_value;
}
auto second_keyword_value = parse_keyword_value(tokens);
if (!second_keyword_value)
return nullptr;
auto first_keyword = first_keyword_value->as_keyword().keyword();
auto second_keyword = second_keyword_value->as_keyword().keyword();
@ -4419,6 +4511,19 @@ RefPtr<StyleValue const> Parser::parse_position_area_value(TokenStream<Component
return nullptr;
}
// https://drafts.csswg.org/css-anchor-position/#position-area
RefPtr<StyleValue const> Parser::parse_position_area_value(TokenStream<ComponentValue>& tokens)
{
// none | <position-area>
// none
if (auto none_keyword_value = parse_all_as_single_keyword_value(tokens, Keyword::None))
return none_keyword_value;
// <position-area>
return parse_position_area(tokens);
}
RefPtr<StyleValue const> Parser::parse_quotes_value(TokenStream<ComponentValue>& tokens)
{
// https://www.w3.org/TR/css-content-3/#quotes-property

View File

@ -3115,6 +3115,18 @@
"none"
]
},
"position-try-fallbacks": {
"animation-type": "discrete",
"inherited": false,
"initial": "none",
"valid-types": [
"custom-ident ![none]",
"try-tactic"
],
"valid-identifiers": [
"none"
]
},
"quotes": {
"animation-type": "discrete",
"inherited": true,

View File

@ -238,6 +238,7 @@ All properties associated with getComputedStyle(document.body):
"position",
"position-anchor",
"position-area",
"position-try-fallbacks",
"r",
"right",
"rotate",

View File

@ -640,6 +640,8 @@ All supported properties and their default values exposed from CSSStylePropertie
'position-anchor': 'auto'
'positionArea': 'none'
'position-area': 'none'
'positionTryFallbacks': 'none'
'position-try-fallbacks': 'none'
'quotes': 'auto'
'r': '0px'
'right': 'auto'

View File

@ -236,6 +236,7 @@ padding-top: 0px
position: static
position-anchor: auto
position-area: none
position-try-fallbacks: none
r: 0px
right: auto
rotate: none

View File

@ -0,0 +1,25 @@
Harness status: OK
Found 20 tests
20 Pass
Pass Property position-try-fallbacks value 'none'
Pass Property position-try-fallbacks value 'flip-block'
Pass Property position-try-fallbacks value 'flip-inline'
Pass Property position-try-fallbacks value 'flip-start'
Pass Property position-try-fallbacks value 'flip-block, flip-inline'
Pass Property position-try-fallbacks value '--foo, --bar'
Pass Property position-try-fallbacks value 'flip-start flip-inline flip-block'
Pass Property position-try-fallbacks value 'flip-start --flop'
Pass Property position-try-fallbacks value '--flop flip-start'
Pass Property position-try-fallbacks value 'left top'
Pass Property position-try-fallbacks value 'top left'
Pass Property position-try-fallbacks value 'start start'
Pass Property position-try-fallbacks value 'left, right'
Pass Property position-try-fallbacks value '--foo, left'
Pass Property position-try-fallbacks value '--foo, left, --bar'
Pass Property position-try-fallbacks value '--foo, flip-start, left'
Pass Property position-try-fallbacks value '--foo flip-start, left'
Pass Property position-try-fallbacks value 'left, --bar flip-start'
Pass Property position-try-fallbacks has initial value none
Pass Property position-try-fallbacks does not inherit

View File

@ -0,0 +1,49 @@
Harness status: OK
Found 43 tests
42 Pass
1 Fail
Pass e.style['position-try-fallbacks'] = "initial" should set the property value
Pass e.style['position-try-fallbacks'] = "inherit" should set the property value
Pass e.style['position-try-fallbacks'] = "unset" should set the property value
Pass e.style['position-try-fallbacks'] = "revert" should set the property value
Pass e.style['position-try-fallbacks'] = "none" should set the property value
Pass e.style['position-try-fallbacks'] = "flip-block" should set the property value
Pass e.style['position-try-fallbacks'] = "flip-block " should set the property value
Pass e.style['position-try-fallbacks'] = "flip-start, flip-block" should set the property value
Pass e.style['position-try-fallbacks'] = "flip-start flip-inline, flip-block" should set the property value
Fail e.style['position-try-fallbacks'] = "flip-start, flip-start" should set the property value
Pass e.style['position-try-fallbacks'] = "flip-start flip-inline flip-block" should set the property value
Pass e.style['position-try-fallbacks'] = "flip-block, --foo" should set the property value
Pass e.style['position-try-fallbacks'] = "--bar, flip-block flip-start" should set the property value
Pass e.style['position-try-fallbacks'] = "--foo, --bar, --baz" should set the property value
Pass e.style['position-try-fallbacks'] = "--bar flip-block" should set the property value
Pass e.style['position-try-fallbacks'] = "--bar flip-inline flip-block" should set the property value
Pass e.style['position-try-fallbacks'] = "flip-inline --foo" should set the property value
Pass e.style['position-try-fallbacks'] = "flip-inline flip-start --foo" should set the property value
Pass e.style['position-try-fallbacks'] = "left top" should set the property value
Pass e.style['position-try-fallbacks'] = "top left" should set the property value
Pass e.style['position-try-fallbacks'] = "start start" should set the property value
Pass e.style['position-try-fallbacks'] = "left, right" should set the property value
Pass e.style['position-try-fallbacks'] = "--foo, left" should set the property value
Pass e.style['position-try-fallbacks'] = "--foo, left, --bar" should set the property value
Pass e.style['position-try-fallbacks'] = "--foo, flip-start, left" should set the property value
Pass e.style['position-try-fallbacks'] = "--foo flip-start, left" should set the property value
Pass e.style['position-try-fallbacks'] = "left, --bar flip-start" should set the property value
Pass e.style['position-try-fallbacks'] = "none, flip-start" should not set the property value
Pass e.style['position-try-fallbacks'] = "flip-block flip-block" should not set the property value
Pass e.style['position-try-fallbacks'] = "flip-block flip-inline flip-inline" should not set the property value
Pass e.style['position-try-fallbacks'] = "flip-block, flip-inline flip-inline" should not set the property value
Pass e.style['position-try-fallbacks'] = "--bar flip-block --foo" should not set the property value
Pass e.style['position-try-fallbacks'] = "--foo --bar" should not set the property value
Pass e.style['position-try-fallbacks'] = "flip-inline --bar flip-block" should not set the property value
Pass e.style['position-try-fallbacks'] = "-foo" should not set the property value
Pass e.style['position-try-fallbacks'] = "foo" should not set the property value
Pass e.style['position-try-fallbacks'] = "flip-start 123" should not set the property value
Pass e.style['position-try-fallbacks'] = "--foo 123" should not set the property value
Pass e.style['position-try-fallbacks'] = "--foo left" should not set the property value
Pass e.style['position-try-fallbacks'] = "flip-start left" should not set the property value
Pass e.style['position-try-fallbacks'] = "left --foo " should not set the property value
Pass e.style['position-try-fallbacks'] = "left flip-start" should not set the property value
Pass e.style['position-try-fallbacks'] = "--foo, none" should not set the property value

View File

@ -2,8 +2,8 @@ Harness status: OK
Found 546 tests
252 Pass
294 Fail
462 Pass
84 Fail
Pass CSS Transitions with transition-behavior:allow-discrete: property <anchor-name> from [none] to [--foo] at (-0.3) should be [none]
Pass CSS Transitions with transition-behavior:allow-discrete: property <anchor-name> from [none] to [--foo] at (0) should be [none]
Pass CSS Transitions with transition-behavior:allow-discrete: property <anchor-name> from [none] to [--foo] at (0.3) should be [none]
@ -256,216 +256,216 @@ Pass Web Animations: property <position-area> from [left] to [right] at (0.5) sh
Pass Web Animations: property <position-area> from [left] to [right] at (0.6) should be [right]
Pass Web Animations: property <position-area> from [left] to [right] at (1) should be [right]
Pass Web Animations: property <position-area> from [left] to [right] at (1.5) should be [right]
Fail CSS Transitions with transition-behavior:allow-discrete: property <position-try-fallbacks> from [none] to [--foo] at (-0.3) should be [none]
Fail CSS Transitions with transition-behavior:allow-discrete: property <position-try-fallbacks> from [none] to [--foo] at (0) should be [none]
Fail CSS Transitions with transition-behavior:allow-discrete: property <position-try-fallbacks> from [none] to [--foo] at (0.3) should be [none]
Fail CSS Transitions with transition-behavior:allow-discrete: property <position-try-fallbacks> from [none] to [--foo] at (0.5) should be [--foo]
Fail CSS Transitions with transition-behavior:allow-discrete: property <position-try-fallbacks> from [none] to [--foo] at (0.6) should be [--foo]
Fail CSS Transitions with transition-behavior:allow-discrete: property <position-try-fallbacks> from [none] to [--foo] at (1) should be [--foo]
Fail CSS Transitions with transition-behavior:allow-discrete: property <position-try-fallbacks> from [none] to [--foo] at (1.5) should be [--foo]
Fail CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <position-try-fallbacks> from [none] to [--foo] at (-0.3) should be [none]
Fail CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <position-try-fallbacks> from [none] to [--foo] at (0) should be [none]
Fail CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <position-try-fallbacks> from [none] to [--foo] at (0.3) should be [none]
Fail CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <position-try-fallbacks> from [none] to [--foo] at (0.5) should be [--foo]
Fail CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <position-try-fallbacks> from [none] to [--foo] at (0.6) should be [--foo]
Fail CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <position-try-fallbacks> from [none] to [--foo] at (1) should be [--foo]
Fail CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <position-try-fallbacks> from [none] to [--foo] at (1.5) should be [--foo]
Fail CSS Transitions: property <position-try-fallbacks> from [none] to [--foo] at (-0.3) should be [--foo]
Fail CSS Transitions: property <position-try-fallbacks> from [none] to [--foo] at (0) should be [--foo]
Fail CSS Transitions: property <position-try-fallbacks> from [none] to [--foo] at (0.3) should be [--foo]
Fail CSS Transitions: property <position-try-fallbacks> from [none] to [--foo] at (0.5) should be [--foo]
Fail CSS Transitions: property <position-try-fallbacks> from [none] to [--foo] at (0.6) should be [--foo]
Fail CSS Transitions: property <position-try-fallbacks> from [none] to [--foo] at (1) should be [--foo]
Fail CSS Transitions: property <position-try-fallbacks> from [none] to [--foo] at (1.5) should be [--foo]
Fail CSS Transitions with transition: all: property <position-try-fallbacks> from [none] to [--foo] at (-0.3) should be [--foo]
Fail CSS Transitions with transition: all: property <position-try-fallbacks> from [none] to [--foo] at (0) should be [--foo]
Fail CSS Transitions with transition: all: property <position-try-fallbacks> from [none] to [--foo] at (0.3) should be [--foo]
Fail CSS Transitions with transition: all: property <position-try-fallbacks> from [none] to [--foo] at (0.5) should be [--foo]
Fail CSS Transitions with transition: all: property <position-try-fallbacks> from [none] to [--foo] at (0.6) should be [--foo]
Fail CSS Transitions with transition: all: property <position-try-fallbacks> from [none] to [--foo] at (1) should be [--foo]
Fail CSS Transitions with transition: all: property <position-try-fallbacks> from [none] to [--foo] at (1.5) should be [--foo]
Fail CSS Animations: property <position-try-fallbacks> from [none] to [--foo] at (-0.3) should be [none]
Fail CSS Animations: property <position-try-fallbacks> from [none] to [--foo] at (0) should be [none]
Fail CSS Animations: property <position-try-fallbacks> from [none] to [--foo] at (0.3) should be [none]
Fail CSS Animations: property <position-try-fallbacks> from [none] to [--foo] at (0.5) should be [--foo]
Fail CSS Animations: property <position-try-fallbacks> from [none] to [--foo] at (0.6) should be [--foo]
Fail CSS Animations: property <position-try-fallbacks> from [none] to [--foo] at (1) should be [--foo]
Fail CSS Animations: property <position-try-fallbacks> from [none] to [--foo] at (1.5) should be [--foo]
Fail Web Animations: property <position-try-fallbacks> from [none] to [--foo] at (-0.3) should be [none]
Fail Web Animations: property <position-try-fallbacks> from [none] to [--foo] at (0) should be [none]
Fail Web Animations: property <position-try-fallbacks> from [none] to [--foo] at (0.3) should be [none]
Fail Web Animations: property <position-try-fallbacks> from [none] to [--foo] at (0.5) should be [--foo]
Fail Web Animations: property <position-try-fallbacks> from [none] to [--foo] at (0.6) should be [--foo]
Fail Web Animations: property <position-try-fallbacks> from [none] to [--foo] at (1) should be [--foo]
Fail Web Animations: property <position-try-fallbacks> from [none] to [--foo] at (1.5) should be [--foo]
Fail CSS Transitions with transition-behavior:allow-discrete: property <position-try-fallbacks> from [none] to [flip-block] at (-0.3) should be [none]
Fail CSS Transitions with transition-behavior:allow-discrete: property <position-try-fallbacks> from [none] to [flip-block] at (0) should be [none]
Fail CSS Transitions with transition-behavior:allow-discrete: property <position-try-fallbacks> from [none] to [flip-block] at (0.3) should be [none]
Fail CSS Transitions with transition-behavior:allow-discrete: property <position-try-fallbacks> from [none] to [flip-block] at (0.5) should be [flip-block]
Fail CSS Transitions with transition-behavior:allow-discrete: property <position-try-fallbacks> from [none] to [flip-block] at (0.6) should be [flip-block]
Fail CSS Transitions with transition-behavior:allow-discrete: property <position-try-fallbacks> from [none] to [flip-block] at (1) should be [flip-block]
Fail CSS Transitions with transition-behavior:allow-discrete: property <position-try-fallbacks> from [none] to [flip-block] at (1.5) should be [flip-block]
Fail CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <position-try-fallbacks> from [none] to [flip-block] at (-0.3) should be [none]
Fail CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <position-try-fallbacks> from [none] to [flip-block] at (0) should be [none]
Fail CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <position-try-fallbacks> from [none] to [flip-block] at (0.3) should be [none]
Fail CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <position-try-fallbacks> from [none] to [flip-block] at (0.5) should be [flip-block]
Fail CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <position-try-fallbacks> from [none] to [flip-block] at (0.6) should be [flip-block]
Fail CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <position-try-fallbacks> from [none] to [flip-block] at (1) should be [flip-block]
Fail CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <position-try-fallbacks> from [none] to [flip-block] at (1.5) should be [flip-block]
Fail CSS Transitions: property <position-try-fallbacks> from [none] to [flip-block] at (-0.3) should be [flip-block]
Fail CSS Transitions: property <position-try-fallbacks> from [none] to [flip-block] at (0) should be [flip-block]
Fail CSS Transitions: property <position-try-fallbacks> from [none] to [flip-block] at (0.3) should be [flip-block]
Fail CSS Transitions: property <position-try-fallbacks> from [none] to [flip-block] at (0.5) should be [flip-block]
Fail CSS Transitions: property <position-try-fallbacks> from [none] to [flip-block] at (0.6) should be [flip-block]
Fail CSS Transitions: property <position-try-fallbacks> from [none] to [flip-block] at (1) should be [flip-block]
Fail CSS Transitions: property <position-try-fallbacks> from [none] to [flip-block] at (1.5) should be [flip-block]
Fail CSS Transitions with transition: all: property <position-try-fallbacks> from [none] to [flip-block] at (-0.3) should be [flip-block]
Fail CSS Transitions with transition: all: property <position-try-fallbacks> from [none] to [flip-block] at (0) should be [flip-block]
Fail CSS Transitions with transition: all: property <position-try-fallbacks> from [none] to [flip-block] at (0.3) should be [flip-block]
Fail CSS Transitions with transition: all: property <position-try-fallbacks> from [none] to [flip-block] at (0.5) should be [flip-block]
Fail CSS Transitions with transition: all: property <position-try-fallbacks> from [none] to [flip-block] at (0.6) should be [flip-block]
Fail CSS Transitions with transition: all: property <position-try-fallbacks> from [none] to [flip-block] at (1) should be [flip-block]
Fail CSS Transitions with transition: all: property <position-try-fallbacks> from [none] to [flip-block] at (1.5) should be [flip-block]
Fail CSS Animations: property <position-try-fallbacks> from [none] to [flip-block] at (-0.3) should be [none]
Fail CSS Animations: property <position-try-fallbacks> from [none] to [flip-block] at (0) should be [none]
Fail CSS Animations: property <position-try-fallbacks> from [none] to [flip-block] at (0.3) should be [none]
Fail CSS Animations: property <position-try-fallbacks> from [none] to [flip-block] at (0.5) should be [flip-block]
Fail CSS Animations: property <position-try-fallbacks> from [none] to [flip-block] at (0.6) should be [flip-block]
Fail CSS Animations: property <position-try-fallbacks> from [none] to [flip-block] at (1) should be [flip-block]
Fail CSS Animations: property <position-try-fallbacks> from [none] to [flip-block] at (1.5) should be [flip-block]
Fail Web Animations: property <position-try-fallbacks> from [none] to [flip-block] at (-0.3) should be [none]
Fail Web Animations: property <position-try-fallbacks> from [none] to [flip-block] at (0) should be [none]
Fail Web Animations: property <position-try-fallbacks> from [none] to [flip-block] at (0.3) should be [none]
Fail Web Animations: property <position-try-fallbacks> from [none] to [flip-block] at (0.5) should be [flip-block]
Fail Web Animations: property <position-try-fallbacks> from [none] to [flip-block] at (0.6) should be [flip-block]
Fail Web Animations: property <position-try-fallbacks> from [none] to [flip-block] at (1) should be [flip-block]
Fail Web Animations: property <position-try-fallbacks> from [none] to [flip-block] at (1.5) should be [flip-block]
Fail CSS Transitions with transition-behavior:allow-discrete: property <position-try-fallbacks> from [flip-inline] to [flip-block] at (-0.3) should be [flip-inline]
Fail CSS Transitions with transition-behavior:allow-discrete: property <position-try-fallbacks> from [flip-inline] to [flip-block] at (0) should be [flip-inline]
Fail CSS Transitions with transition-behavior:allow-discrete: property <position-try-fallbacks> from [flip-inline] to [flip-block] at (0.3) should be [flip-inline]
Fail CSS Transitions with transition-behavior:allow-discrete: property <position-try-fallbacks> from [flip-inline] to [flip-block] at (0.5) should be [flip-block]
Fail CSS Transitions with transition-behavior:allow-discrete: property <position-try-fallbacks> from [flip-inline] to [flip-block] at (0.6) should be [flip-block]
Fail CSS Transitions with transition-behavior:allow-discrete: property <position-try-fallbacks> from [flip-inline] to [flip-block] at (1) should be [flip-block]
Fail CSS Transitions with transition-behavior:allow-discrete: property <position-try-fallbacks> from [flip-inline] to [flip-block] at (1.5) should be [flip-block]
Fail CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <position-try-fallbacks> from [flip-inline] to [flip-block] at (-0.3) should be [flip-inline]
Fail CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <position-try-fallbacks> from [flip-inline] to [flip-block] at (0) should be [flip-inline]
Fail CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <position-try-fallbacks> from [flip-inline] to [flip-block] at (0.3) should be [flip-inline]
Fail CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <position-try-fallbacks> from [flip-inline] to [flip-block] at (0.5) should be [flip-block]
Fail CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <position-try-fallbacks> from [flip-inline] to [flip-block] at (0.6) should be [flip-block]
Fail CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <position-try-fallbacks> from [flip-inline] to [flip-block] at (1) should be [flip-block]
Fail CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <position-try-fallbacks> from [flip-inline] to [flip-block] at (1.5) should be [flip-block]
Fail CSS Transitions: property <position-try-fallbacks> from [flip-inline] to [flip-block] at (-0.3) should be [flip-block]
Fail CSS Transitions: property <position-try-fallbacks> from [flip-inline] to [flip-block] at (0) should be [flip-block]
Fail CSS Transitions: property <position-try-fallbacks> from [flip-inline] to [flip-block] at (0.3) should be [flip-block]
Fail CSS Transitions: property <position-try-fallbacks> from [flip-inline] to [flip-block] at (0.5) should be [flip-block]
Fail CSS Transitions: property <position-try-fallbacks> from [flip-inline] to [flip-block] at (0.6) should be [flip-block]
Fail CSS Transitions: property <position-try-fallbacks> from [flip-inline] to [flip-block] at (1) should be [flip-block]
Fail CSS Transitions: property <position-try-fallbacks> from [flip-inline] to [flip-block] at (1.5) should be [flip-block]
Fail CSS Transitions with transition: all: property <position-try-fallbacks> from [flip-inline] to [flip-block] at (-0.3) should be [flip-block]
Fail CSS Transitions with transition: all: property <position-try-fallbacks> from [flip-inline] to [flip-block] at (0) should be [flip-block]
Fail CSS Transitions with transition: all: property <position-try-fallbacks> from [flip-inline] to [flip-block] at (0.3) should be [flip-block]
Fail CSS Transitions with transition: all: property <position-try-fallbacks> from [flip-inline] to [flip-block] at (0.5) should be [flip-block]
Fail CSS Transitions with transition: all: property <position-try-fallbacks> from [flip-inline] to [flip-block] at (0.6) should be [flip-block]
Fail CSS Transitions with transition: all: property <position-try-fallbacks> from [flip-inline] to [flip-block] at (1) should be [flip-block]
Fail CSS Transitions with transition: all: property <position-try-fallbacks> from [flip-inline] to [flip-block] at (1.5) should be [flip-block]
Fail CSS Animations: property <position-try-fallbacks> from [flip-inline] to [flip-block] at (-0.3) should be [flip-inline]
Fail CSS Animations: property <position-try-fallbacks> from [flip-inline] to [flip-block] at (0) should be [flip-inline]
Fail CSS Animations: property <position-try-fallbacks> from [flip-inline] to [flip-block] at (0.3) should be [flip-inline]
Fail CSS Animations: property <position-try-fallbacks> from [flip-inline] to [flip-block] at (0.5) should be [flip-block]
Fail CSS Animations: property <position-try-fallbacks> from [flip-inline] to [flip-block] at (0.6) should be [flip-block]
Fail CSS Animations: property <position-try-fallbacks> from [flip-inline] to [flip-block] at (1) should be [flip-block]
Fail CSS Animations: property <position-try-fallbacks> from [flip-inline] to [flip-block] at (1.5) should be [flip-block]
Fail Web Animations: property <position-try-fallbacks> from [flip-inline] to [flip-block] at (-0.3) should be [flip-inline]
Fail Web Animations: property <position-try-fallbacks> from [flip-inline] to [flip-block] at (0) should be [flip-inline]
Fail Web Animations: property <position-try-fallbacks> from [flip-inline] to [flip-block] at (0.3) should be [flip-inline]
Fail Web Animations: property <position-try-fallbacks> from [flip-inline] to [flip-block] at (0.5) should be [flip-block]
Fail Web Animations: property <position-try-fallbacks> from [flip-inline] to [flip-block] at (0.6) should be [flip-block]
Fail Web Animations: property <position-try-fallbacks> from [flip-inline] to [flip-block] at (1) should be [flip-block]
Fail Web Animations: property <position-try-fallbacks> from [flip-inline] to [flip-block] at (1.5) should be [flip-block]
Fail CSS Transitions with transition-behavior:allow-discrete: property <position-try-fallbacks> from [--foo] to [--bar] at (-0.3) should be [--foo]
Fail CSS Transitions with transition-behavior:allow-discrete: property <position-try-fallbacks> from [--foo] to [--bar] at (0) should be [--foo]
Fail CSS Transitions with transition-behavior:allow-discrete: property <position-try-fallbacks> from [--foo] to [--bar] at (0.3) should be [--foo]
Fail CSS Transitions with transition-behavior:allow-discrete: property <position-try-fallbacks> from [--foo] to [--bar] at (0.5) should be [--bar]
Fail CSS Transitions with transition-behavior:allow-discrete: property <position-try-fallbacks> from [--foo] to [--bar] at (0.6) should be [--bar]
Fail CSS Transitions with transition-behavior:allow-discrete: property <position-try-fallbacks> from [--foo] to [--bar] at (1) should be [--bar]
Fail CSS Transitions with transition-behavior:allow-discrete: property <position-try-fallbacks> from [--foo] to [--bar] at (1.5) should be [--bar]
Fail CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <position-try-fallbacks> from [--foo] to [--bar] at (-0.3) should be [--foo]
Fail CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <position-try-fallbacks> from [--foo] to [--bar] at (0) should be [--foo]
Fail CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <position-try-fallbacks> from [--foo] to [--bar] at (0.3) should be [--foo]
Fail CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <position-try-fallbacks> from [--foo] to [--bar] at (0.5) should be [--bar]
Fail CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <position-try-fallbacks> from [--foo] to [--bar] at (0.6) should be [--bar]
Fail CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <position-try-fallbacks> from [--foo] to [--bar] at (1) should be [--bar]
Fail CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <position-try-fallbacks> from [--foo] to [--bar] at (1.5) should be [--bar]
Fail CSS Transitions: property <position-try-fallbacks> from [--foo] to [--bar] at (-0.3) should be [--bar]
Fail CSS Transitions: property <position-try-fallbacks> from [--foo] to [--bar] at (0) should be [--bar]
Fail CSS Transitions: property <position-try-fallbacks> from [--foo] to [--bar] at (0.3) should be [--bar]
Fail CSS Transitions: property <position-try-fallbacks> from [--foo] to [--bar] at (0.5) should be [--bar]
Fail CSS Transitions: property <position-try-fallbacks> from [--foo] to [--bar] at (0.6) should be [--bar]
Fail CSS Transitions: property <position-try-fallbacks> from [--foo] to [--bar] at (1) should be [--bar]
Fail CSS Transitions: property <position-try-fallbacks> from [--foo] to [--bar] at (1.5) should be [--bar]
Fail CSS Transitions with transition: all: property <position-try-fallbacks> from [--foo] to [--bar] at (-0.3) should be [--bar]
Fail CSS Transitions with transition: all: property <position-try-fallbacks> from [--foo] to [--bar] at (0) should be [--bar]
Fail CSS Transitions with transition: all: property <position-try-fallbacks> from [--foo] to [--bar] at (0.3) should be [--bar]
Fail CSS Transitions with transition: all: property <position-try-fallbacks> from [--foo] to [--bar] at (0.5) should be [--bar]
Fail CSS Transitions with transition: all: property <position-try-fallbacks> from [--foo] to [--bar] at (0.6) should be [--bar]
Fail CSS Transitions with transition: all: property <position-try-fallbacks> from [--foo] to [--bar] at (1) should be [--bar]
Fail CSS Transitions with transition: all: property <position-try-fallbacks> from [--foo] to [--bar] at (1.5) should be [--bar]
Fail CSS Animations: property <position-try-fallbacks> from [--foo] to [--bar] at (-0.3) should be [--foo]
Fail CSS Animations: property <position-try-fallbacks> from [--foo] to [--bar] at (0) should be [--foo]
Fail CSS Animations: property <position-try-fallbacks> from [--foo] to [--bar] at (0.3) should be [--foo]
Fail CSS Animations: property <position-try-fallbacks> from [--foo] to [--bar] at (0.5) should be [--bar]
Fail CSS Animations: property <position-try-fallbacks> from [--foo] to [--bar] at (0.6) should be [--bar]
Fail CSS Animations: property <position-try-fallbacks> from [--foo] to [--bar] at (1) should be [--bar]
Fail CSS Animations: property <position-try-fallbacks> from [--foo] to [--bar] at (1.5) should be [--bar]
Fail Web Animations: property <position-try-fallbacks> from [--foo] to [--bar] at (-0.3) should be [--foo]
Fail Web Animations: property <position-try-fallbacks> from [--foo] to [--bar] at (0) should be [--foo]
Fail Web Animations: property <position-try-fallbacks> from [--foo] to [--bar] at (0.3) should be [--foo]
Fail Web Animations: property <position-try-fallbacks> from [--foo] to [--bar] at (0.5) should be [--bar]
Fail Web Animations: property <position-try-fallbacks> from [--foo] to [--bar] at (0.6) should be [--bar]
Fail Web Animations: property <position-try-fallbacks> from [--foo] to [--bar] at (1) should be [--bar]
Fail Web Animations: property <position-try-fallbacks> from [--foo] to [--bar] at (1.5) should be [--bar]
Fail CSS Transitions with transition-behavior:allow-discrete: property <position-try-fallbacks> from [--foo] to [flip-block] at (-0.3) should be [--foo]
Fail CSS Transitions with transition-behavior:allow-discrete: property <position-try-fallbacks> from [--foo] to [flip-block] at (0) should be [--foo]
Fail CSS Transitions with transition-behavior:allow-discrete: property <position-try-fallbacks> from [--foo] to [flip-block] at (0.3) should be [--foo]
Fail CSS Transitions with transition-behavior:allow-discrete: property <position-try-fallbacks> from [--foo] to [flip-block] at (0.5) should be [flip-block]
Fail CSS Transitions with transition-behavior:allow-discrete: property <position-try-fallbacks> from [--foo] to [flip-block] at (0.6) should be [flip-block]
Fail CSS Transitions with transition-behavior:allow-discrete: property <position-try-fallbacks> from [--foo] to [flip-block] at (1) should be [flip-block]
Fail CSS Transitions with transition-behavior:allow-discrete: property <position-try-fallbacks> from [--foo] to [flip-block] at (1.5) should be [flip-block]
Fail CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <position-try-fallbacks> from [--foo] to [flip-block] at (-0.3) should be [--foo]
Fail CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <position-try-fallbacks> from [--foo] to [flip-block] at (0) should be [--foo]
Fail CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <position-try-fallbacks> from [--foo] to [flip-block] at (0.3) should be [--foo]
Fail CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <position-try-fallbacks> from [--foo] to [flip-block] at (0.5) should be [flip-block]
Fail CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <position-try-fallbacks> from [--foo] to [flip-block] at (0.6) should be [flip-block]
Fail CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <position-try-fallbacks> from [--foo] to [flip-block] at (1) should be [flip-block]
Fail CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <position-try-fallbacks> from [--foo] to [flip-block] at (1.5) should be [flip-block]
Fail CSS Transitions: property <position-try-fallbacks> from [--foo] to [flip-block] at (-0.3) should be [flip-block]
Fail CSS Transitions: property <position-try-fallbacks> from [--foo] to [flip-block] at (0) should be [flip-block]
Fail CSS Transitions: property <position-try-fallbacks> from [--foo] to [flip-block] at (0.3) should be [flip-block]
Fail CSS Transitions: property <position-try-fallbacks> from [--foo] to [flip-block] at (0.5) should be [flip-block]
Fail CSS Transitions: property <position-try-fallbacks> from [--foo] to [flip-block] at (0.6) should be [flip-block]
Fail CSS Transitions: property <position-try-fallbacks> from [--foo] to [flip-block] at (1) should be [flip-block]
Fail CSS Transitions: property <position-try-fallbacks> from [--foo] to [flip-block] at (1.5) should be [flip-block]
Fail CSS Transitions with transition: all: property <position-try-fallbacks> from [--foo] to [flip-block] at (-0.3) should be [flip-block]
Fail CSS Transitions with transition: all: property <position-try-fallbacks> from [--foo] to [flip-block] at (0) should be [flip-block]
Fail CSS Transitions with transition: all: property <position-try-fallbacks> from [--foo] to [flip-block] at (0.3) should be [flip-block]
Fail CSS Transitions with transition: all: property <position-try-fallbacks> from [--foo] to [flip-block] at (0.5) should be [flip-block]
Fail CSS Transitions with transition: all: property <position-try-fallbacks> from [--foo] to [flip-block] at (0.6) should be [flip-block]
Fail CSS Transitions with transition: all: property <position-try-fallbacks> from [--foo] to [flip-block] at (1) should be [flip-block]
Fail CSS Transitions with transition: all: property <position-try-fallbacks> from [--foo] to [flip-block] at (1.5) should be [flip-block]
Fail CSS Animations: property <position-try-fallbacks> from [--foo] to [flip-block] at (-0.3) should be [--foo]
Fail CSS Animations: property <position-try-fallbacks> from [--foo] to [flip-block] at (0) should be [--foo]
Fail CSS Animations: property <position-try-fallbacks> from [--foo] to [flip-block] at (0.3) should be [--foo]
Fail CSS Animations: property <position-try-fallbacks> from [--foo] to [flip-block] at (0.5) should be [flip-block]
Fail CSS Animations: property <position-try-fallbacks> from [--foo] to [flip-block] at (0.6) should be [flip-block]
Fail CSS Animations: property <position-try-fallbacks> from [--foo] to [flip-block] at (1) should be [flip-block]
Fail CSS Animations: property <position-try-fallbacks> from [--foo] to [flip-block] at (1.5) should be [flip-block]
Fail Web Animations: property <position-try-fallbacks> from [--foo] to [flip-block] at (-0.3) should be [--foo]
Fail Web Animations: property <position-try-fallbacks> from [--foo] to [flip-block] at (0) should be [--foo]
Fail Web Animations: property <position-try-fallbacks> from [--foo] to [flip-block] at (0.3) should be [--foo]
Fail Web Animations: property <position-try-fallbacks> from [--foo] to [flip-block] at (0.5) should be [flip-block]
Fail Web Animations: property <position-try-fallbacks> from [--foo] to [flip-block] at (0.6) should be [flip-block]
Fail Web Animations: property <position-try-fallbacks> from [--foo] to [flip-block] at (1) should be [flip-block]
Fail Web Animations: property <position-try-fallbacks> from [--foo] to [flip-block] at (1.5) should be [flip-block]
Pass CSS Transitions with transition-behavior:allow-discrete: property <position-try-fallbacks> from [none] to [--foo] at (-0.3) should be [none]
Pass CSS Transitions with transition-behavior:allow-discrete: property <position-try-fallbacks> from [none] to [--foo] at (0) should be [none]
Pass CSS Transitions with transition-behavior:allow-discrete: property <position-try-fallbacks> from [none] to [--foo] at (0.3) should be [none]
Pass CSS Transitions with transition-behavior:allow-discrete: property <position-try-fallbacks> from [none] to [--foo] at (0.5) should be [--foo]
Pass CSS Transitions with transition-behavior:allow-discrete: property <position-try-fallbacks> from [none] to [--foo] at (0.6) should be [--foo]
Pass CSS Transitions with transition-behavior:allow-discrete: property <position-try-fallbacks> from [none] to [--foo] at (1) should be [--foo]
Pass CSS Transitions with transition-behavior:allow-discrete: property <position-try-fallbacks> from [none] to [--foo] at (1.5) should be [--foo]
Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <position-try-fallbacks> from [none] to [--foo] at (-0.3) should be [none]
Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <position-try-fallbacks> from [none] to [--foo] at (0) should be [none]
Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <position-try-fallbacks> from [none] to [--foo] at (0.3) should be [none]
Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <position-try-fallbacks> from [none] to [--foo] at (0.5) should be [--foo]
Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <position-try-fallbacks> from [none] to [--foo] at (0.6) should be [--foo]
Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <position-try-fallbacks> from [none] to [--foo] at (1) should be [--foo]
Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <position-try-fallbacks> from [none] to [--foo] at (1.5) should be [--foo]
Pass CSS Transitions: property <position-try-fallbacks> from [none] to [--foo] at (-0.3) should be [--foo]
Pass CSS Transitions: property <position-try-fallbacks> from [none] to [--foo] at (0) should be [--foo]
Pass CSS Transitions: property <position-try-fallbacks> from [none] to [--foo] at (0.3) should be [--foo]
Pass CSS Transitions: property <position-try-fallbacks> from [none] to [--foo] at (0.5) should be [--foo]
Pass CSS Transitions: property <position-try-fallbacks> from [none] to [--foo] at (0.6) should be [--foo]
Pass CSS Transitions: property <position-try-fallbacks> from [none] to [--foo] at (1) should be [--foo]
Pass CSS Transitions: property <position-try-fallbacks> from [none] to [--foo] at (1.5) should be [--foo]
Pass CSS Transitions with transition: all: property <position-try-fallbacks> from [none] to [--foo] at (-0.3) should be [--foo]
Pass CSS Transitions with transition: all: property <position-try-fallbacks> from [none] to [--foo] at (0) should be [--foo]
Pass CSS Transitions with transition: all: property <position-try-fallbacks> from [none] to [--foo] at (0.3) should be [--foo]
Pass CSS Transitions with transition: all: property <position-try-fallbacks> from [none] to [--foo] at (0.5) should be [--foo]
Pass CSS Transitions with transition: all: property <position-try-fallbacks> from [none] to [--foo] at (0.6) should be [--foo]
Pass CSS Transitions with transition: all: property <position-try-fallbacks> from [none] to [--foo] at (1) should be [--foo]
Pass CSS Transitions with transition: all: property <position-try-fallbacks> from [none] to [--foo] at (1.5) should be [--foo]
Pass CSS Animations: property <position-try-fallbacks> from [none] to [--foo] at (-0.3) should be [none]
Pass CSS Animations: property <position-try-fallbacks> from [none] to [--foo] at (0) should be [none]
Pass CSS Animations: property <position-try-fallbacks> from [none] to [--foo] at (0.3) should be [none]
Pass CSS Animations: property <position-try-fallbacks> from [none] to [--foo] at (0.5) should be [--foo]
Pass CSS Animations: property <position-try-fallbacks> from [none] to [--foo] at (0.6) should be [--foo]
Pass CSS Animations: property <position-try-fallbacks> from [none] to [--foo] at (1) should be [--foo]
Pass CSS Animations: property <position-try-fallbacks> from [none] to [--foo] at (1.5) should be [--foo]
Pass Web Animations: property <position-try-fallbacks> from [none] to [--foo] at (-0.3) should be [none]
Pass Web Animations: property <position-try-fallbacks> from [none] to [--foo] at (0) should be [none]
Pass Web Animations: property <position-try-fallbacks> from [none] to [--foo] at (0.3) should be [none]
Pass Web Animations: property <position-try-fallbacks> from [none] to [--foo] at (0.5) should be [--foo]
Pass Web Animations: property <position-try-fallbacks> from [none] to [--foo] at (0.6) should be [--foo]
Pass Web Animations: property <position-try-fallbacks> from [none] to [--foo] at (1) should be [--foo]
Pass Web Animations: property <position-try-fallbacks> from [none] to [--foo] at (1.5) should be [--foo]
Pass CSS Transitions with transition-behavior:allow-discrete: property <position-try-fallbacks> from [none] to [flip-block] at (-0.3) should be [none]
Pass CSS Transitions with transition-behavior:allow-discrete: property <position-try-fallbacks> from [none] to [flip-block] at (0) should be [none]
Pass CSS Transitions with transition-behavior:allow-discrete: property <position-try-fallbacks> from [none] to [flip-block] at (0.3) should be [none]
Pass CSS Transitions with transition-behavior:allow-discrete: property <position-try-fallbacks> from [none] to [flip-block] at (0.5) should be [flip-block]
Pass CSS Transitions with transition-behavior:allow-discrete: property <position-try-fallbacks> from [none] to [flip-block] at (0.6) should be [flip-block]
Pass CSS Transitions with transition-behavior:allow-discrete: property <position-try-fallbacks> from [none] to [flip-block] at (1) should be [flip-block]
Pass CSS Transitions with transition-behavior:allow-discrete: property <position-try-fallbacks> from [none] to [flip-block] at (1.5) should be [flip-block]
Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <position-try-fallbacks> from [none] to [flip-block] at (-0.3) should be [none]
Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <position-try-fallbacks> from [none] to [flip-block] at (0) should be [none]
Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <position-try-fallbacks> from [none] to [flip-block] at (0.3) should be [none]
Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <position-try-fallbacks> from [none] to [flip-block] at (0.5) should be [flip-block]
Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <position-try-fallbacks> from [none] to [flip-block] at (0.6) should be [flip-block]
Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <position-try-fallbacks> from [none] to [flip-block] at (1) should be [flip-block]
Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <position-try-fallbacks> from [none] to [flip-block] at (1.5) should be [flip-block]
Pass CSS Transitions: property <position-try-fallbacks> from [none] to [flip-block] at (-0.3) should be [flip-block]
Pass CSS Transitions: property <position-try-fallbacks> from [none] to [flip-block] at (0) should be [flip-block]
Pass CSS Transitions: property <position-try-fallbacks> from [none] to [flip-block] at (0.3) should be [flip-block]
Pass CSS Transitions: property <position-try-fallbacks> from [none] to [flip-block] at (0.5) should be [flip-block]
Pass CSS Transitions: property <position-try-fallbacks> from [none] to [flip-block] at (0.6) should be [flip-block]
Pass CSS Transitions: property <position-try-fallbacks> from [none] to [flip-block] at (1) should be [flip-block]
Pass CSS Transitions: property <position-try-fallbacks> from [none] to [flip-block] at (1.5) should be [flip-block]
Pass CSS Transitions with transition: all: property <position-try-fallbacks> from [none] to [flip-block] at (-0.3) should be [flip-block]
Pass CSS Transitions with transition: all: property <position-try-fallbacks> from [none] to [flip-block] at (0) should be [flip-block]
Pass CSS Transitions with transition: all: property <position-try-fallbacks> from [none] to [flip-block] at (0.3) should be [flip-block]
Pass CSS Transitions with transition: all: property <position-try-fallbacks> from [none] to [flip-block] at (0.5) should be [flip-block]
Pass CSS Transitions with transition: all: property <position-try-fallbacks> from [none] to [flip-block] at (0.6) should be [flip-block]
Pass CSS Transitions with transition: all: property <position-try-fallbacks> from [none] to [flip-block] at (1) should be [flip-block]
Pass CSS Transitions with transition: all: property <position-try-fallbacks> from [none] to [flip-block] at (1.5) should be [flip-block]
Pass CSS Animations: property <position-try-fallbacks> from [none] to [flip-block] at (-0.3) should be [none]
Pass CSS Animations: property <position-try-fallbacks> from [none] to [flip-block] at (0) should be [none]
Pass CSS Animations: property <position-try-fallbacks> from [none] to [flip-block] at (0.3) should be [none]
Pass CSS Animations: property <position-try-fallbacks> from [none] to [flip-block] at (0.5) should be [flip-block]
Pass CSS Animations: property <position-try-fallbacks> from [none] to [flip-block] at (0.6) should be [flip-block]
Pass CSS Animations: property <position-try-fallbacks> from [none] to [flip-block] at (1) should be [flip-block]
Pass CSS Animations: property <position-try-fallbacks> from [none] to [flip-block] at (1.5) should be [flip-block]
Pass Web Animations: property <position-try-fallbacks> from [none] to [flip-block] at (-0.3) should be [none]
Pass Web Animations: property <position-try-fallbacks> from [none] to [flip-block] at (0) should be [none]
Pass Web Animations: property <position-try-fallbacks> from [none] to [flip-block] at (0.3) should be [none]
Pass Web Animations: property <position-try-fallbacks> from [none] to [flip-block] at (0.5) should be [flip-block]
Pass Web Animations: property <position-try-fallbacks> from [none] to [flip-block] at (0.6) should be [flip-block]
Pass Web Animations: property <position-try-fallbacks> from [none] to [flip-block] at (1) should be [flip-block]
Pass Web Animations: property <position-try-fallbacks> from [none] to [flip-block] at (1.5) should be [flip-block]
Pass CSS Transitions with transition-behavior:allow-discrete: property <position-try-fallbacks> from [flip-inline] to [flip-block] at (-0.3) should be [flip-inline]
Pass CSS Transitions with transition-behavior:allow-discrete: property <position-try-fallbacks> from [flip-inline] to [flip-block] at (0) should be [flip-inline]
Pass CSS Transitions with transition-behavior:allow-discrete: property <position-try-fallbacks> from [flip-inline] to [flip-block] at (0.3) should be [flip-inline]
Pass CSS Transitions with transition-behavior:allow-discrete: property <position-try-fallbacks> from [flip-inline] to [flip-block] at (0.5) should be [flip-block]
Pass CSS Transitions with transition-behavior:allow-discrete: property <position-try-fallbacks> from [flip-inline] to [flip-block] at (0.6) should be [flip-block]
Pass CSS Transitions with transition-behavior:allow-discrete: property <position-try-fallbacks> from [flip-inline] to [flip-block] at (1) should be [flip-block]
Pass CSS Transitions with transition-behavior:allow-discrete: property <position-try-fallbacks> from [flip-inline] to [flip-block] at (1.5) should be [flip-block]
Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <position-try-fallbacks> from [flip-inline] to [flip-block] at (-0.3) should be [flip-inline]
Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <position-try-fallbacks> from [flip-inline] to [flip-block] at (0) should be [flip-inline]
Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <position-try-fallbacks> from [flip-inline] to [flip-block] at (0.3) should be [flip-inline]
Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <position-try-fallbacks> from [flip-inline] to [flip-block] at (0.5) should be [flip-block]
Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <position-try-fallbacks> from [flip-inline] to [flip-block] at (0.6) should be [flip-block]
Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <position-try-fallbacks> from [flip-inline] to [flip-block] at (1) should be [flip-block]
Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <position-try-fallbacks> from [flip-inline] to [flip-block] at (1.5) should be [flip-block]
Pass CSS Transitions: property <position-try-fallbacks> from [flip-inline] to [flip-block] at (-0.3) should be [flip-block]
Pass CSS Transitions: property <position-try-fallbacks> from [flip-inline] to [flip-block] at (0) should be [flip-block]
Pass CSS Transitions: property <position-try-fallbacks> from [flip-inline] to [flip-block] at (0.3) should be [flip-block]
Pass CSS Transitions: property <position-try-fallbacks> from [flip-inline] to [flip-block] at (0.5) should be [flip-block]
Pass CSS Transitions: property <position-try-fallbacks> from [flip-inline] to [flip-block] at (0.6) should be [flip-block]
Pass CSS Transitions: property <position-try-fallbacks> from [flip-inline] to [flip-block] at (1) should be [flip-block]
Pass CSS Transitions: property <position-try-fallbacks> from [flip-inline] to [flip-block] at (1.5) should be [flip-block]
Pass CSS Transitions with transition: all: property <position-try-fallbacks> from [flip-inline] to [flip-block] at (-0.3) should be [flip-block]
Pass CSS Transitions with transition: all: property <position-try-fallbacks> from [flip-inline] to [flip-block] at (0) should be [flip-block]
Pass CSS Transitions with transition: all: property <position-try-fallbacks> from [flip-inline] to [flip-block] at (0.3) should be [flip-block]
Pass CSS Transitions with transition: all: property <position-try-fallbacks> from [flip-inline] to [flip-block] at (0.5) should be [flip-block]
Pass CSS Transitions with transition: all: property <position-try-fallbacks> from [flip-inline] to [flip-block] at (0.6) should be [flip-block]
Pass CSS Transitions with transition: all: property <position-try-fallbacks> from [flip-inline] to [flip-block] at (1) should be [flip-block]
Pass CSS Transitions with transition: all: property <position-try-fallbacks> from [flip-inline] to [flip-block] at (1.5) should be [flip-block]
Pass CSS Animations: property <position-try-fallbacks> from [flip-inline] to [flip-block] at (-0.3) should be [flip-inline]
Pass CSS Animations: property <position-try-fallbacks> from [flip-inline] to [flip-block] at (0) should be [flip-inline]
Pass CSS Animations: property <position-try-fallbacks> from [flip-inline] to [flip-block] at (0.3) should be [flip-inline]
Pass CSS Animations: property <position-try-fallbacks> from [flip-inline] to [flip-block] at (0.5) should be [flip-block]
Pass CSS Animations: property <position-try-fallbacks> from [flip-inline] to [flip-block] at (0.6) should be [flip-block]
Pass CSS Animations: property <position-try-fallbacks> from [flip-inline] to [flip-block] at (1) should be [flip-block]
Pass CSS Animations: property <position-try-fallbacks> from [flip-inline] to [flip-block] at (1.5) should be [flip-block]
Pass Web Animations: property <position-try-fallbacks> from [flip-inline] to [flip-block] at (-0.3) should be [flip-inline]
Pass Web Animations: property <position-try-fallbacks> from [flip-inline] to [flip-block] at (0) should be [flip-inline]
Pass Web Animations: property <position-try-fallbacks> from [flip-inline] to [flip-block] at (0.3) should be [flip-inline]
Pass Web Animations: property <position-try-fallbacks> from [flip-inline] to [flip-block] at (0.5) should be [flip-block]
Pass Web Animations: property <position-try-fallbacks> from [flip-inline] to [flip-block] at (0.6) should be [flip-block]
Pass Web Animations: property <position-try-fallbacks> from [flip-inline] to [flip-block] at (1) should be [flip-block]
Pass Web Animations: property <position-try-fallbacks> from [flip-inline] to [flip-block] at (1.5) should be [flip-block]
Pass CSS Transitions with transition-behavior:allow-discrete: property <position-try-fallbacks> from [--foo] to [--bar] at (-0.3) should be [--foo]
Pass CSS Transitions with transition-behavior:allow-discrete: property <position-try-fallbacks> from [--foo] to [--bar] at (0) should be [--foo]
Pass CSS Transitions with transition-behavior:allow-discrete: property <position-try-fallbacks> from [--foo] to [--bar] at (0.3) should be [--foo]
Pass CSS Transitions with transition-behavior:allow-discrete: property <position-try-fallbacks> from [--foo] to [--bar] at (0.5) should be [--bar]
Pass CSS Transitions with transition-behavior:allow-discrete: property <position-try-fallbacks> from [--foo] to [--bar] at (0.6) should be [--bar]
Pass CSS Transitions with transition-behavior:allow-discrete: property <position-try-fallbacks> from [--foo] to [--bar] at (1) should be [--bar]
Pass CSS Transitions with transition-behavior:allow-discrete: property <position-try-fallbacks> from [--foo] to [--bar] at (1.5) should be [--bar]
Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <position-try-fallbacks> from [--foo] to [--bar] at (-0.3) should be [--foo]
Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <position-try-fallbacks> from [--foo] to [--bar] at (0) should be [--foo]
Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <position-try-fallbacks> from [--foo] to [--bar] at (0.3) should be [--foo]
Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <position-try-fallbacks> from [--foo] to [--bar] at (0.5) should be [--bar]
Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <position-try-fallbacks> from [--foo] to [--bar] at (0.6) should be [--bar]
Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <position-try-fallbacks> from [--foo] to [--bar] at (1) should be [--bar]
Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <position-try-fallbacks> from [--foo] to [--bar] at (1.5) should be [--bar]
Pass CSS Transitions: property <position-try-fallbacks> from [--foo] to [--bar] at (-0.3) should be [--bar]
Pass CSS Transitions: property <position-try-fallbacks> from [--foo] to [--bar] at (0) should be [--bar]
Pass CSS Transitions: property <position-try-fallbacks> from [--foo] to [--bar] at (0.3) should be [--bar]
Pass CSS Transitions: property <position-try-fallbacks> from [--foo] to [--bar] at (0.5) should be [--bar]
Pass CSS Transitions: property <position-try-fallbacks> from [--foo] to [--bar] at (0.6) should be [--bar]
Pass CSS Transitions: property <position-try-fallbacks> from [--foo] to [--bar] at (1) should be [--bar]
Pass CSS Transitions: property <position-try-fallbacks> from [--foo] to [--bar] at (1.5) should be [--bar]
Pass CSS Transitions with transition: all: property <position-try-fallbacks> from [--foo] to [--bar] at (-0.3) should be [--bar]
Pass CSS Transitions with transition: all: property <position-try-fallbacks> from [--foo] to [--bar] at (0) should be [--bar]
Pass CSS Transitions with transition: all: property <position-try-fallbacks> from [--foo] to [--bar] at (0.3) should be [--bar]
Pass CSS Transitions with transition: all: property <position-try-fallbacks> from [--foo] to [--bar] at (0.5) should be [--bar]
Pass CSS Transitions with transition: all: property <position-try-fallbacks> from [--foo] to [--bar] at (0.6) should be [--bar]
Pass CSS Transitions with transition: all: property <position-try-fallbacks> from [--foo] to [--bar] at (1) should be [--bar]
Pass CSS Transitions with transition: all: property <position-try-fallbacks> from [--foo] to [--bar] at (1.5) should be [--bar]
Pass CSS Animations: property <position-try-fallbacks> from [--foo] to [--bar] at (-0.3) should be [--foo]
Pass CSS Animations: property <position-try-fallbacks> from [--foo] to [--bar] at (0) should be [--foo]
Pass CSS Animations: property <position-try-fallbacks> from [--foo] to [--bar] at (0.3) should be [--foo]
Pass CSS Animations: property <position-try-fallbacks> from [--foo] to [--bar] at (0.5) should be [--bar]
Pass CSS Animations: property <position-try-fallbacks> from [--foo] to [--bar] at (0.6) should be [--bar]
Pass CSS Animations: property <position-try-fallbacks> from [--foo] to [--bar] at (1) should be [--bar]
Pass CSS Animations: property <position-try-fallbacks> from [--foo] to [--bar] at (1.5) should be [--bar]
Pass Web Animations: property <position-try-fallbacks> from [--foo] to [--bar] at (-0.3) should be [--foo]
Pass Web Animations: property <position-try-fallbacks> from [--foo] to [--bar] at (0) should be [--foo]
Pass Web Animations: property <position-try-fallbacks> from [--foo] to [--bar] at (0.3) should be [--foo]
Pass Web Animations: property <position-try-fallbacks> from [--foo] to [--bar] at (0.5) should be [--bar]
Pass Web Animations: property <position-try-fallbacks> from [--foo] to [--bar] at (0.6) should be [--bar]
Pass Web Animations: property <position-try-fallbacks> from [--foo] to [--bar] at (1) should be [--bar]
Pass Web Animations: property <position-try-fallbacks> from [--foo] to [--bar] at (1.5) should be [--bar]
Pass CSS Transitions with transition-behavior:allow-discrete: property <position-try-fallbacks> from [--foo] to [flip-block] at (-0.3) should be [--foo]
Pass CSS Transitions with transition-behavior:allow-discrete: property <position-try-fallbacks> from [--foo] to [flip-block] at (0) should be [--foo]
Pass CSS Transitions with transition-behavior:allow-discrete: property <position-try-fallbacks> from [--foo] to [flip-block] at (0.3) should be [--foo]
Pass CSS Transitions with transition-behavior:allow-discrete: property <position-try-fallbacks> from [--foo] to [flip-block] at (0.5) should be [flip-block]
Pass CSS Transitions with transition-behavior:allow-discrete: property <position-try-fallbacks> from [--foo] to [flip-block] at (0.6) should be [flip-block]
Pass CSS Transitions with transition-behavior:allow-discrete: property <position-try-fallbacks> from [--foo] to [flip-block] at (1) should be [flip-block]
Pass CSS Transitions with transition-behavior:allow-discrete: property <position-try-fallbacks> from [--foo] to [flip-block] at (1.5) should be [flip-block]
Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <position-try-fallbacks> from [--foo] to [flip-block] at (-0.3) should be [--foo]
Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <position-try-fallbacks> from [--foo] to [flip-block] at (0) should be [--foo]
Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <position-try-fallbacks> from [--foo] to [flip-block] at (0.3) should be [--foo]
Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <position-try-fallbacks> from [--foo] to [flip-block] at (0.5) should be [flip-block]
Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <position-try-fallbacks> from [--foo] to [flip-block] at (0.6) should be [flip-block]
Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <position-try-fallbacks> from [--foo] to [flip-block] at (1) should be [flip-block]
Pass CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <position-try-fallbacks> from [--foo] to [flip-block] at (1.5) should be [flip-block]
Pass CSS Transitions: property <position-try-fallbacks> from [--foo] to [flip-block] at (-0.3) should be [flip-block]
Pass CSS Transitions: property <position-try-fallbacks> from [--foo] to [flip-block] at (0) should be [flip-block]
Pass CSS Transitions: property <position-try-fallbacks> from [--foo] to [flip-block] at (0.3) should be [flip-block]
Pass CSS Transitions: property <position-try-fallbacks> from [--foo] to [flip-block] at (0.5) should be [flip-block]
Pass CSS Transitions: property <position-try-fallbacks> from [--foo] to [flip-block] at (0.6) should be [flip-block]
Pass CSS Transitions: property <position-try-fallbacks> from [--foo] to [flip-block] at (1) should be [flip-block]
Pass CSS Transitions: property <position-try-fallbacks> from [--foo] to [flip-block] at (1.5) should be [flip-block]
Pass CSS Transitions with transition: all: property <position-try-fallbacks> from [--foo] to [flip-block] at (-0.3) should be [flip-block]
Pass CSS Transitions with transition: all: property <position-try-fallbacks> from [--foo] to [flip-block] at (0) should be [flip-block]
Pass CSS Transitions with transition: all: property <position-try-fallbacks> from [--foo] to [flip-block] at (0.3) should be [flip-block]
Pass CSS Transitions with transition: all: property <position-try-fallbacks> from [--foo] to [flip-block] at (0.5) should be [flip-block]
Pass CSS Transitions with transition: all: property <position-try-fallbacks> from [--foo] to [flip-block] at (0.6) should be [flip-block]
Pass CSS Transitions with transition: all: property <position-try-fallbacks> from [--foo] to [flip-block] at (1) should be [flip-block]
Pass CSS Transitions with transition: all: property <position-try-fallbacks> from [--foo] to [flip-block] at (1.5) should be [flip-block]
Pass CSS Animations: property <position-try-fallbacks> from [--foo] to [flip-block] at (-0.3) should be [--foo]
Pass CSS Animations: property <position-try-fallbacks> from [--foo] to [flip-block] at (0) should be [--foo]
Pass CSS Animations: property <position-try-fallbacks> from [--foo] to [flip-block] at (0.3) should be [--foo]
Pass CSS Animations: property <position-try-fallbacks> from [--foo] to [flip-block] at (0.5) should be [flip-block]
Pass CSS Animations: property <position-try-fallbacks> from [--foo] to [flip-block] at (0.6) should be [flip-block]
Pass CSS Animations: property <position-try-fallbacks> from [--foo] to [flip-block] at (1) should be [flip-block]
Pass CSS Animations: property <position-try-fallbacks> from [--foo] to [flip-block] at (1.5) should be [flip-block]
Pass Web Animations: property <position-try-fallbacks> from [--foo] to [flip-block] at (-0.3) should be [--foo]
Pass Web Animations: property <position-try-fallbacks> from [--foo] to [flip-block] at (0) should be [--foo]
Pass Web Animations: property <position-try-fallbacks> from [--foo] to [flip-block] at (0.3) should be [--foo]
Pass Web Animations: property <position-try-fallbacks> from [--foo] to [flip-block] at (0.5) should be [flip-block]
Pass Web Animations: property <position-try-fallbacks> from [--foo] to [flip-block] at (0.6) should be [flip-block]
Pass Web Animations: property <position-try-fallbacks> from [--foo] to [flip-block] at (1) should be [flip-block]
Pass Web Animations: property <position-try-fallbacks> from [--foo] to [flip-block] at (1.5) should be [flip-block]
Fail CSS Transitions with transition-behavior:allow-discrete: property <position-try-order> from [normal] to [most-width] at (-0.3) should be [normal]
Fail CSS Transitions with transition-behavior:allow-discrete: property <position-try-order> from [normal] to [most-width] at (0) should be [normal]
Fail CSS Transitions with transition-behavior:allow-discrete: property <position-try-order> from [normal] to [most-width] at (0.3) should be [normal]

View File

@ -0,0 +1,33 @@
<!DOCTYPE html>
<meta charset="utf-8">
<title>CSS Anchor Positioning Test: Computed position-try-fallbacks</title>
<link rel="help" href="https://drafts.csswg.org/css-anchor-position-1/#position-try-fallbacks">
<script src="../../../resources/testharness.js"></script>
<script src="../../../resources/testharnessreport.js"></script>
<script src="../../../css/support/computed-testcommon.js"></script>
<script src="../../../css/support/inheritance-testcommon.js"></script>
<div id="container">
<div id="target"></div>
</div>
<script>
test_computed_value("position-try-fallbacks", "none");
test_computed_value("position-try-fallbacks", "flip-block");
test_computed_value("position-try-fallbacks", "flip-inline");
test_computed_value("position-try-fallbacks", "flip-start");
test_computed_value("position-try-fallbacks", "flip-block, flip-inline");
test_computed_value("position-try-fallbacks", "--foo, --bar");
test_computed_value("position-try-fallbacks", "flip-start flip-inline flip-block");
test_computed_value("position-try-fallbacks", "flip-start --flop", "--flop flip-start");
test_computed_value("position-try-fallbacks", "--flop flip-start");
test_computed_value("position-try-fallbacks", "left top");
test_computed_value("position-try-fallbacks", "top left", "left top");
test_computed_value("position-try-fallbacks", "start start", "start");
test_computed_value("position-try-fallbacks", "left, right");
test_computed_value("position-try-fallbacks", "--foo, left");
test_computed_value("position-try-fallbacks", "--foo, left, --bar");
test_computed_value("position-try-fallbacks", "--foo, flip-start, left");
test_computed_value("position-try-fallbacks", "--foo flip-start, left");
test_computed_value("position-try-fallbacks", "left, --bar flip-start");
assert_not_inherited("position-try-fallbacks", "none", "flip-inline");
</script>

View File

@ -0,0 +1,54 @@
<!DOCTYPE html>
<meta charset="utf-8">
<title>CSS Anchor Positioning Test: Parsing of position-try-fallbacks</title>
<link rel="help" href="https://drafts.csswg.org/css-anchor-position-1/#position-try-fallbacks">
<script src="../../../resources/testharness.js"></script>
<script src="../../../resources/testharnessreport.js"></script>
<script src="../../../css/support/parsing-testcommon.js"></script>
<div id="target"></div>
<script>
test_valid_value("position-try-fallbacks", "initial");
test_valid_value("position-try-fallbacks", "inherit");
test_valid_value("position-try-fallbacks", "unset");
test_valid_value("position-try-fallbacks", "revert");
test_valid_value("position-try-fallbacks", "none");
test_valid_value("position-try-fallbacks", "flip-block");
test_valid_value("position-try-fallbacks", "flip-block ", 'flip-block');
test_valid_value("position-try-fallbacks", "flip-start, flip-block");
test_valid_value("position-try-fallbacks", "flip-start flip-inline, flip-block");
test_valid_value("position-try-fallbacks", "flip-start, flip-start");
test_valid_value("position-try-fallbacks", "flip-start flip-inline flip-block");
test_valid_value("position-try-fallbacks", "flip-block, --foo");
test_valid_value("position-try-fallbacks", "--bar, flip-block flip-start");
test_valid_value("position-try-fallbacks", "--foo, --bar, --baz");
test_valid_value("position-try-fallbacks", "--bar flip-block");
test_valid_value("position-try-fallbacks", "--bar flip-inline flip-block");
test_valid_value("position-try-fallbacks", "flip-inline --foo", "--foo flip-inline");
test_valid_value("position-try-fallbacks", "flip-inline flip-start --foo", "--foo flip-inline flip-start");
test_valid_value("position-try-fallbacks", "left top");
test_valid_value("position-try-fallbacks", "top left", "left top");
test_valid_value("position-try-fallbacks", "start start", "start");
test_valid_value("position-try-fallbacks", "left, right");
test_valid_value("position-try-fallbacks", "--foo, left");
test_valid_value("position-try-fallbacks", "--foo, left, --bar");
test_valid_value("position-try-fallbacks", "--foo, flip-start, left");
test_valid_value("position-try-fallbacks", "--foo flip-start, left");
test_valid_value("position-try-fallbacks", "left, --bar flip-start");
test_invalid_value("position-try-fallbacks", "none, flip-start");
test_invalid_value("position-try-fallbacks", "flip-block flip-block");
test_invalid_value("position-try-fallbacks", "flip-block flip-inline flip-inline");
test_invalid_value("position-try-fallbacks", "flip-block, flip-inline flip-inline");
test_invalid_value("position-try-fallbacks", "--bar flip-block --foo");
test_invalid_value("position-try-fallbacks", "--foo --bar");
test_invalid_value("position-try-fallbacks", "flip-inline --bar flip-block");
test_invalid_value("position-try-fallbacks", "-foo");
test_invalid_value("position-try-fallbacks", "foo");
test_invalid_value("position-try-fallbacks", "flip-start 123");
test_invalid_value("position-try-fallbacks", "--foo 123");
test_invalid_value("position-try-fallbacks", "--foo left");
test_invalid_value("position-try-fallbacks", "flip-start left");
test_invalid_value("position-try-fallbacks", "left --foo ");
test_invalid_value("position-try-fallbacks", "left flip-start");
test_invalid_value("position-try-fallbacks", "--foo, none");
</script>