mirror of
https://github.com/LadybirdBrowser/ladybird
synced 2026-05-02 04:27:12 +02:00
LibWeb: Propagate NaN in CSS clamp function
Gains us 10 WPT tests.
This commit is contained in:
Notes:
github-actions[bot]
2025-08-08 10:45:00 +00:00
Author: https://github.com/Calme1709 Commit: https://github.com/LadybirdBrowser/ladybird/commit/e260ba54e0a Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/5719 Reviewed-by: https://github.com/AtkinsSJ ✅ Reviewed-by: https://github.com/gmta
@@ -2,8 +2,7 @@ Harness status: OK
|
||||
|
||||
Found 21 tests
|
||||
|
||||
19 Pass
|
||||
2 Fail
|
||||
21 Pass
|
||||
Pass 'calc(100px * 0 / 0)' as a specified value should serialize as 'calc(NaN * 1px)'.
|
||||
Pass 'calc(100px / 0)' as a specified value should serialize as 'calc(infinity * 1px)'.
|
||||
Pass 'calc(100px / (0))' as a specified value should serialize as 'calc(infinity * 1px)'.
|
||||
@@ -20,8 +19,8 @@ Pass 'calc(1px * min(0/0, 0))' as a specified value should serialize as 'calc(Na
|
||||
Pass 'calc(1px * max(0/0, min(0,10)))' as a specified value should serialize as 'calc(NaN * 1px)'.
|
||||
Pass 'calc(1px * clamp(0/0, 0, 10))' as a specified value should serialize as 'calc(NaN * 1px)'.
|
||||
Pass 'calc(1px * max(0, min(10, 0/0)))' as a specified value should serialize as 'calc(NaN * 1px)'.
|
||||
Fail 'calc(1px * clamp(0, 10, 0/0))' as a specified value should serialize as 'calc(NaN * 1px)'.
|
||||
Pass 'calc(1px * clamp(0, 10, 0/0))' as a specified value should serialize as 'calc(NaN * 1px)'.
|
||||
Pass 'calc(1px * max(0, min(0/0, 10)))' as a specified value should serialize as 'calc(NaN * 1px)'.
|
||||
Fail 'calc(1px * clamp(0, 0/0, 10))' as a specified value should serialize as 'calc(NaN * 1px)'.
|
||||
Pass 'calc(1px * clamp(0, 0/0, 10))' as a specified value should serialize as 'calc(NaN * 1px)'.
|
||||
Pass 'calc(1px * clamp(-1/0, 0, 1/0))' as a specified value should serialize as 'calc(0px)'.
|
||||
Pass 'calc(1px * clamp(-1/0, 1/0, 10))' as a specified value should serialize as 'calc(10px)'.
|
||||
@@ -2,8 +2,7 @@ Harness status: OK
|
||||
|
||||
Found 30 tests
|
||||
|
||||
28 Pass
|
||||
2 Fail
|
||||
30 Pass
|
||||
Pass 'rotate(calc(1deg * NaN))' as a specified value should serialize as 'rotate(calc(NaN * 1deg))'.
|
||||
Pass 'rotate(calc(1rad * NaN))' as a specified value should serialize as 'rotate(calc(NaN * 1deg))'.
|
||||
Pass 'rotate(calc(1turn * NaN))' as a specified value should serialize as 'rotate(calc(NaN * 1deg))'.
|
||||
@@ -29,8 +28,8 @@ Pass 'rotate(calc(1 * clamp(-INFINITY*20deg, 0deg, infiniTY*10deg)))' as a speci
|
||||
Pass 'rotate(calc(1deg * max(NaN, min(0,10))))' as a specified value should serialize as 'rotate(calc(NaN * 1deg))'.
|
||||
Pass 'rotate(calc(1deg * clamp(NaN, 0, 10)))' as a specified value should serialize as 'rotate(calc(NaN * 1deg))'.
|
||||
Pass 'rotate(calc(1deg * max(0, min(10, NaN))))' as a specified value should serialize as 'rotate(calc(NaN * 1deg))'.
|
||||
Fail 'rotate(calc(1deg * clamp(0, 10, NaN)))' as a specified value should serialize as 'rotate(calc(NaN * 1deg))'.
|
||||
Pass 'rotate(calc(1deg * clamp(0, 10, NaN)))' as a specified value should serialize as 'rotate(calc(NaN * 1deg))'.
|
||||
Pass 'rotate(calc(1deg * max(0, min(NaN, 10))))' as a specified value should serialize as 'rotate(calc(NaN * 1deg))'.
|
||||
Fail 'rotate(calc(1deg * clamp(0, NaN, 10)))' as a specified value should serialize as 'rotate(calc(NaN * 1deg))'.
|
||||
Pass 'rotate(calc(1deg * clamp(0, NaN, 10)))' as a specified value should serialize as 'rotate(calc(NaN * 1deg))'.
|
||||
Pass 'rotate(calc(1deg * clamp(-Infinity, 0, infinity)))' as a specified value should serialize as 'rotate(calc(0deg))'.
|
||||
Pass 'rotate(calc(1deg * clamp(-inFinity, infinity, 10)))' as a specified value should serialize as 'rotate(calc(10deg))'.
|
||||
@@ -2,8 +2,8 @@ Harness status: OK
|
||||
|
||||
Found 41 tests
|
||||
|
||||
37 Pass
|
||||
4 Fail
|
||||
39 Pass
|
||||
2 Fail
|
||||
Pass 'calc(1px * NaN)' as a specified value should serialize as 'calc(NaN * 1px)'.
|
||||
Pass 'calc(1% * NaN)' as a specified value should serialize as 'calc(NaN * 1%)'.
|
||||
Pass 'calc(1in * NaN)' as a specified value should serialize as 'calc(NaN * 1px)'.
|
||||
@@ -36,9 +36,9 @@ Pass 'calc(1 * clamp(-INFINITY*20px, 0px, infiniTY*10px))' as a specified value
|
||||
Pass 'calc(1px * max(NaN, min(0,10)))' as a specified value should serialize as 'calc(NaN * 1px)'.
|
||||
Pass 'calc(1px * clamp(NaN, 0, 10))' as a specified value should serialize as 'calc(NaN * 1px)'.
|
||||
Pass 'calc(1px * max(0, min(10, NaN)))' as a specified value should serialize as 'calc(NaN * 1px)'.
|
||||
Fail 'calc(1px * clamp(0, 10, NaN))' as a specified value should serialize as 'calc(NaN * 1px)'.
|
||||
Pass 'calc(1px * clamp(0, 10, NaN))' as a specified value should serialize as 'calc(NaN * 1px)'.
|
||||
Pass 'calc(1px * max(0, min(NaN, 10)))' as a specified value should serialize as 'calc(NaN * 1px)'.
|
||||
Fail 'calc(1px * clamp(0, NaN, 10))' as a specified value should serialize as 'calc(NaN * 1px)'.
|
||||
Pass 'calc(1px * clamp(0, NaN, 10))' as a specified value should serialize as 'calc(NaN * 1px)'.
|
||||
Pass 'calc(1px * clamp(-Infinity, 0, infinity))' as a specified value should serialize as 'calc(0px)'.
|
||||
Pass 'calc(1px * clamp(-inFinity, infinity, 10))' as a specified value should serialize as 'calc(10px)'.
|
||||
Pass 'calc(1 * min(NaN * 1pt, NaN * 1cm))' as a specified value should serialize as 'calc(NaN * 1px)'.
|
||||
|
||||
@@ -2,8 +2,7 @@ Harness status: OK
|
||||
|
||||
Found 31 tests
|
||||
|
||||
29 Pass
|
||||
2 Fail
|
||||
31 Pass
|
||||
Pass 'calc(NaN)' as a specified value should serialize as 'calc(NaN)'.
|
||||
Pass 'calc(infinity)' as a specified value should serialize as 'calc(infinity)'.
|
||||
Pass 'calc(-infinity)' as a specified value should serialize as 'calc(-infinity)'.
|
||||
@@ -30,8 +29,8 @@ Pass 'calc(1 * clamp(-INFINITY*20, 0, infiniTY*10))' as a specified value should
|
||||
Pass 'calc(1 * max(NaN, min(0,10)))' as a specified value should serialize as 'calc(NaN)'.
|
||||
Pass 'calc(1 * clamp(NaN, 0, 10))' as a specified value should serialize as 'calc(NaN)'.
|
||||
Pass 'calc(1 * max(0, min(10, NaN)))' as a specified value should serialize as 'calc(NaN)'.
|
||||
Fail 'calc(1 * clamp(0, 10, NaN))' as a specified value should serialize as 'calc(NaN)'.
|
||||
Pass 'calc(1 * clamp(0, 10, NaN))' as a specified value should serialize as 'calc(NaN)'.
|
||||
Pass 'calc(1 * max(0, min(NaN, 10)))' as a specified value should serialize as 'calc(NaN)'.
|
||||
Fail 'calc(1 * clamp(0, NaN, 10))' as a specified value should serialize as 'calc(NaN)'.
|
||||
Pass 'calc(1 * clamp(0, NaN, 10))' as a specified value should serialize as 'calc(NaN)'.
|
||||
Pass 'calc(1 * clamp(-Infinity, 0, infinity))' as a specified value should serialize as 'calc(0)'.
|
||||
Pass 'calc(1 * clamp(-inFinity, infinity, 10))' as a specified value should serialize as 'calc(10)'.
|
||||
@@ -2,8 +2,7 @@ Harness status: OK
|
||||
|
||||
Found 29 tests
|
||||
|
||||
27 Pass
|
||||
2 Fail
|
||||
29 Pass
|
||||
Pass 'calc(1s * NaN)' as a specified value should serialize as 'calc(NaN * 1s)'.
|
||||
Pass 'calc(1s * nan)' as a specified value should serialize as 'calc(NaN * 1s)'.
|
||||
Pass 'calc(1ms * NaN)' as a specified value should serialize as 'calc(NaN * 1s)'.
|
||||
@@ -28,8 +27,8 @@ Pass 'calc(1 * clamp(-INFINITY*20s, 0s, infiniTY*10s))' as a specified value sho
|
||||
Pass 'calc(1s * max(NaN, min(0,10)))' as a specified value should serialize as 'calc(NaN * 1s)'.
|
||||
Pass 'calc(1s * clamp(NaN, 0, 10))' as a specified value should serialize as 'calc(NaN * 1s)'.
|
||||
Pass 'calc(1s * max(0, min(10, NaN)))' as a specified value should serialize as 'calc(NaN * 1s)'.
|
||||
Fail 'calc(1s * clamp(0, 10, NaN))' as a specified value should serialize as 'calc(NaN * 1s)'.
|
||||
Pass 'calc(1s * clamp(0, 10, NaN))' as a specified value should serialize as 'calc(NaN * 1s)'.
|
||||
Pass 'calc(1s * max(0, min(NaN, 10)))' as a specified value should serialize as 'calc(NaN * 1s)'.
|
||||
Fail 'calc(1s * clamp(0, NaN, 10))' as a specified value should serialize as 'calc(NaN * 1s)'.
|
||||
Pass 'calc(1s * clamp(0, NaN, 10))' as a specified value should serialize as 'calc(NaN * 1s)'.
|
||||
Pass 'calc(1s * clamp(-Infinity, 0, infinity))' as a specified value should serialize as 'calc(0s)'.
|
||||
Pass 'calc(1s * clamp(-inFinity, infinity, 10))' as a specified value should serialize as 'calc(10s)'.
|
||||
Reference in New Issue
Block a user