Files
ladybird/Tests/LibWeb/Text/expected/wpt-import/css/css-properties-values-api/at-property.txt
Callum Law 6afe2ff27b LibWeb: Limit <ident> to <custom-ident> in @property/syntax
The definition of syntax in the "css-properties-values-api" spec (which
is used for the `@property/syntax` descriptor) is slightly different
from the definition of `<syntax>` in the "css-values" spec (which we
implement) in that it limits literal idents to exclusively
`<custom-ident>`s (i.e. not CSS-wide keywords or "default").

`<custom-ident>`s are also case-sensitive so that behavior is
implemented for syntax matching here as well
2026-03-26 01:11:39 +00:00

112 lines
6.3 KiB
Plaintext

Harness status: OK
Found 106 tests
102 Pass
4 Fail
Pass Attribute 'syntax' returns expected value for ["<color>"]
Pass Attribute 'syntax' returns expected value for ["<color> | none"]
Pass Attribute 'syntax' returns expected value for ["<color># | <image> | none"]
Pass Attribute 'syntax' returns expected value for ["foo | <length>#"]
Pass Attribute 'syntax' returns expected value for ["foo | bar | baz"]
Pass Attribute 'syntax' returns expected value for ["notasyntax"]
Pass Attribute 'syntax' returns expected value for ["*"]
Pass Attribute 'syntax' returns expected value for [" * "]
Pass Attribute 'syntax' returns expected value for ["* "]
Pass Attribute 'syntax' returns expected value for [" * "]
Pass Attribute 'syntax' returns expected value for ["red"]
Pass Attribute 'syntax' makes the @property rule invalid for ["rgb(255, 0, 0)"]
Pass Attribute 'syntax' makes the @property rule invalid for [<color>]
Pass Attribute 'syntax' makes the @property rule invalid for [foo | bar]
Pass Attribute 'syntax' makes the @property rule invalid for ["default"]
Pass Attribute 'syntax' makes the @property rule invalid for ["Default"]
Pass Attribute 'syntax' makes the @property rule invalid for ["initial"]
Pass Attribute 'syntax' makes the @property rule invalid for ["Initial"]
Pass Attribute 'syntax' makes the @property rule invalid for ["inherit"]
Pass Attribute 'syntax' makes the @property rule invalid for ["Inherit"]
Pass Attribute 'syntax' makes the @property rule invalid for ["unset"]
Pass Attribute 'syntax' makes the @property rule invalid for ["Unset"]
Pass Attribute 'syntax' makes the @property rule invalid for ["revert"]
Pass Attribute 'syntax' makes the @property rule invalid for ["Revert"]
Pass Attribute 'syntax' makes the @property rule invalid for ["revert-layer"]
Pass Attribute 'syntax' makes the @property rule invalid for ["Revert-layer"]
Pass Attribute 'syntax' makes the @property rule invalid for ["foo bar"]
Pass Attribute 'syntax' makes the @property rule invalid for ["Foo <length>"]
Pass Attribute 'syntax' makes the @property rule invalid for ["foo, bar"]
Pass Attribute 'syntax' makes the @property rule invalid for ["<length> <percentage>"]
Pass Attribute 'syntax' makes the @property rule invalid for ["|<length>"]
Pass Attribute 'initial-value' returns expected value for [10px]
Pass Attribute 'initial-value' returns expected value for [rgb(1, 2, 3)]
Pass Attribute 'initial-value' returns expected value for [red]
Pass Attribute 'initial-value' returns expected value for [foo]
Fail Attribute 'initial-value' returns expected value for [foo(){}]
Pass Attribute 'initial-value' makes the @property rule invalid for [3em]
Fail Attribute 'initial-value' makes the @property rule invalid for [var(--x)]
Pass Attribute 'inherits' returns expected value for [true]
Pass Attribute 'inherits' returns expected value for [false]
Pass Attribute 'inherits' makes the @property rule invalid for [none]
Pass Attribute 'inherits' makes the @property rule invalid for [0]
Pass Attribute 'inherits' makes the @property rule invalid for [1]
Pass Attribute 'inherits' makes the @property rule invalid for ["true"]
Pass Attribute 'inherits' makes the @property rule invalid for ["false"]
Pass Attribute 'inherits' makes the @property rule invalid for [calc(0)]
Pass Invalid property name does not parse [foo]
Pass Invalid property name does not parse [-foo]
Fail Rule applied [*, foo(){}, false]
Pass Rule applied [<angle>, 42deg, false]
Pass Rule applied [<angle>, 1turn, false]
Pass Rule applied [<color>, green, false]
Pass Rule applied [<color>, rgb(1, 2, 3), false]
Pass Rule applied [<image>, url("http://a/"), false]
Pass Rule applied [<integer>, 5, false]
Pass Rule applied [<length-percentage>, 10px, false]
Pass Rule applied [<length-percentage>, 10%, false]
Pass Rule applied [<length-percentage>, calc(10% + 10px), false]
Pass Rule applied [<length>, 10px, false]
Pass Rule applied [<number>, 2.5, false]
Pass Rule applied [<percentage>, 10%, false]
Pass Rule applied [<resolution>, 50dppx, false]
Pass Rule applied [<resolution>, 96dpi, false]
Pass Rule applied [<time>, 10s, false]
Pass Rule applied [<time>, 1000ms, false]
Pass Rule applied [<transform-function>, rotateX(0deg), false]
Pass Rule applied [<transform-list>, rotateX(0deg), false]
Pass Rule applied [<transform-list>, rotateX(0deg) translateX(10px), false]
Pass Rule applied [<url>, url("http://a/"), false]
Pass Rule applied [<string>, 'foo bar', false]
Pass Rule applied [<string>, 'foo bar' , false]
Pass Rule applied [<string>, '"foo" bar', false]
Pass Rule applied [<string>, "bar baz", false]
Pass Rule applied [<string>, "bar 'baz'", false]
Pass Rule applied [<string>+, 'foo' 'bar', false]
Pass Rule applied [<string>#, 'foo', 'bar', false]
Pass Rule applied [<string>+ | <string>#, 'foo' 'bar', false]
Pass Rule applied [<string>+ | <string>#, 'foo' 'bar', false]
Pass Rule applied [<string>+ | <string>#, 'foo' "bar", false]
Pass Rule applied [<string># | <string>+, 'foo', 'bar', false]
Pass Rule applied [<string># | <string>+, 'foo', 'bar' , false]
Pass Rule applied [<string># | <string>+, "foo", 'bar', false]
Pass Rule not applied [<string>, 1px, false]
Pass Rule not applied [<string>, foo, false]
Pass Rule not applied [<string>, calc(1 + 2), false]
Pass Rule not applied [<string>, rgb(255, 99, 71), false]
Pass Rule not applied [<string>, 'foo' 2px, false]
Pass Rule applied [<color>, tomato, false]
Pass Rule applied [<color>, tomato, true]
Pass Rule applied for "*", even with no initial value
Pass Rule not applied [undefined, green, false]
Pass Rule not applied [<color>, undefined, false]
Pass Rule not applied [<color>, green, undefined]
Pass Rule not applied [<gandalf>, grey, false]
Pass Rule not applied [gandalf, grey, false]
Pass Rule not applied [<color>, notacolor, false]
Pass Rule not applied [<length>, 10em, false]
Pass Rule not applied [<transform-function>, translateX(1em), false]
Pass Rule not applied [<transform-function>, translateY(1lh), false]
Pass Rule not applied [<transform-list>, rotate(10deg) translateX(1em), false]
Pass Rule not applied [<transform-list>, rotate(10deg) translateY(1lh), false]
Pass Non-inherited properties do not inherit
Pass Inherited properties inherit
Pass Initial values substituted as computed value
Pass Non-universal registration are invalid without an initial value
Fail Initial value may be omitted for universal registration