Tests: Add a test for @supports

This is derived from our old demo page.

Notably, we currently do claim to support `::-webkit-foo` selectors,
which is a bug. According to the spec [1], we have to parse those as
valid, but `@supports` should still fail for them [2], which is a bit
confusing.

[1] https://www.w3.org/TR/selectors-4/#compat
[2] https://drafts.csswg.org/css-conditional-4/#support-definition-ext
This commit is contained in:
Sam Atkins 2024-11-04 16:13:35 +00:00 committed by Andreas Kling
commit a9a25d4eca
Notes: github-actions[bot] 2024-11-07 14:13:15 +00:00
2 changed files with 64 additions and 0 deletions

View file

@ -0,0 +1,17 @@
These should all pass:
@supports (color: green): PASS
@supports (color: green) and (width: 50px): PASS
@supports (color: green) or (flogwizzle: purple): PASS
@supports (not (flogwizzle: purple)): PASS
@supports selector(.simple): PASS
@supports selector(a#more > .complicated.case:nth-child(42)): PASS
@supports selector(.easy) or selector(.....nope): PASS
These should all fail:
@supports (not (color: green)): FAIL
@supports (color: green) and (width: 50px) or (color: green): FAIL
@supports (width: yellow) or (height: green): FAIL
@supports (flogwizzle: purple): FAIL
@supports selector(.....nope): FAIL
@supports selector(::-webkit-input-placeholder): PASS
@supports selector(32) or selector(thing[foo??????bar]): FAIL