Skip to content
Permalink
Browse files
StylePropertyMap.set() should wrap value in a calc() if outside the a…
…llowed range

https://bugs.webkit.org/show_bug.cgi?id=248547

Reviewed by Antti Koivisto.

StylePropertyMap.set() should wrap value in a calc() if outside the allowed
range for the given property, instead of throwing.

This is the behavior expected by WPT tests and it matches what Blink is doing,
though I cannot find a reference to this in the specification:
- w3c/css-houdini-drafts#1081

This is covered by a lot of WPT tests. Sadly, those WPT tests still don't pass
because we fail a following subtest (which I'll investigate next).

For clarity, I extracted this separate check into its own test:
- fast/css/css-typed-om/style-property-map-set-negative-value.html

* LayoutTests/fast/css/css-typed-om/style-property-map-set-negative-value-expected.txt: Added.
* LayoutTests/fast/css/css-typed-om/style-property-map-set-negative-value.html: Added.
* LayoutTests/imported/w3c/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/block-size-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/column-count-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/column-rule-width-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/flex-grow-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/flex-shrink-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/font-size-adjust-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/font-size-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/font-stretch-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/height-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/inline-size-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/logical-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/orphans-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/padding-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/radius-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/shape-margin-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/tab-size-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/widows-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/css/css-typed-om/the-stylepropertymap/properties/width-expected.txt:
* Source/WebCore/css/calc/CSSCalcExpressionNode.h:
(WebCore::CSSCalcExpressionNode::shouldForceEnclosingCalcInCSSText const):
(WebCore::CSSCalcExpressionNode::setShouldForceEnclosingCalcInCSSText):
* Source/WebCore/css/calc/CSSCalcOperationNode.cpp:
(WebCore::CSSCalcOperationNode::buildCSSText):
* Source/WebCore/css/parser/CSSParserFastPaths.cpp:
(WebCore::CSSParserFastPaths::isSimpleLengthPropertyID):
(WebCore::parseSimpleLengthValue):
(WebCore::isSimpleLengthPropertyID): Deleted.
* Source/WebCore/css/parser/CSSParserFastPaths.h:
* Source/WebCore/css/typedom/CSSStyleValue.h:
(WebCore::CSSStyleValue::toCSSValueWithProperty const):
* Source/WebCore/css/typedom/CSSUnitValue.cpp:
(WebCore::isValueOutOfRangeForProperty):
(WebCore::CSSUnitValue::toCSSValueWithProperty const):
* Source/WebCore/css/typedom/CSSUnitValue.h:
* Source/WebCore/css/typedom/StylePropertyMap.cpp:
(WebCore::cssValueFromStyleValues):

Canonical link: https://commits.webkit.org/257485@main
  • Loading branch information
cdumez committed Dec 7, 2022
1 parent 2e92a10 commit 2a77eefbdefdfe3b450259a8b108f6a79f457d7a
Show file tree
Hide file tree
Showing 29 changed files with 163 additions and 61 deletions.
@@ -0,0 +1,13 @@
Checks that calling StylePropertyMap.set() with a negative value wraps it into a calc.

On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".


PASS target.attributeStyleMap.set('width', new CSSUnitValue(-3.14, 'percent')) did not throw exception.
PASS target.style.width is "calc(-3.14%)"
PASS target.attributeStyleMap.set('perspective', new CSSUnitValue(-32, 'px')) did not throw exception.
PASS target.style.perspective is "calc(-32px)"
PASS successfullyParsed is true

TEST COMPLETE

@@ -0,0 +1,17 @@
<!DOCTYPE html>
<html>
<body>
<script src="../../../resources/js-test.js"></script>
<div id="target"></div>
<script>
description("Checks that calling StylePropertyMap.set() with a negative value wraps it into a calc.");

target = document.getElementById("target");
shouldNotThrow("target.attributeStyleMap.set('width', new CSSUnitValue(-3.14, 'percent'))");
shouldBeEqualToString("target.style.width", "calc(-3.14%)");

shouldNotThrow("target.attributeStyleMap.set('perspective', new CSSUnitValue(-32, 'px'))");
shouldBeEqualToString("target.style.perspective", "calc(-32px)");
</script>
</body>
</html>
@@ -2,8 +2,8 @@
PASS Can set 'block-size' to CSS-wide keywords
FAIL Can set 'block-size' to var() references assert_equals: expected 2 but got 1
PASS Can set 'block-size' to the 'auto' keyword
FAIL Can set 'block-size' to a percent Invalid values
FAIL Can set 'block-size' to a length Invalid values
FAIL Can set 'block-size' to a percent assert_approx_equals: expected -3.14 +/- 0.000001 but got 0
FAIL Can set 'block-size' to a length assert_equals: expected "px" but got "em"
PASS Setting 'block-size' to a time throws TypeError
PASS Setting 'block-size' to an angle throws TypeError
PASS Setting 'block-size' to a flexible length throws TypeError
@@ -12,8 +12,8 @@ PASS Setting 'block-size' to a URL throws TypeError
PASS Setting 'block-size' to a transform throws TypeError
PASS Can set 'min-block-size' to CSS-wide keywords
FAIL Can set 'min-block-size' to var() references assert_equals: expected 2 but got 1
FAIL Can set 'min-block-size' to a percent Invalid values
FAIL Can set 'min-block-size' to a length Invalid values
FAIL Can set 'min-block-size' to a percent assert_approx_equals: expected -3.14 +/- 0.000001 but got 0
FAIL Can set 'min-block-size' to a length assert_equals: expected "px" but got "em"
PASS Setting 'min-block-size' to a time throws TypeError
PASS Setting 'min-block-size' to an angle throws TypeError
PASS Setting 'min-block-size' to a flexible length throws TypeError
@@ -23,8 +23,8 @@ PASS Setting 'min-block-size' to a transform throws TypeError
PASS Can set 'max-block-size' to CSS-wide keywords
FAIL Can set 'max-block-size' to var() references assert_equals: expected 2 but got 1
PASS Can set 'max-block-size' to the 'none' keyword
FAIL Can set 'max-block-size' to a percent Invalid values
FAIL Can set 'max-block-size' to a length Invalid values
FAIL Can set 'max-block-size' to a percent assert_approx_equals: expected -3.14 +/- 0.000001 but got 0
FAIL Can set 'max-block-size' to a length assert_equals: expected "px" but got "em"
PASS Setting 'max-block-size' to a time throws TypeError
PASS Setting 'max-block-size' to an angle throws TypeError
PASS Setting 'max-block-size' to a flexible length throws TypeError
@@ -2,7 +2,7 @@
PASS Can set 'column-count' to CSS-wide keywords
FAIL Can set 'column-count' to var() references assert_equals: expected 2 but got 1
PASS Can set 'column-count' to the 'auto' keyword
FAIL Can set 'column-count' to a number Invalid values
FAIL Can set 'column-count' to a number assert_equals: expected "CSSMathSum" but got "CSSStyleValue"
PASS Setting 'column-count' to a length throws TypeError
PASS Setting 'column-count' to a percent throws TypeError
PASS Setting 'column-count' to a time throws TypeError
@@ -4,7 +4,7 @@ FAIL Can set 'column-rule-width' to var() references assert_equals: expected 2 b
PASS Can set 'column-rule-width' to the 'thin' keyword
PASS Can set 'column-rule-width' to the 'medium' keyword
PASS Can set 'column-rule-width' to the 'thick' keyword
FAIL Can set 'column-rule-width' to a length Invalid values
FAIL Can set 'column-rule-width' to a length assert_equals: expected "px" but got "em"
PASS Setting 'column-rule-width' to a percent throws TypeError
PASS Setting 'column-rule-width' to a time throws TypeError
PASS Setting 'column-rule-width' to an angle throws TypeError
@@ -1,7 +1,7 @@

PASS Can set 'flex-grow' to CSS-wide keywords
FAIL Can set 'flex-grow' to var() references assert_equals: expected 2 but got 1
FAIL Can set 'flex-grow' to a number Invalid values
FAIL Can set 'flex-grow' to a number assert_approx_equals: expected -3.14 +/- 0.000001 but got 0
PASS Setting 'flex-grow' to a length throws TypeError
PASS Setting 'flex-grow' to a percent throws TypeError
PASS Setting 'flex-grow' to a time throws TypeError
@@ -1,7 +1,7 @@

PASS Can set 'flex-shrink' to CSS-wide keywords
FAIL Can set 'flex-shrink' to var() references assert_equals: expected 2 but got 1
FAIL Can set 'flex-shrink' to a number Invalid values
FAIL Can set 'flex-shrink' to a number assert_approx_equals: expected -3.14 +/- 0.000001 but got 0
PASS Setting 'flex-shrink' to a length throws TypeError
PASS Setting 'flex-shrink' to a percent throws TypeError
PASS Setting 'flex-shrink' to a time throws TypeError
@@ -2,7 +2,7 @@
PASS Can set 'font-size-adjust' to CSS-wide keywords
FAIL Can set 'font-size-adjust' to var() references assert_equals: expected 2 but got 1
PASS Can set 'font-size-adjust' to the 'none' keyword
FAIL Can set 'font-size-adjust' to a number Invalid values
FAIL Can set 'font-size-adjust' to a number assert_approx_equals: expected -3.14 +/- 0.000001 but got 0
PASS Setting 'font-size-adjust' to a length throws TypeError
PASS Setting 'font-size-adjust' to a percent throws TypeError
PASS Setting 'font-size-adjust' to a time throws TypeError
@@ -10,8 +10,8 @@ PASS Can set 'font-size' to the 'x-large' keyword
PASS Can set 'font-size' to the 'xx-large' keyword
PASS Can set 'font-size' to the 'larger' keyword
PASS Can set 'font-size' to the 'smaller' keyword
FAIL Can set 'font-size' to a length Invalid values
FAIL Can set 'font-size' to a percent Invalid values
FAIL Can set 'font-size' to a length assert_equals: expected "px" but got "em"
FAIL Can set 'font-size' to a percent assert_equals: expected 2 but got 1
PASS Setting 'font-size' to a time throws TypeError
PASS Setting 'font-size' to an angle throws TypeError
PASS Setting 'font-size' to a flexible length throws TypeError
@@ -10,7 +10,7 @@ FAIL Can set 'font-stretch' to the 'semi-expanded' keyword assert_equals: expect
FAIL Can set 'font-stretch' to the 'expanded' keyword assert_equals: expected "CSSKeywordValue" but got "CSSUnitValue"
FAIL Can set 'font-stretch' to the 'extra-expanded' keyword assert_equals: expected "CSSKeywordValue" but got "CSSUnitValue"
FAIL Can set 'font-stretch' to the 'ultra-expanded' keyword assert_equals: expected "CSSKeywordValue" but got "CSSUnitValue"
FAIL Can set 'font-stretch' to a percent Invalid values
FAIL Can set 'font-stretch' to a percent assert_approx_equals: expected -3.14 +/- 0.000001 but got 0
PASS Setting 'font-stretch' to a length throws TypeError
PASS Setting 'font-stretch' to a time throws TypeError
PASS Setting 'font-stretch' to an angle throws TypeError
@@ -2,8 +2,8 @@
PASS Can set 'height' to CSS-wide keywords
FAIL Can set 'height' to var() references assert_equals: expected 2 but got 1
PASS Can set 'height' to the 'auto' keyword
FAIL Can set 'height' to a percent Invalid values
FAIL Can set 'height' to a length Invalid values
FAIL Can set 'height' to a percent assert_approx_equals: expected -3.14 +/- 0.000001 but got 0
FAIL Can set 'height' to a length assert_equals: expected "px" but got "em"
PASS Setting 'height' to a time throws TypeError
PASS Setting 'height' to an angle throws TypeError
PASS Setting 'height' to a flexible length throws TypeError
@@ -12,8 +12,8 @@ PASS Setting 'height' to a URL throws TypeError
PASS Setting 'height' to a transform throws TypeError
PASS Can set 'min-height' to CSS-wide keywords
FAIL Can set 'min-height' to var() references assert_equals: expected 2 but got 1
FAIL Can set 'min-height' to a percent Invalid values
FAIL Can set 'min-height' to a length Invalid values
FAIL Can set 'min-height' to a percent assert_approx_equals: expected -3.14 +/- 0.000001 but got 0
FAIL Can set 'min-height' to a length assert_equals: expected "px" but got "em"
PASS Setting 'min-height' to a time throws TypeError
PASS Setting 'min-height' to an angle throws TypeError
PASS Setting 'min-height' to a flexible length throws TypeError
@@ -2,8 +2,8 @@
PASS Can set 'inline-size' to CSS-wide keywords
FAIL Can set 'inline-size' to var() references assert_equals: expected 2 but got 1
PASS Can set 'inline-size' to the 'auto' keyword
FAIL Can set 'inline-size' to a percent Invalid values
FAIL Can set 'inline-size' to a length Invalid values
FAIL Can set 'inline-size' to a percent assert_approx_equals: expected -3.14 +/- 0.000001 but got 0
FAIL Can set 'inline-size' to a length assert_equals: expected "px" but got "em"
PASS Setting 'inline-size' to a time throws TypeError
PASS Setting 'inline-size' to an angle throws TypeError
PASS Setting 'inline-size' to a flexible length throws TypeError
@@ -12,8 +12,8 @@ PASS Setting 'inline-size' to a URL throws TypeError
PASS Setting 'inline-size' to a transform throws TypeError
PASS Can set 'min-inline-size' to CSS-wide keywords
FAIL Can set 'min-inline-size' to var() references assert_equals: expected 2 but got 1
FAIL Can set 'min-inline-size' to a percent Invalid values
FAIL Can set 'min-inline-size' to a length Invalid values
FAIL Can set 'min-inline-size' to a percent assert_approx_equals: expected -3.14 +/- 0.000001 but got 0
FAIL Can set 'min-inline-size' to a length assert_equals: expected "px" but got "em"
PASS Setting 'min-inline-size' to a time throws TypeError
PASS Setting 'min-inline-size' to an angle throws TypeError
PASS Setting 'min-inline-size' to a flexible length throws TypeError
@@ -23,8 +23,8 @@ PASS Setting 'min-inline-size' to a transform throws TypeError
PASS Can set 'max-inline-size' to CSS-wide keywords
FAIL Can set 'max-inline-size' to var() references assert_equals: expected 2 but got 1
PASS Can set 'max-inline-size' to the 'none' keyword
FAIL Can set 'max-inline-size' to a percent Invalid values
FAIL Can set 'max-inline-size' to a length Invalid values
FAIL Can set 'max-inline-size' to a percent assert_approx_equals: expected -3.14 +/- 0.000001 but got 0
FAIL Can set 'max-inline-size' to a length assert_equals: expected "px" but got "em"
PASS Setting 'max-inline-size' to a time throws TypeError
PASS Setting 'max-inline-size' to an angle throws TypeError
PASS Setting 'max-inline-size' to a flexible length throws TypeError
@@ -121,8 +121,8 @@ PASS Setting 'inset-inline' to a URL throws TypeError
PASS Setting 'inset-inline' to a transform throws TypeError
PASS Can set 'padding-block-start' to CSS-wide keywords
FAIL Can set 'padding-block-start' to var() references assert_equals: expected 2 but got 1
FAIL Can set 'padding-block-start' to a percent Invalid values
FAIL Can set 'padding-block-start' to a length Invalid values
FAIL Can set 'padding-block-start' to a percent assert_equals: expected "CSSUnitValue" but got "CSSMathSum"
FAIL Can set 'padding-block-start' to a length assert_equals: expected "CSSUnitValue" but got "CSSMathSum"
PASS Setting 'padding-block-start' to a time throws TypeError
PASS Setting 'padding-block-start' to an angle throws TypeError
PASS Setting 'padding-block-start' to a flexible length throws TypeError
@@ -131,8 +131,8 @@ PASS Setting 'padding-block-start' to a URL throws TypeError
PASS Setting 'padding-block-start' to a transform throws TypeError
PASS Can set 'padding-block-end' to CSS-wide keywords
FAIL Can set 'padding-block-end' to var() references assert_equals: expected 2 but got 1
FAIL Can set 'padding-block-end' to a percent Invalid values
FAIL Can set 'padding-block-end' to a length Invalid values
FAIL Can set 'padding-block-end' to a percent assert_equals: expected "CSSUnitValue" but got "CSSMathSum"
FAIL Can set 'padding-block-end' to a length assert_equals: expected "CSSUnitValue" but got "CSSMathSum"
PASS Setting 'padding-block-end' to a time throws TypeError
PASS Setting 'padding-block-end' to an angle throws TypeError
PASS Setting 'padding-block-end' to a flexible length throws TypeError
@@ -141,8 +141,8 @@ PASS Setting 'padding-block-end' to a URL throws TypeError
PASS Setting 'padding-block-end' to a transform throws TypeError
PASS Can set 'padding-inline-start' to CSS-wide keywords
FAIL Can set 'padding-inline-start' to var() references assert_equals: expected 2 but got 1
FAIL Can set 'padding-inline-start' to a percent Invalid values
FAIL Can set 'padding-inline-start' to a length Invalid values
FAIL Can set 'padding-inline-start' to a percent assert_equals: expected "CSSUnitValue" but got "CSSMathSum"
FAIL Can set 'padding-inline-start' to a length assert_equals: expected "CSSUnitValue" but got "CSSMathSum"
PASS Setting 'padding-inline-start' to a time throws TypeError
PASS Setting 'padding-inline-start' to an angle throws TypeError
PASS Setting 'padding-inline-start' to a flexible length throws TypeError
@@ -151,8 +151,8 @@ PASS Setting 'padding-inline-start' to a URL throws TypeError
PASS Setting 'padding-inline-start' to a transform throws TypeError
PASS Can set 'padding-inline-end' to CSS-wide keywords
FAIL Can set 'padding-inline-end' to var() references assert_equals: expected 2 but got 1
FAIL Can set 'padding-inline-end' to a percent Invalid values
FAIL Can set 'padding-inline-end' to a length Invalid values
FAIL Can set 'padding-inline-end' to a percent assert_equals: expected "CSSUnitValue" but got "CSSMathSum"
FAIL Can set 'padding-inline-end' to a length assert_equals: expected "CSSUnitValue" but got "CSSMathSum"
PASS Setting 'padding-inline-end' to a time throws TypeError
PASS Setting 'padding-inline-end' to an angle throws TypeError
PASS Setting 'padding-inline-end' to a flexible length throws TypeError
@@ -1,7 +1,7 @@

PASS Can set 'orphans' to CSS-wide keywords
FAIL Can set 'orphans' to var() references assert_equals: expected 2 but got 1
FAIL Can set 'orphans' to a number Invalid values
FAIL Can set 'orphans' to a number assert_equals: expected "CSSMathSum" but got "CSSStyleValue"
PASS Setting 'orphans' to a length throws TypeError
PASS Setting 'orphans' to a percent throws TypeError
PASS Setting 'orphans' to a time throws TypeError
@@ -1,8 +1,8 @@

PASS Can set 'padding-top' to CSS-wide keywords
FAIL Can set 'padding-top' to var() references assert_equals: expected 2 but got 1
FAIL Can set 'padding-top' to a percent Invalid values
FAIL Can set 'padding-top' to a length Invalid values
FAIL Can set 'padding-top' to a percent assert_approx_equals: expected -3.14 +/- 0.000001 but got 0
FAIL Can set 'padding-top' to a length assert_equals: expected "px" but got "em"
PASS Setting 'padding-top' to a time throws TypeError
PASS Setting 'padding-top' to an angle throws TypeError
PASS Setting 'padding-top' to a flexible length throws TypeError
@@ -11,8 +11,8 @@ PASS Setting 'padding-top' to a URL throws TypeError
PASS Setting 'padding-top' to a transform throws TypeError
PASS Can set 'padding-left' to CSS-wide keywords
FAIL Can set 'padding-left' to var() references assert_equals: expected 2 but got 1
FAIL Can set 'padding-left' to a percent Invalid values
FAIL Can set 'padding-left' to a length Invalid values
FAIL Can set 'padding-left' to a percent assert_approx_equals: expected -3.14 +/- 0.000001 but got 0
FAIL Can set 'padding-left' to a length assert_equals: expected "px" but got "em"
PASS Setting 'padding-left' to a time throws TypeError
PASS Setting 'padding-left' to an angle throws TypeError
PASS Setting 'padding-left' to a flexible length throws TypeError
@@ -21,8 +21,8 @@ PASS Setting 'padding-left' to a URL throws TypeError
PASS Setting 'padding-left' to a transform throws TypeError
PASS Can set 'padding-right' to CSS-wide keywords
FAIL Can set 'padding-right' to var() references assert_equals: expected 2 but got 1
FAIL Can set 'padding-right' to a percent Invalid values
FAIL Can set 'padding-right' to a length Invalid values
FAIL Can set 'padding-right' to a percent assert_approx_equals: expected -3.14 +/- 0.000001 but got 0
FAIL Can set 'padding-right' to a length assert_equals: expected "px" but got "em"
PASS Setting 'padding-right' to a time throws TypeError
PASS Setting 'padding-right' to an angle throws TypeError
PASS Setting 'padding-right' to a flexible length throws TypeError
@@ -31,8 +31,8 @@ PASS Setting 'padding-right' to a URL throws TypeError
PASS Setting 'padding-right' to a transform throws TypeError
PASS Can set 'padding-bottom' to CSS-wide keywords
FAIL Can set 'padding-bottom' to var() references assert_equals: expected 2 but got 1
FAIL Can set 'padding-bottom' to a percent Invalid values
FAIL Can set 'padding-bottom' to a length Invalid values
FAIL Can set 'padding-bottom' to a percent assert_approx_equals: expected -3.14 +/- 0.000001 but got 0
FAIL Can set 'padding-bottom' to a length assert_equals: expected "px" but got "em"
PASS Setting 'padding-bottom' to a time throws TypeError
PASS Setting 'padding-bottom' to an angle throws TypeError
PASS Setting 'padding-bottom' to a flexible length throws TypeError
@@ -2,7 +2,7 @@
PASS Can set 'perspective' to CSS-wide keywords
FAIL Can set 'perspective' to var() references assert_equals: expected 2 but got 1
PASS Can set 'perspective' to the 'none' keyword
FAIL Can set 'perspective' to a length Invalid values
FAIL Can set 'perspective' to a length assert_class_string: relative lengths must compute to a CSSUnitValue expected "[object CSSUnitValue]" but got "[object CSSKeywordValue]"
PASS Setting 'perspective' to a percent throws TypeError
PASS Setting 'perspective' to a time throws TypeError
PASS Setting 'perspective' to an angle throws TypeError
@@ -1,8 +1,8 @@

PASS Can set 'r' to CSS-wide keywords
FAIL Can set 'r' to var() references assert_equals: expected 2 but got 1
FAIL Can set 'r' to a percent Invalid values
FAIL Can set 'r' to a length Invalid values
FAIL Can set 'r' to a percent assert_approx_equals: expected -3.14 +/- 0.000001 but got 0
FAIL Can set 'r' to a length assert_equals: expected "px" but got "em"
PASS Setting 'r' to a time throws TypeError
PASS Setting 'r' to an angle throws TypeError
PASS Setting 'r' to a flexible length throws TypeError
@@ -12,8 +12,8 @@ PASS Setting 'r' to a transform throws TypeError
PASS Can set 'rx' to CSS-wide keywords
FAIL Can set 'rx' to var() references assert_equals: expected 2 but got 1
PASS Can set 'rx' to the 'auto' keyword
FAIL Can set 'rx' to a percent Invalid values
FAIL Can set 'rx' to a length Invalid values
FAIL Can set 'rx' to a percent assert_approx_equals: expected -3.14 +/- 0.000001 but got 0
FAIL Can set 'rx' to a length assert_equals: expected "px" but got "em"
PASS Setting 'rx' to a time throws TypeError
PASS Setting 'rx' to an angle throws TypeError
PASS Setting 'rx' to a flexible length throws TypeError
@@ -23,8 +23,8 @@ PASS Setting 'rx' to a transform throws TypeError
PASS Can set 'ry' to CSS-wide keywords
FAIL Can set 'ry' to var() references assert_equals: expected 2 but got 1
PASS Can set 'ry' to the 'auto' keyword
FAIL Can set 'ry' to a percent Invalid values
FAIL Can set 'ry' to a length Invalid values
FAIL Can set 'ry' to a percent assert_approx_equals: expected -3.14 +/- 0.000001 but got 0
FAIL Can set 'ry' to a length assert_equals: expected "px" but got "em"
PASS Setting 'ry' to a time throws TypeError
PASS Setting 'ry' to an angle throws TypeError
PASS Setting 'ry' to a flexible length throws TypeError

0 comments on commit 2a77eef

Please sign in to comment.