diff --git a/Libraries/LibWeb/CSS/StyleValues/CalculatedStyleValue.cpp b/Libraries/LibWeb/CSS/StyleValues/CalculatedStyleValue.cpp index 6157144faec..520ce650e47 100644 --- a/Libraries/LibWeb/CSS/StyleValues/CalculatedStyleValue.cpp +++ b/Libraries/LibWeb/CSS/StyleValues/CalculatedStyleValue.cpp @@ -1400,7 +1400,7 @@ Optional SignCalculationNode::run_opera sign = 1; } else { FloatExtractor const extractor { .d = child_value->value() }; - sign = extractor.sign ? -0 : 0; + sign = extractor.sign ? -0.0 : 0.0; } return CalculatedStyleValue::CalculationResult { sign, CSSNumericType {}.made_consistent_with(child_value->type().value()) }; diff --git a/Tests/LibWeb/Text/expected/wpt-import/css/css-values/signs-abs-computed.txt b/Tests/LibWeb/Text/expected/wpt-import/css/css-values/signs-abs-computed.txt index f85e97f026b..6327d242d9b 100644 --- a/Tests/LibWeb/Text/expected/wpt-import/css/css-values/signs-abs-computed.txt +++ b/Tests/LibWeb/Text/expected/wpt-import/css/css-values/signs-abs-computed.txt @@ -2,8 +2,8 @@ Harness status: OK Found 233 tests -174 Pass -59 Fail +181 Pass +52 Fail Pass abs(1) should be used-value-equivalent to 1 Pass sign(1) should be used-value-equivalent to 1 Pass abs(-1) should be used-value-equivalent to 1 @@ -26,7 +26,7 @@ Pass abs(-10px) should be used-value-equivalent to 10px Pass abs(-10%) should be used-value-equivalent to 10px Pass calc((1em + 1px) * (sign(1em - 10px - 10%) + 1)) should be used-value-equivalent to 21px Pass calc(calc(sign(-0))) should be used-value-equivalent to 0 -Fail clamp(-1, calc( 1 / sign(calc(sign(-0)))), 1) should be used-value-equivalent to -1 +Pass clamp(-1, calc( 1 / sign(calc(sign(-0)))), 1) should be used-value-equivalent to -1 Pass calc(calc(sign(0))) should be used-value-equivalent to 0 Pass clamp(-1, calc( 1 / sign(calc(sign(0)))), 1) should be used-value-equivalent to 1 Pass abs(infinity) should be used-value-equivalent to calc(infinity) @@ -146,9 +146,9 @@ Pass clamp(-1, calc( 1 / sign(sign(0s))), 1) should be used-value-equivalent to Pass calc(sign(0ms)) should be used-value-equivalent to 0 Pass clamp(-1, calc( 1 / sign(sign(0ms))), 1) should be used-value-equivalent to 1 Pass calc(sign(-0s)) should be used-value-equivalent to 0 -Fail clamp(-1, calc( 1 / sign(sign(-0s))), 1) should be used-value-equivalent to -1 +Pass clamp(-1, calc( 1 / sign(sign(-0s))), 1) should be used-value-equivalent to -1 Pass calc(sign(-0ms)) should be used-value-equivalent to 0 -Fail clamp(-1, calc( 1 / sign(sign(-0ms))), 1) should be used-value-equivalent to -1 +Pass clamp(-1, calc( 1 / sign(sign(-0ms))), 1) should be used-value-equivalent to -1 Pass calc(sign(0deg)) should be used-value-equivalent to 0 Pass clamp(-1, calc( 1 / sign(sign(0deg))), 1) should be used-value-equivalent to 1 Pass calc(sign(0grad)) should be used-value-equivalent to 0 @@ -158,13 +158,13 @@ Pass clamp(-1, calc( 1 / sign(sign(0rad))), 1) should be used-value-equivalent t Pass calc(sign(0turn)) should be used-value-equivalent to 0 Pass clamp(-1, calc( 1 / sign(sign(0turn))), 1) should be used-value-equivalent to 1 Pass calc(sign(-0deg)) should be used-value-equivalent to 0 -Fail clamp(-1, calc( 1 / sign(sign(-0deg))), 1) should be used-value-equivalent to -1 +Pass clamp(-1, calc( 1 / sign(sign(-0deg))), 1) should be used-value-equivalent to -1 Pass calc(sign(-0grad)) should be used-value-equivalent to 0 -Fail clamp(-1, calc( 1 / sign(sign(-0grad))), 1) should be used-value-equivalent to -1 +Pass clamp(-1, calc( 1 / sign(sign(-0grad))), 1) should be used-value-equivalent to -1 Pass calc(sign(-0rad)) should be used-value-equivalent to 0 -Fail clamp(-1, calc( 1 / sign(sign(-0rad))), 1) should be used-value-equivalent to -1 +Pass clamp(-1, calc( 1 / sign(sign(-0rad))), 1) should be used-value-equivalent to -1 Pass calc(sign(-0turn)) should be used-value-equivalent to 0 -Fail clamp(-1, calc( 1 / sign(sign(-0turn))), 1) should be used-value-equivalent to -1 +Pass clamp(-1, calc( 1 / sign(sign(-0turn))), 1) should be used-value-equivalent to -1 Pass abs(1px) should be used-value-equivalent to 1px Pass abs(1cm) should be used-value-equivalent to 1cm Pass abs(1mm) should be used-value-equivalent to 1mm