Returns inconsistent types for el.style.property and el.style.getPropertyValue('color')
authorbenjamin@webkit.org <benjamin@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 4 Aug 2015 05:14:43 +0000 (05:14 +0000)
committerbenjamin@webkit.org <benjamin@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 4 Aug 2015 05:14:43 +0000 (05:14 +0000)
https://bugs.webkit.org/show_bug.cgi?id=147549

Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-08-03
Reviewed by Andreas Kling.

Source/WebCore:

Kudos to Greg Whitworth for finding this bug.

Test: fast/css/getPropertyValue-returns-empty-on-missing-property.html

* css/CSSStyleDeclaration.idl:
Our definition was wrong.
Current spec: http://www.w3.org/TR/cssom/#dom-cssstyledeclaration-getpropertyvalue
Current draft: https://drafts.csswg.org/cssom/#dom-cssstyledeclaration-getpropertyvalue
Gecko and EdgeHTML follow the spec.

LayoutTests:

The bug is very old, there were a lot of tests to update.

The tests in css3/shapes are incorrect W3C tests. I only updated the expected
results.

The test fast/css/getPropertyValue-returns-empty-on-missing-property.html
is the new one covering the bug fix.

* animations/script-tests/trigger-parsing.js:
(testTriggerRule):
* animations/trigger-parsing-expected.txt:
* animations/unprefixed-properties-expected.txt:
* animations/unprefixed-properties.html:
* css3/blending/blend-mode-property-parsing-invalid-expected.txt:
* css3/blending/script-tests/blend-mode-property-parsing-invalid.js:
(testInvalidFilterRule):
* css3/filters/backdrop/backdropfilter-property-parsing-invalid-expected.txt:
* css3/filters/backdrop/script-tests/backdropfilter-property-parsing-invalid.js:
(testInvalidFilterRule):
* css3/filters/filter-property-parsing-invalid-expected.txt:
* css3/filters/script-tests/filter-property-parsing-invalid.js:
(testInvalidFilterRule):
* css3/shapes/shape-outside/values/shape-image-threshold-002-expected.txt:
* css3/shapes/shape-outside/values/shape-image-threshold-003-expected.txt:
* css3/shapes/shape-outside/values/shape-margin-004-expected.txt:
* css3/shapes/shape-outside/values/shape-margin-005-expected.txt:
* css3/shapes/shape-outside/values/shape-outside-circle-003-expected.txt:
* css3/shapes/shape-outside/values/shape-outside-circle-006-expected.txt:
* css3/shapes/shape-outside/values/shape-outside-circle-007-expected.txt:
* css3/shapes/shape-outside/values/shape-outside-circle-008-expected.txt:
* css3/shapes/shape-outside/values/shape-outside-ellipse-003-expected.txt:
* css3/shapes/shape-outside/values/shape-outside-ellipse-006-expected.txt:
* css3/shapes/shape-outside/values/shape-outside-ellipse-007-expected.txt:
* css3/shapes/shape-outside/values/shape-outside-ellipse-008-expected.txt:
* css3/shapes/shape-outside/values/shape-outside-inset-005-expected.txt:
* css3/shapes/shape-outside/values/shape-outside-inset-006-expected.txt:
* css3/shapes/shape-outside/values/shape-outside-inset-007-expected.txt:
* css3/shapes/shape-outside/values/shape-outside-polygon-003-expected.txt:
* fast/backgrounds/repeat/parsing-background-repeat-expected.txt:
* fast/backgrounds/repeat/script-tests/parsing-background-repeat.js:
* fast/backgrounds/size/parsing-background-size-values-expected.txt:
* fast/backgrounds/size/resources/parsing-background-size-values.js:
* fast/box-decoration-break/box-decoration-break-parsing-expected.txt:
* fast/box-decoration-break/box-decoration-break-parsing.html:
* fast/box-shadow/box-shadow-parsing-invalid-expected.txt:
* fast/box-shadow/script-tests/box-shadow-parsing-invalid.js:
(testInvalidFilterRule):
* fast/css/background-clip-text-expected.txt:
* fast/css/border-spacing-without-vertical-value.html:
* fast/css/getPropertyValue-border-expected.txt:
* fast/css/getPropertyValue-border.html:
* fast/css/getPropertyValue-column-rule-expected.txt:
* fast/css/getPropertyValue-column-rule.html:
* fast/css/getPropertyValue-columns-expected.txt:
* fast/css/getPropertyValue-columns.html:
* fast/css/getPropertyValue-returns-empty-on-missing-property-expected.txt: Added.
* fast/css/getPropertyValue-returns-empty-on-missing-property.html: Added.
* fast/css/getPropertyValue-webkit-margin-collapse-expected.txt:
* fast/css/getPropertyValue-webkit-margin-collapse.html:
* fast/css/getPropertyValue-webkit-marquee-expected.txt:
* fast/css/getPropertyValue-webkit-marquee.html:
* fast/css/getPropertyValue-webkit-text-stroke-expected.txt:
* fast/css/getPropertyValue-webkit-text-stroke.html:
* fast/css/line-height-text-autosizing.html:
* fast/css/outline-offset-parsing-expected.txt:
* fast/css/parsing-color-correction-expected.txt:
* fast/css/parsing-object-fit-expected.txt:
* fast/css/parsing-object-fit.html:
* fast/css/parsing-text-rendering-expected.txt:
* fast/css/parsing-webkit-font-smoothing-expected.txt:
* fast/css/resources/parsing-color-correction.js:
* fast/css/resources/parsing-text-rendering.js:
* fast/css/resources/parsing-webkit-font-smoothing.js:
* fast/css/script-tests/background-clip-text.js:
* fast/css/script-tests/outline-offset-parsing.js:
* fast/css/script-tests/transform-origin-parsing.js:
* fast/css/sticky/parsing-position-sticky-expected.txt:
* fast/css/sticky/resources/parsing-position-sticky.js:
* fast/css/transform-origin-parsing-expected.txt:
* fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-roundtrip-expected.txt:
* fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-roundtrip.html:
* fast/css3-text/font-synthesis-parse-expected.txt:
* fast/css3-text/font-synthesis-parse.html:
* fast/filter-image/parse-filter-image-expected.txt:
* fast/filter-image/parse-filter-image.html:
* fast/masking/parsing-clip-path-shape-expected.txt:
* fast/masking/parsing-clip-path-shape.html:
* fast/masking/parsing-mask-expected.txt:
* fast/masking/parsing-mask.html:
* fast/shapes/css-shapes-disabled-expected.txt:
* fast/shapes/css-shapes-disabled.html:
* fast/shapes/parsing/parsing-shape-lengths-expected.txt:
* fast/shapes/parsing/parsing-shape-lengths.html:
* platform/mac/fast/css/dashboard-region-parser-expected.txt:
* platform/mac/fast/css/dashboard-region-parser.html:
* platform/mac/fast/text/trailing-word-parse-expected.txt:
* platform/mac/fast/text/trailing-word-parse.html:
* svg/paint-order/parsing-paint-order-expected.txt:
* svg/paint-order/parsing-paint-order.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@187813 268f45cc-cd09-0410-ab3c-d52691b4dbfc

89 files changed:
LayoutTests/ChangeLog
LayoutTests/animations/script-tests/trigger-parsing.js
LayoutTests/animations/trigger-parsing-expected.txt
LayoutTests/animations/unprefixed-properties-expected.txt
LayoutTests/animations/unprefixed-properties.html
LayoutTests/css3/blending/blend-mode-property-parsing-invalid-expected.txt
LayoutTests/css3/blending/script-tests/blend-mode-property-parsing-invalid.js
LayoutTests/css3/filters/backdrop/backdropfilter-property-parsing-invalid-expected.txt
LayoutTests/css3/filters/backdrop/script-tests/backdropfilter-property-parsing-invalid.js
LayoutTests/css3/filters/filter-property-parsing-invalid-expected.txt
LayoutTests/css3/filters/script-tests/filter-property-parsing-invalid.js
LayoutTests/css3/shapes/shape-outside/values/shape-image-threshold-002-expected.txt
LayoutTests/css3/shapes/shape-outside/values/shape-image-threshold-003-expected.txt
LayoutTests/css3/shapes/shape-outside/values/shape-margin-004-expected.txt
LayoutTests/css3/shapes/shape-outside/values/shape-margin-005-expected.txt
LayoutTests/css3/shapes/shape-outside/values/shape-outside-circle-003-expected.txt
LayoutTests/css3/shapes/shape-outside/values/shape-outside-circle-006-expected.txt
LayoutTests/css3/shapes/shape-outside/values/shape-outside-circle-007-expected.txt
LayoutTests/css3/shapes/shape-outside/values/shape-outside-circle-008-expected.txt
LayoutTests/css3/shapes/shape-outside/values/shape-outside-ellipse-003-expected.txt
LayoutTests/css3/shapes/shape-outside/values/shape-outside-ellipse-006-expected.txt
LayoutTests/css3/shapes/shape-outside/values/shape-outside-ellipse-007-expected.txt
LayoutTests/css3/shapes/shape-outside/values/shape-outside-ellipse-008-expected.txt
LayoutTests/css3/shapes/shape-outside/values/shape-outside-inset-005-expected.txt
LayoutTests/css3/shapes/shape-outside/values/shape-outside-inset-006-expected.txt
LayoutTests/css3/shapes/shape-outside/values/shape-outside-inset-007-expected.txt
LayoutTests/css3/shapes/shape-outside/values/shape-outside-polygon-003-expected.txt
LayoutTests/fast/backgrounds/repeat/parsing-background-repeat-expected.txt
LayoutTests/fast/backgrounds/repeat/script-tests/parsing-background-repeat.js
LayoutTests/fast/backgrounds/size/parsing-background-size-values-expected.txt
LayoutTests/fast/backgrounds/size/resources/parsing-background-size-values.js
LayoutTests/fast/box-decoration-break/box-decoration-break-parsing-expected.txt
LayoutTests/fast/box-decoration-break/box-decoration-break-parsing.html
LayoutTests/fast/box-shadow/box-shadow-parsing-invalid-expected.txt
LayoutTests/fast/box-shadow/script-tests/box-shadow-parsing-invalid.js
LayoutTests/fast/css/background-clip-text-expected.txt
LayoutTests/fast/css/border-spacing-without-vertical-value.html
LayoutTests/fast/css/getPropertyValue-border-expected.txt
LayoutTests/fast/css/getPropertyValue-border.html
LayoutTests/fast/css/getPropertyValue-column-rule-expected.txt
LayoutTests/fast/css/getPropertyValue-column-rule.html
LayoutTests/fast/css/getPropertyValue-columns-expected.txt
LayoutTests/fast/css/getPropertyValue-columns.html
LayoutTests/fast/css/getPropertyValue-returns-empty-on-missing-property-expected.txt [new file with mode: 0644]
LayoutTests/fast/css/getPropertyValue-returns-empty-on-missing-property.html [new file with mode: 0644]
LayoutTests/fast/css/getPropertyValue-webkit-margin-collapse-expected.txt
LayoutTests/fast/css/getPropertyValue-webkit-margin-collapse.html
LayoutTests/fast/css/getPropertyValue-webkit-marquee-expected.txt
LayoutTests/fast/css/getPropertyValue-webkit-marquee.html
LayoutTests/fast/css/getPropertyValue-webkit-text-stroke-expected.txt
LayoutTests/fast/css/getPropertyValue-webkit-text-stroke.html
LayoutTests/fast/css/line-height-text-autosizing.html
LayoutTests/fast/css/outline-offset-parsing-expected.txt
LayoutTests/fast/css/parsing-color-correction-expected.txt
LayoutTests/fast/css/parsing-object-fit-expected.txt
LayoutTests/fast/css/parsing-object-fit.html
LayoutTests/fast/css/parsing-text-rendering-expected.txt
LayoutTests/fast/css/parsing-webkit-font-smoothing-expected.txt
LayoutTests/fast/css/resources/parsing-color-correction.js
LayoutTests/fast/css/resources/parsing-text-rendering.js
LayoutTests/fast/css/resources/parsing-webkit-font-smoothing.js
LayoutTests/fast/css/script-tests/background-clip-text.js
LayoutTests/fast/css/script-tests/outline-offset-parsing.js
LayoutTests/fast/css/script-tests/transform-origin-parsing.js
LayoutTests/fast/css/sticky/parsing-position-sticky-expected.txt
LayoutTests/fast/css/sticky/resources/parsing-position-sticky.js
LayoutTests/fast/css/transform-origin-parsing-expected.txt
LayoutTests/fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-roundtrip-expected.txt
LayoutTests/fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-roundtrip.html
LayoutTests/fast/css3-text/font-synthesis-parse-expected.txt
LayoutTests/fast/css3-text/font-synthesis-parse.html
LayoutTests/fast/filter-image/parse-filter-image-expected.txt
LayoutTests/fast/filter-image/parse-filter-image.html
LayoutTests/fast/masking/parsing-clip-path-shape-expected.txt
LayoutTests/fast/masking/parsing-clip-path-shape.html
LayoutTests/fast/masking/parsing-mask-expected.txt
LayoutTests/fast/masking/parsing-mask.html
LayoutTests/fast/shapes/css-shapes-disabled-expected.txt
LayoutTests/fast/shapes/css-shapes-disabled.html
LayoutTests/fast/shapes/parsing/parsing-shape-lengths-expected.txt
LayoutTests/fast/shapes/parsing/parsing-shape-lengths.html
LayoutTests/platform/mac/fast/css/dashboard-region-parser-expected.txt
LayoutTests/platform/mac/fast/css/dashboard-region-parser.html
LayoutTests/platform/mac/fast/text/trailing-word-parse-expected.txt
LayoutTests/platform/mac/fast/text/trailing-word-parse.html
LayoutTests/svg/paint-order/parsing-paint-order-expected.txt
LayoutTests/svg/paint-order/parsing-paint-order.html
Source/WebCore/ChangeLog
Source/WebCore/css/CSSStyleDeclaration.idl

index aaf8fca..251aa87 100644 (file)
@@ -1,3 +1,110 @@
+2015-08-03  Benjamin Poulain  <bpoulain@apple.com>
+
+        Returns inconsistent types for el.style.property and el.style.getPropertyValue('color')
+        https://bugs.webkit.org/show_bug.cgi?id=147549
+
+        Reviewed by Andreas Kling.
+
+        The bug is very old, there were a lot of tests to update.
+
+        The tests in css3/shapes are incorrect W3C tests. I only updated the expected
+        results.
+
+        The test fast/css/getPropertyValue-returns-empty-on-missing-property.html
+        is the new one covering the bug fix.
+
+        * animations/script-tests/trigger-parsing.js:
+        (testTriggerRule):
+        * animations/trigger-parsing-expected.txt:
+        * animations/unprefixed-properties-expected.txt:
+        * animations/unprefixed-properties.html:
+        * css3/blending/blend-mode-property-parsing-invalid-expected.txt:
+        * css3/blending/script-tests/blend-mode-property-parsing-invalid.js:
+        (testInvalidFilterRule):
+        * css3/filters/backdrop/backdropfilter-property-parsing-invalid-expected.txt:
+        * css3/filters/backdrop/script-tests/backdropfilter-property-parsing-invalid.js:
+        (testInvalidFilterRule):
+        * css3/filters/filter-property-parsing-invalid-expected.txt:
+        * css3/filters/script-tests/filter-property-parsing-invalid.js:
+        (testInvalidFilterRule):
+        * css3/shapes/shape-outside/values/shape-image-threshold-002-expected.txt:
+        * css3/shapes/shape-outside/values/shape-image-threshold-003-expected.txt:
+        * css3/shapes/shape-outside/values/shape-margin-004-expected.txt:
+        * css3/shapes/shape-outside/values/shape-margin-005-expected.txt:
+        * css3/shapes/shape-outside/values/shape-outside-circle-003-expected.txt:
+        * css3/shapes/shape-outside/values/shape-outside-circle-006-expected.txt:
+        * css3/shapes/shape-outside/values/shape-outside-circle-007-expected.txt:
+        * css3/shapes/shape-outside/values/shape-outside-circle-008-expected.txt:
+        * css3/shapes/shape-outside/values/shape-outside-ellipse-003-expected.txt:
+        * css3/shapes/shape-outside/values/shape-outside-ellipse-006-expected.txt:
+        * css3/shapes/shape-outside/values/shape-outside-ellipse-007-expected.txt:
+        * css3/shapes/shape-outside/values/shape-outside-ellipse-008-expected.txt:
+        * css3/shapes/shape-outside/values/shape-outside-inset-005-expected.txt:
+        * css3/shapes/shape-outside/values/shape-outside-inset-006-expected.txt:
+        * css3/shapes/shape-outside/values/shape-outside-inset-007-expected.txt:
+        * css3/shapes/shape-outside/values/shape-outside-polygon-003-expected.txt:
+        * fast/backgrounds/repeat/parsing-background-repeat-expected.txt:
+        * fast/backgrounds/repeat/script-tests/parsing-background-repeat.js:
+        * fast/backgrounds/size/parsing-background-size-values-expected.txt:
+        * fast/backgrounds/size/resources/parsing-background-size-values.js:
+        * fast/box-decoration-break/box-decoration-break-parsing-expected.txt:
+        * fast/box-decoration-break/box-decoration-break-parsing.html:
+        * fast/box-shadow/box-shadow-parsing-invalid-expected.txt:
+        * fast/box-shadow/script-tests/box-shadow-parsing-invalid.js:
+        (testInvalidFilterRule):
+        * fast/css/background-clip-text-expected.txt:
+        * fast/css/border-spacing-without-vertical-value.html:
+        * fast/css/getPropertyValue-border-expected.txt:
+        * fast/css/getPropertyValue-border.html:
+        * fast/css/getPropertyValue-column-rule-expected.txt:
+        * fast/css/getPropertyValue-column-rule.html:
+        * fast/css/getPropertyValue-columns-expected.txt:
+        * fast/css/getPropertyValue-columns.html:
+        * fast/css/getPropertyValue-returns-empty-on-missing-property-expected.txt: Added.
+        * fast/css/getPropertyValue-returns-empty-on-missing-property.html: Added.
+        * fast/css/getPropertyValue-webkit-margin-collapse-expected.txt:
+        * fast/css/getPropertyValue-webkit-margin-collapse.html:
+        * fast/css/getPropertyValue-webkit-marquee-expected.txt:
+        * fast/css/getPropertyValue-webkit-marquee.html:
+        * fast/css/getPropertyValue-webkit-text-stroke-expected.txt:
+        * fast/css/getPropertyValue-webkit-text-stroke.html:
+        * fast/css/line-height-text-autosizing.html:
+        * fast/css/outline-offset-parsing-expected.txt:
+        * fast/css/parsing-color-correction-expected.txt:
+        * fast/css/parsing-object-fit-expected.txt:
+        * fast/css/parsing-object-fit.html:
+        * fast/css/parsing-text-rendering-expected.txt:
+        * fast/css/parsing-webkit-font-smoothing-expected.txt:
+        * fast/css/resources/parsing-color-correction.js:
+        * fast/css/resources/parsing-text-rendering.js:
+        * fast/css/resources/parsing-webkit-font-smoothing.js:
+        * fast/css/script-tests/background-clip-text.js:
+        * fast/css/script-tests/outline-offset-parsing.js:
+        * fast/css/script-tests/transform-origin-parsing.js:
+        * fast/css/sticky/parsing-position-sticky-expected.txt:
+        * fast/css/sticky/resources/parsing-position-sticky.js:
+        * fast/css/transform-origin-parsing-expected.txt:
+        * fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-roundtrip-expected.txt:
+        * fast/css3-text/css3-text-decoration/text-decoration-skip/text-decoration-skip-roundtrip.html:
+        * fast/css3-text/font-synthesis-parse-expected.txt:
+        * fast/css3-text/font-synthesis-parse.html:
+        * fast/filter-image/parse-filter-image-expected.txt:
+        * fast/filter-image/parse-filter-image.html:
+        * fast/masking/parsing-clip-path-shape-expected.txt:
+        * fast/masking/parsing-clip-path-shape.html:
+        * fast/masking/parsing-mask-expected.txt:
+        * fast/masking/parsing-mask.html:
+        * fast/shapes/css-shapes-disabled-expected.txt:
+        * fast/shapes/css-shapes-disabled.html:
+        * fast/shapes/parsing/parsing-shape-lengths-expected.txt:
+        * fast/shapes/parsing/parsing-shape-lengths.html:
+        * platform/mac/fast/css/dashboard-region-parser-expected.txt:
+        * platform/mac/fast/css/dashboard-region-parser.html:
+        * platform/mac/fast/text/trailing-word-parse-expected.txt:
+        * platform/mac/fast/text/trailing-word-parse.html:
+        * svg/paint-order/parsing-paint-order-expected.txt:
+        * svg/paint-order/parsing-paint-order.html:
+
 2015-08-03  Simon Fraser  <simon.fraser@apple.com>
 
         Add a result missed in earlier file moves.
index bddfbba..215bc8a 100644 (file)
@@ -19,7 +19,7 @@ function testTriggerRule(description, rule, expectedLength, expectedValue, expec
     declaration = cssRule.style;
     if (!expectedLength || !expectedValue) {
         shouldBe("declaration.length", "0");
-        shouldBe("declaration.getPropertyValue('-webkit-animation-trigger')", "null");
+        shouldBeEqualToString("declaration.getPropertyValue('-webkit-animation-trigger')", "");
         return;
     }
     shouldBe("declaration.length", "1");
index e2f506c..28343b4 100644 (file)
@@ -63,27 +63,27 @@ Invalid property tests
 No value : 
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-animation-trigger') is null
+PASS declaration.getPropertyValue('-webkit-animation-trigger') is ""
 
 Bad value : banana
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-animation-trigger') is null
+PASS declaration.getPropertyValue('-webkit-animation-trigger') is ""
 
 Bad list : container-scroll(1px), orange
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-animation-trigger') is null
+PASS declaration.getPropertyValue('-webkit-animation-trigger') is ""
 
 Missing comma : container-scroll(1px) container-scroll(2px)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-animation-trigger') is null
+PASS declaration.getPropertyValue('-webkit-animation-trigger') is ""
 
 Too many values : container-scroll(1px, 2px, 3px)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-animation-trigger') is null
+PASS declaration.getPropertyValue('-webkit-animation-trigger') is ""
 PASS successfullyParsed is true
 
 TEST COMPLETE
index 0c03173..92d6d05 100644 (file)
@@ -157,62 +157,62 @@ PASS subRule.cssText is 'both'
 Invalid - duration - Bad value : 10cm
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('animation-duration') is null
+PASS declaration.getPropertyValue('animation-duration') is ""
 
 Invalid - duration - List with bad value : 10ms, 10cm, 10s
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('animation-duration') is null
+PASS declaration.getPropertyValue('animation-duration') is ""
 
 Invalid - delay - Bad value : 10cm
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('animation-delay') is null
+PASS declaration.getPropertyValue('animation-delay') is ""
 
 Invalid - delay - List with bad value : 10ms, 10cm, 10s
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('animation-delay') is null
+PASS declaration.getPropertyValue('animation-delay') is ""
 
 Invalid - timing-function - Wrong keyword parameter : egg
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('animation-timing-function') is null
+PASS declaration.getPropertyValue('animation-timing-function') is ""
 
 Invalid - timing-function - List with wrong keyword parameter : ease-in, egg, ease-out
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('animation-timing-function') is null
+PASS declaration.getPropertyValue('animation-timing-function') is ""
 
 Invalid - iteration-count - Wrong keyword parameter : banana
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('animation-iteration-count') is null
+PASS declaration.getPropertyValue('animation-iteration-count') is ""
 
 Invalid - iteration-count - List with wrong keyword parameter : infinite, 10, banana
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('animation-iteration-count') is null
+PASS declaration.getPropertyValue('animation-iteration-count') is ""
 
 Invalid - direction - Wrong keyword parameter : all
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('animation-direction') is null
+PASS declaration.getPropertyValue('animation-direction') is ""
 
 Invalid - direction - List with wrong keyword parameter : normal, alternate, none
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('animation-direction') is null
+PASS declaration.getPropertyValue('animation-direction') is ""
 
 Invalid - fill-mode - Wrong keyword parameter : all
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('animation-fill-mode') is null
+PASS declaration.getPropertyValue('animation-fill-mode') is ""
 
 Invalid - fill-mode - List with wrong keyword parameter : none, backwards, left, alternate, forwards
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('animation-fill-mode') is null
+PASS declaration.getPropertyValue('animation-fill-mode') is ""
 
 Computed Style - Basic animation-name : waldo
 PASS animationStyle.cssText is 'waldo'
index 1ff44ff..2bd26e8 100644 (file)
@@ -55,7 +55,7 @@ function testInvalidAnimationRule(description, property, value)
 
     declaration = cssRule.style;
     shouldBe("declaration.length", "0");
-    shouldBe("declaration.getPropertyValue('" + property + "')", "null");
+    shouldBeEqualToString("declaration.getPropertyValue('" + property + "')", "");
 
     stylesheet.deleteRule(0);
 }
index 889402a..e2aed74 100644 (file)
@@ -7,17 +7,17 @@ On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE
 Too many parameters : overlay overlay
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('mix-blend-mode') is null
+PASS declaration.getPropertyValue('mix-blend-mode') is ""
 
 Wrong type : "5px"
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('mix-blend-mode') is null
+PASS declaration.getPropertyValue('mix-blend-mode') is ""
 
 Trailing comma : overlay,
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('mix-blend-mode') is null
+PASS declaration.getPropertyValue('mix-blend-mode') is ""
 PASS successfullyParsed is true
 
 TEST COMPLETE
index 02bb10c..96b8114 100644 (file)
@@ -19,7 +19,7 @@ function testInvalidFilterRule(description, rule)
 
     declaration = cssRule.style;
     shouldBe("declaration.length", "0");
-    shouldBe("declaration.getPropertyValue('mix-blend-mode')", "null");
+    shouldBeEqualToString("declaration.getPropertyValue('mix-blend-mode')", "");
 }
 
 testInvalidFilterRule("Too many parameters", "overlay overlay");
index 63c69aa..1255272 100644 (file)
@@ -7,317 +7,317 @@ On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE
 Too many parameters : url(#a #b)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is null
+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is ""
 
 Length instead of number : grayscale(10px)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is null
+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is ""
 
 Too many parameters : grayscale(0.5 0.5)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is null
+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is ""
 
 Too many parameters and commas : grayscale(0.5, 0.5)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is null
+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is ""
 
 Trailing comma : grayscale(0.5,)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is null
+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is ""
 
 Negative parameter : grayscale(-0.5)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is null
+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is ""
 
 Negative percent : grayscale(-10%)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is null
+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is ""
 
 Parameter out of bounds : grayscale(1.5)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is null
+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is ""
 
 Too many parameters : sepia(0.5 0.5 3.0)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is null
+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is ""
 
 Too many parameters and commas : sepia(0.1, 0.1)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is null
+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is ""
 
 Trailing comma : sepia(0.5,)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is null
+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is ""
 
 Negative parameter : sepia(-0.01)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is null
+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is ""
 
 Negative percent : sepia(-10%)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is null
+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is ""
 
 Parameter out of bounds : sepia(10000)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is null
+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is ""
 
 Length instead of number : saturate(10px)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is null
+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is ""
 
 Too many parameters : saturate(0.5 0.5)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is null
+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is ""
 
 Too many parameters and commas : saturate(0.5, 0.5)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is null
+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is ""
 
 Trailing comma : saturate(0.5,)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is null
+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is ""
 
 Negative parameter : saturate(-0.5)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is null
+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is ""
 
 Negative percent : saturate(-10%)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is null
+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is ""
 
 Bare number : hue-rotate(10)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is null
+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is ""
 
 Length : hue-rotate(10px)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is null
+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is ""
 
 Too many parameters : hue-rotate(10deg 4)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is null
+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is ""
 
 Too many parameters and commas : hue-rotate(10deg, 5deg)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is null
+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is ""
 
 Trailing comma : hue-rotate(10deg,)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is null
+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is ""
 
 Length instead of number : invert(10px)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is null
+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is ""
 
 Too many parameters : invert(0.5 0.5)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is null
+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is ""
 
 Too many parameters and commas : invert(0.5, 0.5)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is null
+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is ""
 
 Trailing comma : invert(0.5,)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is null
+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is ""
 
 Negative parameter : invert(-0.5)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is null
+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is ""
 
 Parameter out of bounds : invert(1.5)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is null
+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is ""
 
 Length instead of number : opacity(10px)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is null
+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is ""
 
 Too many parameters : opacity(0.5 0.5)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is null
+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is ""
 
 Too many parameters and commas : opacity(0.5, 0.5)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is null
+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is ""
 
 Trailing comma : opacity(0.5,)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is null
+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is ""
 
 Negative parameter : opacity(-0.5)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is null
+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is ""
 
 Negative percent : opacity(-10%)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is null
+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is ""
 
 Parameter out of bounds : opacity(1.5)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is null
+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is ""
 
 Length instead of number : brightness(10px)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is null
+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is ""
 
 Too many parameters : brightness(0.5 0.5)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is null
+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is ""
 
 Too many parameters and commas : brightness(0.5, 0.5)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is null
+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is ""
 
 Trailing comma : brightness(0.5,)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is null
+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is ""
 
 Length instead of number : contrast(10px)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is null
+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is ""
 
 Too many parameters : contrast(0.5 0.5)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is null
+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is ""
 
 Too many parameters and commas : contrast(0.5, 0.5)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is null
+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is ""
 
 Trailing comma : contrast(0.5,)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is null
+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is ""
 
 Negative parameter : contrast(-0.5)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is null
+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is ""
 
 Negative percent : contrast(-10%)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is null
+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is ""
 
 Bare number : blur(1)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is null
+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is ""
 
 Negative number : blur(-1px)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is null
+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is ""
 
 Percentage : blur(10%)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is null
+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is ""
 
 Too many parameters : blur(1px 1px)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is null
+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is ""
 
 Too many parameters and commas : blur(1em, 1em)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is null
+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is ""
 
 Commas : blur(10px, 10px)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is null
+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is ""
 
 Trailing comma : blur(1em,)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is null
+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is ""
 
 No values : drop-shadow()
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is null
+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is ""
 
 Missing lengths : drop-shadow(red)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is null
+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is ""
 
 Not enough lengths : drop-shadow(red 1px)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is null
+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is ""
 
 Missing units : drop-shadow(red 1 2 3)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is null
+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is ""
 
 Inset : drop-shadow(red 1px 2px 3px inset)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is null
+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is ""
 
 Too many parameters : drop-shadow(red 1px 2px 3px 4px)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is null
+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is ""
 
 Commas : drop-shadow(red, 1px, 2px, 3px)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is null
+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is ""
 
 Negative radius : drop-shadow(10px 10px -1px red)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-backdrop-filter') is null
+PASS declaration.getPropertyValue('-webkit-backdrop-filter') is ""
 PASS successfullyParsed is true
 
 TEST COMPLETE
index cc32497..8a38f56 100644 (file)
@@ -18,7 +18,7 @@ function testInvalidFilterRule(description, rule)
 
     declaration = cssRule.style;
     shouldBe("declaration.length", "0");
-    shouldBe("declaration.getPropertyValue('-webkit-backdrop-filter')", "null");
+    shouldBeEqualToString("declaration.getPropertyValue('-webkit-backdrop-filter')", "");
 }
 
 testInvalidFilterRule("Too many parameters", "url(#a #b)");
index a5fb30a..f2b355e 100644 (file)
@@ -7,317 +7,317 @@ On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE
 Too many parameters : url(#a #b)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-filter') is null
+PASS declaration.getPropertyValue('-webkit-filter') is ""
 
 Length instead of number : grayscale(10px)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-filter') is null
+PASS declaration.getPropertyValue('-webkit-filter') is ""
 
 Too many parameters : grayscale(0.5 0.5)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-filter') is null
+PASS declaration.getPropertyValue('-webkit-filter') is ""
 
 Too many parameters and commas : grayscale(0.5, 0.5)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-filter') is null
+PASS declaration.getPropertyValue('-webkit-filter') is ""
 
 Trailing comma : grayscale(0.5,)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-filter') is null
+PASS declaration.getPropertyValue('-webkit-filter') is ""
 
 Negative parameter : grayscale(-0.5)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-filter') is null
+PASS declaration.getPropertyValue('-webkit-filter') is ""
 
 Negative percent : grayscale(-10%)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-filter') is null
+PASS declaration.getPropertyValue('-webkit-filter') is ""
 
 Parameter out of bounds : grayscale(1.5)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-filter') is null
+PASS declaration.getPropertyValue('-webkit-filter') is ""
 
 Too many parameters : sepia(0.5 0.5 3.0)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-filter') is null
+PASS declaration.getPropertyValue('-webkit-filter') is ""
 
 Too many parameters and commas : sepia(0.1, 0.1)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-filter') is null
+PASS declaration.getPropertyValue('-webkit-filter') is ""
 
 Trailing comma : sepia(0.5,)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-filter') is null
+PASS declaration.getPropertyValue('-webkit-filter') is ""
 
 Negative parameter : sepia(-0.01)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-filter') is null
+PASS declaration.getPropertyValue('-webkit-filter') is ""
 
 Negative percent : sepia(-10%)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-filter') is null
+PASS declaration.getPropertyValue('-webkit-filter') is ""
 
 Parameter out of bounds : sepia(10000)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-filter') is null
+PASS declaration.getPropertyValue('-webkit-filter') is ""
 
 Length instead of number : saturate(10px)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-filter') is null
+PASS declaration.getPropertyValue('-webkit-filter') is ""
 
 Too many parameters : saturate(0.5 0.5)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-filter') is null
+PASS declaration.getPropertyValue('-webkit-filter') is ""
 
 Too many parameters and commas : saturate(0.5, 0.5)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-filter') is null
+PASS declaration.getPropertyValue('-webkit-filter') is ""
 
 Trailing comma : saturate(0.5,)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-filter') is null
+PASS declaration.getPropertyValue('-webkit-filter') is ""
 
 Negative parameter : saturate(-0.5)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-filter') is null
+PASS declaration.getPropertyValue('-webkit-filter') is ""
 
 Negative percent : saturate(-10%)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-filter') is null
+PASS declaration.getPropertyValue('-webkit-filter') is ""
 
 Bare number : hue-rotate(10)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-filter') is null
+PASS declaration.getPropertyValue('-webkit-filter') is ""
 
 Length : hue-rotate(10px)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-filter') is null
+PASS declaration.getPropertyValue('-webkit-filter') is ""
 
 Too many parameters : hue-rotate(10deg 4)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-filter') is null
+PASS declaration.getPropertyValue('-webkit-filter') is ""
 
 Too many parameters and commas : hue-rotate(10deg, 5deg)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-filter') is null
+PASS declaration.getPropertyValue('-webkit-filter') is ""
 
 Trailing comma : hue-rotate(10deg,)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-filter') is null
+PASS declaration.getPropertyValue('-webkit-filter') is ""
 
 Length instead of number : invert(10px)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-filter') is null
+PASS declaration.getPropertyValue('-webkit-filter') is ""
 
 Too many parameters : invert(0.5 0.5)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-filter') is null
+PASS declaration.getPropertyValue('-webkit-filter') is ""
 
 Too many parameters and commas : invert(0.5, 0.5)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-filter') is null
+PASS declaration.getPropertyValue('-webkit-filter') is ""
 
 Trailing comma : invert(0.5,)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-filter') is null
+PASS declaration.getPropertyValue('-webkit-filter') is ""
 
 Negative parameter : invert(-0.5)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-filter') is null
+PASS declaration.getPropertyValue('-webkit-filter') is ""
 
 Parameter out of bounds : invert(1.5)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-filter') is null
+PASS declaration.getPropertyValue('-webkit-filter') is ""
 
 Length instead of number : opacity(10px)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-filter') is null
+PASS declaration.getPropertyValue('-webkit-filter') is ""
 
 Too many parameters : opacity(0.5 0.5)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-filter') is null
+PASS declaration.getPropertyValue('-webkit-filter') is ""
 
 Too many parameters and commas : opacity(0.5, 0.5)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-filter') is null
+PASS declaration.getPropertyValue('-webkit-filter') is ""
 
 Trailing comma : opacity(0.5,)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-filter') is null
+PASS declaration.getPropertyValue('-webkit-filter') is ""
 
 Negative parameter : opacity(-0.5)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-filter') is null
+PASS declaration.getPropertyValue('-webkit-filter') is ""
 
 Negative percent : opacity(-10%)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-filter') is null
+PASS declaration.getPropertyValue('-webkit-filter') is ""
 
 Parameter out of bounds : opacity(1.5)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-filter') is null
+PASS declaration.getPropertyValue('-webkit-filter') is ""
 
 Length instead of number : brightness(10px)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-filter') is null
+PASS declaration.getPropertyValue('-webkit-filter') is ""
 
 Too many parameters : brightness(0.5 0.5)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-filter') is null
+PASS declaration.getPropertyValue('-webkit-filter') is ""
 
 Too many parameters and commas : brightness(0.5, 0.5)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-filter') is null
+PASS declaration.getPropertyValue('-webkit-filter') is ""
 
 Trailing comma : brightness(0.5,)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-filter') is null
+PASS declaration.getPropertyValue('-webkit-filter') is ""
 
 Length instead of number : contrast(10px)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-filter') is null
+PASS declaration.getPropertyValue('-webkit-filter') is ""
 
 Too many parameters : contrast(0.5 0.5)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-filter') is null
+PASS declaration.getPropertyValue('-webkit-filter') is ""
 
 Too many parameters and commas : contrast(0.5, 0.5)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-filter') is null
+PASS declaration.getPropertyValue('-webkit-filter') is ""
 
 Trailing comma : contrast(0.5,)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-filter') is null
+PASS declaration.getPropertyValue('-webkit-filter') is ""
 
 Negative parameter : contrast(-0.5)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-filter') is null
+PASS declaration.getPropertyValue('-webkit-filter') is ""
 
 Negative percent : contrast(-10%)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-filter') is null
+PASS declaration.getPropertyValue('-webkit-filter') is ""
 
 Bare number : blur(1)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-filter') is null
+PASS declaration.getPropertyValue('-webkit-filter') is ""
 
 Negative number : blur(-1px)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-filter') is null
+PASS declaration.getPropertyValue('-webkit-filter') is ""
 
 Percentage : blur(10%)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-filter') is null
+PASS declaration.getPropertyValue('-webkit-filter') is ""
 
 Too many parameters : blur(1px 1px)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-filter') is null
+PASS declaration.getPropertyValue('-webkit-filter') is ""
 
 Too many parameters and commas : blur(1em, 1em)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-filter') is null
+PASS declaration.getPropertyValue('-webkit-filter') is ""
 
 Commas : blur(10px, 10px)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-filter') is null
+PASS declaration.getPropertyValue('-webkit-filter') is ""
 
 Trailing comma : blur(1em,)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-filter') is null
+PASS declaration.getPropertyValue('-webkit-filter') is ""
 
 No values : drop-shadow()
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-filter') is null
+PASS declaration.getPropertyValue('-webkit-filter') is ""
 
 Missing lengths : drop-shadow(red)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-filter') is null
+PASS declaration.getPropertyValue('-webkit-filter') is ""
 
 Not enough lengths : drop-shadow(red 1px)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-filter') is null
+PASS declaration.getPropertyValue('-webkit-filter') is ""
 
 Missing units : drop-shadow(red 1 2 3)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-filter') is null
+PASS declaration.getPropertyValue('-webkit-filter') is ""
 
 Inset : drop-shadow(red 1px 2px 3px inset)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-filter') is null
+PASS declaration.getPropertyValue('-webkit-filter') is ""
 
 Too many parameters : drop-shadow(red 1px 2px 3px 4px)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-filter') is null
+PASS declaration.getPropertyValue('-webkit-filter') is ""
 
 Commas : drop-shadow(red, 1px, 2px, 3px)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-filter') is null
+PASS declaration.getPropertyValue('-webkit-filter') is ""
 
 Negative radius : drop-shadow(10px 10px -1px red)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-filter') is null
+PASS declaration.getPropertyValue('-webkit-filter') is ""
 PASS successfullyParsed is true
 
 TEST COMPLETE
index 2487c26..b99cb5e 100644 (file)
@@ -18,7 +18,7 @@ function testInvalidFilterRule(description, rule)
 
     declaration = cssRule.style;
     shouldBe("declaration.length", "0");
-    shouldBe("declaration.getPropertyValue('-webkit-filter')", "null");
+    shouldBeEqualToString("declaration.getPropertyValue('-webkit-filter')", "");
 }
 
 testInvalidFilterRule("Too many parameters", "url(#a #b)");
index c117576..6d3d797 100644 (file)
@@ -1,7 +1,7 @@
 
-PASS -0.5 - inline - invalid 
-PASS -100 - inline - invalid 
-PASS nonNumber - inline - invalid 
-PASS 3/4 - inline - invalid 
-PASS 20% - inline - invalid 
+FAIL -0.5 - inline - invalid assert_equals: expected (object) null but got (string) ""
+FAIL -100 - inline - invalid assert_equals: expected (object) null but got (string) ""
+FAIL nonNumber - inline - invalid assert_equals: expected (object) null but got (string) ""
+FAIL 3/4 - inline - invalid assert_equals: expected (object) null but got (string) ""
+FAIL 20% - inline - invalid assert_equals: expected (object) null but got (string) ""
 
index e550b7c..30f80ab 100644 (file)
@@ -1,5 +1,5 @@
 
 PASS shape-image-threshold can be assigned 'inherit' value 
-PASS shape-image-threshold is not inherited and defaults to 0 
+FAIL shape-image-threshold is not inherited and defaults to 0 assert_equals: expected (object) null but got (string) ""
 PASS shape-margin is not inherited 
 
index 911da7d..6d5b187 100644 (file)
@@ -1,8 +1,8 @@
 
-PASS -20px - inline - invalid 
-PASS -.4567px - inline - invalid 
-PASS nonLength - inline - invalid 
-PASS 10 - inline - invalid 
+FAIL -20px - inline - invalid assert_equals: expected (object) null but got (string) ""
+FAIL -.4567px - inline - invalid assert_equals: expected (object) null but got (string) ""
+FAIL nonLength - inline - invalid assert_equals: expected (object) null but got (string) ""
+FAIL 10 - inline - invalid assert_equals: expected (object) null but got (string) ""
 PASS -20px - computed - invalid 
 PASS -.4567px - computed - invalid 
 PASS nonLength - computed - invalid 
index 0060f05..02e9cea 100644 (file)
@@ -1,5 +1,5 @@
 
 PASS shape-margin can be assigned 'inherit' value 
-PASS shape-margin is not inherited and defaults to 0px 
+FAIL shape-margin is not inherited and defaults to 0px assert_equals: expected (object) null but got (string) ""
 PASS shape-margin is not inherited 
 
index 67fd01d..7f63c42 100644 (file)
 
-PASS circle(at 50% left) is invalid 
-PASS circle(at 50px left) is invalid 
-PASS circle(at top 50%) is invalid 
-PASS circle(at 80% right) is invalid 
-PASS circle(at 80px right) is invalid 
-PASS circle(at bottom 70%) is invalid 
-PASS circle(at bottom 70px) is invalid 
-PASS circle(at center center 60%) is invalid 
-PASS circle(at center center 60px) is invalid 
-PASS circle(at left center 60%) is invalid 
-PASS circle(at left center 60px) is invalid 
-PASS circle(at left right 80%) is invalid 
-PASS circle(at left right 80px) is invalid 
-PASS circle(at left left 50%) is invalid 
-PASS circle(at left left 50px) is invalid 
-PASS circle(at top center 60%) is invalid 
-PASS circle(at top center 60px) is invalid 
-PASS circle(at top bottom 80%) is invalid 
-PASS circle(at top bottom 80px) is invalid 
-PASS circle(at top top 50%) is invalid 
-PASS circle(at top top 50px) is invalid 
-PASS circle(at bottom center 60%) is invalid 
-PASS circle(at bottom center 60px) is invalid 
-PASS circle(at bottom top 50%) is invalid 
-PASS circle(at bottom top 50px) is invalid 
-PASS circle(at bottom bottom 50%) is invalid 
-PASS circle(at bottom bottom 50px) is invalid 
-PASS circle(at right center 60%) is invalid 
-PASS circle(at right center 60px) is invalid 
-PASS circle(at right left 50%) is invalid 
-PASS circle(at right left 50px) is invalid 
-PASS circle(at right right 70%) is invalid 
-PASS circle(at right right 70px) is invalid 
-PASS circle(at center 60% top) is invalid 
-PASS circle(at center 60px top) is invalid 
-PASS circle(at center 60% bottom) is invalid 
-PASS circle(at center 60px bottom) is invalid 
-PASS circle(at center 60% left) is invalid 
-PASS circle(at center 60px left) is invalid 
-PASS circle(at center 60% right) is invalid 
-PASS circle(at center 60px right) is invalid 
-PASS circle(at center 60% center) is invalid 
-PASS circle(at center 60px center) is invalid 
-PASS circle(at left 50% right) is invalid 
-PASS circle(at left 50px right) is invalid 
-PASS circle(at left 50% left) is invalid 
-PASS circle(at left 50px left) is invalid 
-PASS circle(at top 50% bottom) is invalid 
-PASS circle(at top 50px bottom) is invalid 
-PASS circle(at top 50% top) is invalid 
-PASS circle(at top 50px top) is invalid 
-PASS circle(at bottom 70% top) is invalid 
-PASS circle(at bottom 70px top) is invalid 
-PASS circle(at bottom 70% bottom) is invalid 
-PASS circle(at bottom 70px bottom) is invalid 
-PASS circle(at right 80% left) is invalid 
-PASS circle(at right 80px left) is invalid 
-PASS circle(at center 60% top 50%) is invalid 
-PASS circle(at center 60% top 50px) is invalid 
-PASS circle(at center 60% bottom 70%) is invalid 
-PASS circle(at center 60% bottom 70px) is invalid 
-PASS circle(at center 60% left 50%) is invalid 
-PASS circle(at center 60% left 50px) is invalid 
-PASS circle(at center 60% right 70%) is invalid 
-PASS circle(at center 60% right 70px) is invalid 
-PASS circle(at center 60% center 65%) is invalid 
-PASS circle(at center 60% center 65px) is invalid 
-PASS circle(at center 60px top 50%) is invalid 
-PASS circle(at center 60px top 50px) is invalid 
-PASS circle(at center 60px bottom 70%) is invalid 
-PASS circle(at center 60px bottom 70px) is invalid 
-PASS circle(at center 60px left 50%) is invalid 
-PASS circle(at center 60px left 50px) is invalid 
-PASS circle(at center 60px right 70%) is invalid 
-PASS circle(at center 60px right 70px) is invalid 
-PASS circle(at center 60px center 65%) is invalid 
-PASS circle(at center 60px center 65px) is invalid 
-PASS circle(at left 50% center 60%) is invalid 
-PASS circle(at left 50% center 60px) is invalid 
-PASS circle(at left 50% right 80%) is invalid 
-PASS circle(at left 50% right 80px) is invalid 
-PASS circle(at left 50% left 50%) is invalid 
-PASS circle(at left 50% left 50px) is invalid 
-PASS circle(at left 50px center 60%) is invalid 
-PASS circle(at left 50px center 60px) is invalid 
-PASS circle(at left 50px right 80%) is invalid 
-PASS circle(at left 50px right 80px) is invalid 
-PASS circle(at left 50px left 50%) is invalid 
-PASS circle(at left 50px left 50px) is invalid 
-PASS circle(at top 50% center 60%) is invalid 
-PASS circle(at top 50% center 60px) is invalid 
-PASS circle(at top 50% bottom 50%) is invalid 
-PASS circle(at top 50% bottom 50px) is invalid 
-PASS circle(at top 50% top 50%) is invalid 
-PASS circle(at top 50% top 50px) is invalid 
-PASS circle(at top 50px center 60%) is invalid 
-PASS circle(at top 50px center 60px) is invalid 
-PASS circle(at top 50px bottom 70%) is invalid 
-PASS circle(at top 50px bottom 70px) is invalid 
-PASS circle(at top 50px top 50%) is invalid 
-PASS circle(at top 50px top 50px) is invalid 
-PASS circle(at bottom 70% center 60%) is invalid 
-PASS circle(at bottom 70% center 60px) is invalid 
-PASS circle(at bottom 70% top 50%) is invalid 
-PASS circle(at bottom 70% top 50px) is invalid 
-PASS circle(at bottom 70% bottom 50%) is invalid 
-PASS circle(at bottom 70% bottom 50px) is invalid 
-PASS circle(at bottom 70px center 60%) is invalid 
-PASS circle(at bottom 70px center 60px) is invalid 
-PASS circle(at bottom 70px top 50%) is invalid 
-PASS circle(at bottom 70px top 50px) is invalid 
-PASS circle(at bottom 70px bottom 50%) is invalid 
-PASS circle(at bottom 70px bottom 50px) is invalid 
-PASS circle(at right 80% center 60%) is invalid 
-PASS circle(at right 80% center 60px) is invalid 
-PASS circle(at right 80% left 50%) is invalid 
-PASS circle(at right 80% left 50px) is invalid 
-PASS circle(at right 80% right 85%) is invalid 
-PASS circle(at right 80% right 85px) is invalid 
-PASS circle(at right 80px center 60%) is invalid 
-PASS circle(at right 80px center 60px) is invalid 
-PASS circle(at right 80px left 50%) is invalid 
-PASS circle(at right 80px left 50px) is invalid 
-PASS circle(at right 80px right 85%) is invalid 
-PASS circle(at right 80px right 85px) is invalid 
+FAIL circle(at 50% left) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at 50px left) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at top 50%) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at 80% right) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at 80px right) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at bottom 70%) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at bottom 70px) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at center center 60%) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at center center 60px) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at left center 60%) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at left center 60px) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at left right 80%) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at left right 80px) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at left left 50%) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at left left 50px) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at top center 60%) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at top center 60px) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at top bottom 80%) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at top bottom 80px) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at top top 50%) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at top top 50px) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at bottom center 60%) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at bottom center 60px) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at bottom top 50%) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at bottom top 50px) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at bottom bottom 50%) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at bottom bottom 50px) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at right center 60%) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at right center 60px) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at right left 50%) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at right left 50px) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at right right 70%) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at right right 70px) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at center 60% top) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at center 60px top) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at center 60% bottom) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at center 60px bottom) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at center 60% left) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at center 60px left) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at center 60% right) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at center 60px right) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at center 60% center) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at center 60px center) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at left 50% right) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at left 50px right) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at left 50% left) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at left 50px left) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at top 50% bottom) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at top 50px bottom) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at top 50% top) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at top 50px top) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at bottom 70% top) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at bottom 70px top) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at bottom 70% bottom) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at bottom 70px bottom) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at right 80% left) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at right 80px left) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at center 60% top 50%) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at center 60% top 50px) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at center 60% bottom 70%) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at center 60% bottom 70px) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at center 60% left 50%) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at center 60% left 50px) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at center 60% right 70%) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at center 60% right 70px) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at center 60% center 65%) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at center 60% center 65px) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at center 60px top 50%) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at center 60px top 50px) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at center 60px bottom 70%) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at center 60px bottom 70px) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at center 60px left 50%) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at center 60px left 50px) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at center 60px right 70%) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at center 60px right 70px) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at center 60px center 65%) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at center 60px center 65px) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at left 50% center 60%) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at left 50% center 60px) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at left 50% right 80%) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at left 50% right 80px) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at left 50% left 50%) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at left 50% left 50px) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at left 50px center 60%) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at left 50px center 60px) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at left 50px right 80%) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at left 50px right 80px) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at left 50px left 50%) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at left 50px left 50px) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at top 50% center 60%) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at top 50% center 60px) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at top 50% bottom 50%) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at top 50% bottom 50px) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at top 50% top 50%) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at top 50% top 50px) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at top 50px center 60%) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at top 50px center 60px) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at top 50px bottom 70%) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at top 50px bottom 70px) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at top 50px top 50%) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at top 50px top 50px) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at bottom 70% center 60%) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at bottom 70% center 60px) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at bottom 70% top 50%) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at bottom 70% top 50px) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at bottom 70% bottom 50%) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at bottom 70% bottom 50px) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at bottom 70px center 60%) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at bottom 70px center 60px) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at bottom 70px top 50%) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at bottom 70px top 50px) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at bottom 70px bottom 50%) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at bottom 70px bottom 50px) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at right 80% center 60%) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at right 80% center 60px) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at right 80% left 50%) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at right 80% left 50px) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at right 80% right 85%) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at right 80% right 85px) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at right 80px center 60%) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at right 80px center 60px) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at right 80px left 50%) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at right 80px left 50px) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at right 80px right 85%) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at right 80px right 85px) is invalid assert_equals: expected (object) null but got (string) ""
 
index 32079c2..4833a27 100644 (file)
@@ -15,6 +15,6 @@ PASS circle(+10%) - computed
 PASS circle(+10.00%) - computed 
 PASS circle(+20.350%) - computed 
 PASS circle(+30.5%) - computed 
-PASS circle(-20px) - invalid 
-PASS circle(-20.340px) - invalid 
+FAIL circle(-20px) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(-20.340px) - invalid assert_equals: expected (object) null but got (string) ""
 
index 7a29b6b..1a9ce2a 100644 (file)
@@ -1,18 +1,18 @@
 
-PASS circle(foo) - invalid 
-PASS circle(10) - invalid 
-PASS circle(20px 30px) - invalid 
-PASS circle(20% 30%) - invalid 
-PASS circle(20px, 30px) - invalid 
-PASS circle(20%, 30%) - invalid 
-PASS circle(20px closest-side) - invalid 
-PASS circle(20px farthest-side) - invalid 
-PASS circle(closest-side 20px) - invalid 
-PASS circle(farthest-side 20px) - invalid 
-PASS circle(20% closest-side) - invalid 
-PASS circle(20% farthest-side) - invalid 
-PASS circle(closest-side 20%) - invalid 
-PASS circle(farthest-side 20%) - invalid 
-PASS circle(closest-side farthest-side) - invalid 
-PASS circle(farthest-side closest-side) - invalid 
+FAIL circle(foo) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(10) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(20px 30px) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(20% 30%) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(20px, 30px) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(20%, 30%) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(20px closest-side) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(20px farthest-side) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(closest-side 20px) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(farthest-side 20px) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(20% closest-side) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(20% farthest-side) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(closest-side 20%) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(farthest-side 20%) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(closest-side farthest-side) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(farthest-side closest-side) - invalid assert_equals: expected (object) null but got (string) ""
 
index 57de30f..03ed8b6 100644 (file)
@@ -1,26 +1,26 @@
 
-PASS circle(at foo) - invalid 
-PASS circle(at 50) - invalid 
-PASS circle(at 10px 20px 30px) - invalid 
-PASS circle(at 20% 30% 40%) - invalid 
-PASS circle(at 20px, 30px) - invalid 
-PASS circle(at 20%, 30%) - invalid 
-PASS circle(at 20px, 30px, 40px) - invalid 
-PASS circle(at 20%, 30%, 40%) - invalid 
-PASS circle(at closest-side) - invalid 
-PASS circle(at farthest-side) - invalid 
-PASS circle(at 20px 30px closest-side) - invalid 
-PASS circle(at 20px 30px farthest-side) - invalid 
-PASS circle(at 20px 30px foo) - invalid 
-PASS circle(at closest-side 20px 30px) - invalid 
-PASS circle(at farthest-side 20px 30px) - invalid 
-PASS circle(at 20% 30% closest-side) - invalid 
-PASS circle(at 20% 30% farthest-side) - invalid 
-PASS circle(at closest-side 20% 30%) - invalid 
-PASS circle(at farthest-side 20% 30%) - invalid 
-PASS circle(at closest-side farthest-side 20px) - invalid 
-PASS circle(at closest-side farthest-side 20%) - invalid 
-PASS circle(at farthest-side closest-side closest-side) - invalid 
-PASS circle(at farthest-side, closest-side, closest-side) - invalid 
-PASS circle(at left 50x top 50px bottom) - invalid 
+FAIL circle(at foo) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at 50) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at 10px 20px 30px) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at 20% 30% 40%) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at 20px, 30px) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at 20%, 30%) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at 20px, 30px, 40px) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at 20%, 30%, 40%) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at closest-side) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at farthest-side) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at 20px 30px closest-side) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at 20px 30px farthest-side) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at 20px 30px foo) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at closest-side 20px 30px) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at farthest-side 20px 30px) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at 20% 30% closest-side) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at 20% 30% farthest-side) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at closest-side 20% 30%) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at farthest-side 20% 30%) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at closest-side farthest-side 20px) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at closest-side farthest-side 20%) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at farthest-side closest-side closest-side) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at farthest-side, closest-side, closest-side) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL circle(at left 50x top 50px bottom) - invalid assert_equals: expected (object) null but got (string) ""
 
index eec8d93..7ef8a5b 100644 (file)
 
-PASS ellipse(at 50% left) is invalid 
-PASS ellipse(at 50px left) is invalid 
-PASS ellipse(at top 50%) is invalid 
-PASS ellipse(at 80% right) is invalid 
-PASS ellipse(at 80px right) is invalid 
-PASS ellipse(at bottom 70%) is invalid 
-PASS ellipse(at bottom 70px) is invalid 
-PASS ellipse(at center center 60%) is invalid 
-PASS ellipse(at center center 60px) is invalid 
-PASS ellipse(at left center 60%) is invalid 
-PASS ellipse(at left center 60px) is invalid 
-PASS ellipse(at left right 80%) is invalid 
-PASS ellipse(at left right 80px) is invalid 
-PASS ellipse(at left left 50%) is invalid 
-PASS ellipse(at left left 50px) is invalid 
-PASS ellipse(at top center 60%) is invalid 
-PASS ellipse(at top center 60px) is invalid 
-PASS ellipse(at top bottom 80%) is invalid 
-PASS ellipse(at top bottom 80px) is invalid 
-PASS ellipse(at top top 50%) is invalid 
-PASS ellipse(at top top 50px) is invalid 
-PASS ellipse(at bottom center 60%) is invalid 
-PASS ellipse(at bottom center 60px) is invalid 
-PASS ellipse(at bottom top 50%) is invalid 
-PASS ellipse(at bottom top 50px) is invalid 
-PASS ellipse(at bottom bottom 50%) is invalid 
-PASS ellipse(at bottom bottom 50px) is invalid 
-PASS ellipse(at right center 60%) is invalid 
-PASS ellipse(at right center 60px) is invalid 
-PASS ellipse(at right left 50%) is invalid 
-PASS ellipse(at right left 50px) is invalid 
-PASS ellipse(at right right 70%) is invalid 
-PASS ellipse(at right right 70px) is invalid 
-PASS ellipse(at center 60% top) is invalid 
-PASS ellipse(at center 60px top) is invalid 
-PASS ellipse(at center 60% bottom) is invalid 
-PASS ellipse(at center 60px bottom) is invalid 
-PASS ellipse(at center 60% left) is invalid 
-PASS ellipse(at center 60px left) is invalid 
-PASS ellipse(at center 60% right) is invalid 
-PASS ellipse(at center 60px right) is invalid 
-PASS ellipse(at center 60% center) is invalid 
-PASS ellipse(at center 60px center) is invalid 
-PASS ellipse(at left 50% right) is invalid 
-PASS ellipse(at left 50px right) is invalid 
-PASS ellipse(at left 50% left) is invalid 
-PASS ellipse(at left 50px left) is invalid 
-PASS ellipse(at top 50% bottom) is invalid 
-PASS ellipse(at top 50px bottom) is invalid 
-PASS ellipse(at top 50% top) is invalid 
-PASS ellipse(at top 50px top) is invalid 
-PASS ellipse(at bottom 70% top) is invalid 
-PASS ellipse(at bottom 70px top) is invalid 
-PASS ellipse(at bottom 70% bottom) is invalid 
-PASS ellipse(at bottom 70px bottom) is invalid 
-PASS ellipse(at right 80% left) is invalid 
-PASS ellipse(at right 80px left) is invalid 
-PASS ellipse(at center 60% top 50%) is invalid 
-PASS ellipse(at center 60% top 50px) is invalid 
-PASS ellipse(at center 60% bottom 70%) is invalid 
-PASS ellipse(at center 60% bottom 70px) is invalid 
-PASS ellipse(at center 60% left 50%) is invalid 
-PASS ellipse(at center 60% left 50px) is invalid 
-PASS ellipse(at center 60% right 70%) is invalid 
-PASS ellipse(at center 60% right 70px) is invalid 
-PASS ellipse(at center 60% center 65%) is invalid 
-PASS ellipse(at center 60% center 65px) is invalid 
-PASS ellipse(at center 60px top 50%) is invalid 
-PASS ellipse(at center 60px top 50px) is invalid 
-PASS ellipse(at center 60px bottom 70%) is invalid 
-PASS ellipse(at center 60px bottom 70px) is invalid 
-PASS ellipse(at center 60px left 50%) is invalid 
-PASS ellipse(at center 60px left 50px) is invalid 
-PASS ellipse(at center 60px right 70%) is invalid 
-PASS ellipse(at center 60px right 70px) is invalid 
-PASS ellipse(at center 60px center 65%) is invalid 
-PASS ellipse(at center 60px center 65px) is invalid 
-PASS ellipse(at left 50% center 60%) is invalid 
-PASS ellipse(at left 50% center 60px) is invalid 
-PASS ellipse(at left 50% right 80%) is invalid 
-PASS ellipse(at left 50% right 80px) is invalid 
-PASS ellipse(at left 50% left 50%) is invalid 
-PASS ellipse(at left 50% left 50px) is invalid 
-PASS ellipse(at left 50px center 60%) is invalid 
-PASS ellipse(at left 50px center 60px) is invalid 
-PASS ellipse(at left 50px right 80%) is invalid 
-PASS ellipse(at left 50px right 80px) is invalid 
-PASS ellipse(at left 50px left 50%) is invalid 
-PASS ellipse(at left 50px left 50px) is invalid 
-PASS ellipse(at top 50% center 60%) is invalid 
-PASS ellipse(at top 50% center 60px) is invalid 
-PASS ellipse(at top 50% bottom 50%) is invalid 
-PASS ellipse(at top 50% bottom 50px) is invalid 
-PASS ellipse(at top 50% top 50%) is invalid 
-PASS ellipse(at top 50% top 50px) is invalid 
-PASS ellipse(at top 50px center 60%) is invalid 
-PASS ellipse(at top 50px center 60px) is invalid 
-PASS ellipse(at top 50px bottom 70%) is invalid 
-PASS ellipse(at top 50px bottom 70px) is invalid 
-PASS ellipse(at top 50px top 50%) is invalid 
-PASS ellipse(at top 50px top 50px) is invalid 
-PASS ellipse(at bottom 70% center 60%) is invalid 
-PASS ellipse(at bottom 70% center 60px) is invalid 
-PASS ellipse(at bottom 70% top 50%) is invalid 
-PASS ellipse(at bottom 70% top 50px) is invalid 
-PASS ellipse(at bottom 70% bottom 50%) is invalid 
-PASS ellipse(at bottom 70% bottom 50px) is invalid 
-PASS ellipse(at bottom 70px center 60%) is invalid 
-PASS ellipse(at bottom 70px center 60px) is invalid 
-PASS ellipse(at bottom 70px top 50%) is invalid 
-PASS ellipse(at bottom 70px top 50px) is invalid 
-PASS ellipse(at bottom 70px bottom 50%) is invalid 
-PASS ellipse(at bottom 70px bottom 50px) is invalid 
-PASS ellipse(at right 80% center 60%) is invalid 
-PASS ellipse(at right 80% center 60px) is invalid 
-PASS ellipse(at right 80% left 50%) is invalid 
-PASS ellipse(at right 80% left 50px) is invalid 
-PASS ellipse(at right 80% right 85%) is invalid 
-PASS ellipse(at right 80% right 85px) is invalid 
-PASS ellipse(at right 80px center 60%) is invalid 
-PASS ellipse(at right 80px center 60px) is invalid 
-PASS ellipse(at right 80px left 50%) is invalid 
-PASS ellipse(at right 80px left 50px) is invalid 
-PASS ellipse(at right 80px right 85%) is invalid 
-PASS ellipse(at right 80px right 85px) is invalid 
+FAIL ellipse(at 50% left) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at 50px left) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at top 50%) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at 80% right) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at 80px right) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at bottom 70%) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at bottom 70px) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at center center 60%) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at center center 60px) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at left center 60%) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at left center 60px) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at left right 80%) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at left right 80px) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at left left 50%) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at left left 50px) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at top center 60%) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at top center 60px) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at top bottom 80%) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at top bottom 80px) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at top top 50%) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at top top 50px) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at bottom center 60%) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at bottom center 60px) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at bottom top 50%) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at bottom top 50px) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at bottom bottom 50%) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at bottom bottom 50px) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at right center 60%) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at right center 60px) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at right left 50%) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at right left 50px) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at right right 70%) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at right right 70px) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at center 60% top) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at center 60px top) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at center 60% bottom) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at center 60px bottom) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at center 60% left) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at center 60px left) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at center 60% right) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at center 60px right) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at center 60% center) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at center 60px center) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at left 50% right) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at left 50px right) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at left 50% left) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at left 50px left) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at top 50% bottom) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at top 50px bottom) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at top 50% top) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at top 50px top) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at bottom 70% top) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at bottom 70px top) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at bottom 70% bottom) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at bottom 70px bottom) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at right 80% left) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at right 80px left) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at center 60% top 50%) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at center 60% top 50px) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at center 60% bottom 70%) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at center 60% bottom 70px) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at center 60% left 50%) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at center 60% left 50px) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at center 60% right 70%) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at center 60% right 70px) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at center 60% center 65%) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at center 60% center 65px) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at center 60px top 50%) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at center 60px top 50px) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at center 60px bottom 70%) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at center 60px bottom 70px) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at center 60px left 50%) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at center 60px left 50px) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at center 60px right 70%) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at center 60px right 70px) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at center 60px center 65%) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at center 60px center 65px) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at left 50% center 60%) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at left 50% center 60px) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at left 50% right 80%) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at left 50% right 80px) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at left 50% left 50%) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at left 50% left 50px) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at left 50px center 60%) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at left 50px center 60px) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at left 50px right 80%) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at left 50px right 80px) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at left 50px left 50%) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at left 50px left 50px) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at top 50% center 60%) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at top 50% center 60px) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at top 50% bottom 50%) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at top 50% bottom 50px) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at top 50% top 50%) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at top 50% top 50px) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at top 50px center 60%) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at top 50px center 60px) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at top 50px bottom 70%) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at top 50px bottom 70px) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at top 50px top 50%) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at top 50px top 50px) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at bottom 70% center 60%) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at bottom 70% center 60px) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at bottom 70% top 50%) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at bottom 70% top 50px) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at bottom 70% bottom 50%) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at bottom 70% bottom 50px) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at bottom 70px center 60%) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at bottom 70px center 60px) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at bottom 70px top 50%) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at bottom 70px top 50px) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at bottom 70px bottom 50%) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at bottom 70px bottom 50px) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at right 80% center 60%) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at right 80% center 60px) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at right 80% left 50%) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at right 80% left 50px) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at right 80% right 85%) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at right 80% right 85px) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at right 80px center 60%) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at right 80px center 60px) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at right 80px left 50%) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at right 80px left 50px) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at right 80px right 85%) is invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at right 80px right 85px) is invalid assert_equals: expected (object) null but got (string) ""
 
index a0306a8..c4c98bb 100644 (file)
@@ -23,7 +23,7 @@ PASS ellipse(+50% +60%) - computed
 PASS ellipse(+10.00% +20.230%) - computed 
 PASS ellipse(+30.00% 40.567%) - computed 
 PASS ellipse(50.10% +60.7%) - computed 
-PASS ellipse(-10px -20px) - invalid 
-PASS ellipse(-30px 40px) - invalid 
-PASS ellipse(50px -60px) - invalid 
+FAIL ellipse(-10px -20px) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(-30px 40px) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(50px -60px) - invalid assert_equals: expected (object) null but got (string) ""
 
index d6db60a..36c280a 100644 (file)
@@ -1,20 +1,20 @@
 
-PASS ellipse(foo) - invalid 
-PASS ellipse(10) - invalid 
-PASS ellipse(20px 30px 40px) - invalid 
-PASS ellipse(20% 30% 40%) - invalid 
-PASS ellipse(20px, 30px, 40px) - invalid 
-PASS ellipse(20%, 30%, 40%) - invalid 
-PASS ellipse(20px 30px closest-side) - invalid 
-PASS ellipse(20px 30px farthest-side) - invalid 
-PASS ellipse(closest-side 20px 30px) - invalid 
-PASS ellipse(farthest-side 20px 30px) - invalid 
-PASS ellipse(20% 30% closest-side) - invalid 
-PASS ellipse(20% 30% farthest-side) - invalid 
-PASS ellipse(closest-side 20% 30%) - invalid 
-PASS ellipse(farthest-side 20% 30%) - invalid 
-PASS ellipse(closest-side farthest-side 20px) - invalid 
-PASS ellipse(closest-side farthest-side 20%) - invalid 
-PASS ellipse(farthest-side closest-side closest-side) - invalid 
-PASS ellipse(farthest-side, closest-side, closest-side) - invalid 
+FAIL ellipse(foo) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(10) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(20px 30px 40px) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(20% 30% 40%) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(20px, 30px, 40px) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(20%, 30%, 40%) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(20px 30px closest-side) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(20px 30px farthest-side) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(closest-side 20px 30px) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(farthest-side 20px 30px) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(20% 30% closest-side) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(20% 30% farthest-side) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(closest-side 20% 30%) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(farthest-side 20% 30%) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(closest-side farthest-side 20px) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(closest-side farthest-side 20%) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(farthest-side closest-side closest-side) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(farthest-side, closest-side, closest-side) - invalid assert_equals: expected (object) null but got (string) ""
 
index 4880590..7b5b2e5 100644 (file)
@@ -1,26 +1,26 @@
 
-PASS ellipse(at foo) - invalid 
-PASS ellipse(at 50) - invalid 
-PASS ellipse(at 10px 20px 30px) - invalid 
-PASS ellipse(at 20% 30% 40%) - invalid 
-PASS ellipse(at 20px, 30px) - invalid 
-PASS ellipse(at 20%, 30%) - invalid 
-PASS ellipse(at 20px, 30px, 40px) - invalid 
-PASS ellipse(at 20%, 30%, 40%) - invalid 
-PASS ellipse(at closest-side) - invalid 
-PASS ellipse(at farthest-side) - invalid 
-PASS ellipse(at 20px 30px closest-side) - invalid 
-PASS ellipse(at 20px 30px farthest-side) - invalid 
-PASS ellipse(at 20px 30px foo) - invalid 
-PASS ellipse(at closest-side 20px 30px) - invalid 
-PASS ellipse(at farthest-side 20px 30px) - invalid 
-PASS ellipse(at 20% 30% closest-side) - invalid 
-PASS ellipse(at 20% 30% farthest-side) - invalid 
-PASS ellipse(at closest-side 20% 30%) - invalid 
-PASS ellipse(at farthest-side 20% 30%) - invalid 
-PASS ellipse(at closest-side farthest-side 20px) - invalid 
-PASS ellipse(at closest-side farthest-side 20%) - invalid 
-PASS ellipse(at farthest-side closest-side closest-side) - invalid 
-PASS ellipse(at farthest-side, closest-side, closest-side) - invalid 
-PASS ellipse(at left 50x top 50px bottom) - invalid 
+FAIL ellipse(at foo) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at 50) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at 10px 20px 30px) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at 20% 30% 40%) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at 20px, 30px) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at 20%, 30%) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at 20px, 30px, 40px) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at 20%, 30%, 40%) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at closest-side) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at farthest-side) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at 20px 30px closest-side) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at 20px 30px farthest-side) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at 20px 30px foo) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at closest-side 20px 30px) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at farthest-side 20px 30px) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at 20% 30% closest-side) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at 20% 30% farthest-side) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at closest-side 20% 30%) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at farthest-side 20% 30%) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at closest-side farthest-side 20px) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at closest-side farthest-side 20%) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at farthest-side closest-side closest-side) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at farthest-side, closest-side, closest-side) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL ellipse(at left 50x top 50px bottom) - invalid assert_equals: expected (object) null but got (string) ""
 
index f868bbc..6c6d323 100644 (file)
@@ -1,15 +1,15 @@
 
-PASS inset(10 20px 30px 40px) - invalid 
-PASS inset(10px 20 30px 40px) - invalid 
-PASS inset(10px, 20px 30 40px) - invalid 
-PASS inset(10px  20px 30px 40) - invalid 
-PASS inset(10 20 30 40) - invalid 
-PASS inset(10px, 20px, 30px, 40px) - invalid 
-PASS inset(10px, 20px, 30px 40px) - invalid 
-PASS inset(10px, 20px 30px 40px) - invalid 
-PASS inset(10px  20px, 30px, 40px) - invalid 
-PASS inset(10px  20px 30px, 40px) - invalid 
-PASS inset(foo bar blah woo) - invalid 
-PASS inset(10px roo 30px coo) - invalid 
-PASS inset(may 20px blah 40px) - invalid 
+FAIL inset(10 20px 30px 40px) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL inset(10px 20 30px 40px) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL inset(10px, 20px 30 40px) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL inset(10px  20px 30px 40) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL inset(10 20 30 40) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL inset(10px, 20px, 30px, 40px) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL inset(10px, 20px, 30px 40px) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL inset(10px, 20px 30px 40px) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL inset(10px  20px, 30px, 40px) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL inset(10px  20px 30px, 40px) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL inset(foo bar blah woo) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL inset(10px roo 30px coo) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL inset(may 20px blah 40px) - invalid assert_equals: expected (object) null but got (string) ""
 
index 54cf90e..23a3f64 100644 (file)
@@ -17,8 +17,8 @@ PASS inset(10px round 10.1200px 20.34px 30.56px 40.780px / 10.1200px 20.34px 30.
 PASS inset(10px round 10.123px 20.00px 30.10px 40.5678px / 10.123px 20.00px 30.10px 40.5678px) - computed 
 PASS inset(10px round +10.1200px +20.340px +30.56px +40.780px / +10.1200px +20.340px +30.56px +40.780px) - computed 
 PASS inset(10px round +10.123px +20.00px +30.10px +40.5678px / 10.123px +20.00px +30.10px +40.5678px) - computed 
-PASS inset(10px round -10px -20px -30px -40px) - invalid 
-PASS inset(10px round -10.1200px -20.340px -30.56px -40.780px) - invalid 
-PASS inset(10px round -10px -20px -30px -40px / -10px -20px -30px -40px) - invalid 
-PASS inset(10px round -10.123px -20.00px -30.10px -40.5678px / 10.123px -20.00px -30.10px -40.5678px) - invalid 
+FAIL inset(10px round -10px -20px -30px -40px) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL inset(10px round -10.1200px -20.340px -30.56px -40.780px) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL inset(10px round -10px -20px -30px -40px / -10px -20px -30px -40px) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL inset(10px round -10.123px -20.00px -30.10px -40.5678px / 10.123px -20.00px -30.10px -40.5678px) - invalid assert_equals: expected (object) null but got (string) ""
 
index fd077ad..920816d 100644 (file)
@@ -1,21 +1,21 @@
 
-PASS inset(10px round 10 20 30 40) - invalid 
-PASS inset(10px round 10px 20 30 40) - invalid 
-PASS inset(10px round 10px 20px 30 40) - invalid 
-PASS inset(10px round 10px 20px 30px 40) - invalid 
-PASS inset(10px round 10px 20px 30px 40px / 10 20 30 40) - invalid 
-PASS inset(10px round 10px 20px 30px 40px / 10px 20 30 40) - invalid 
-PASS inset(10px round 10px 20px 30px 40px / 10px 20px 30 40) - invalid 
-PASS inset(10px round 10px 20px 30px 40px / 10px 20px 30px 40) - invalid 
-PASS inset(10px round  10px, 20px, 30px, 40px) - invalid 
-PASS inset(10px round  10px, 20px, 30px 40px) - invalid 
-PASS inset(10px round  10px, 20px 30px 40px) - invalid 
-PASS inset(10px round  10px 20px, 30px, 40px) - invalid 
-PASS inset(10px round  10px 20px 30px, 40px) - invalid 
-PASS inset(10px round  10px, 20px, 30px, 40px / 10px, 20px, 30px, 40px) - invalid 
-PASS inset(10px round  10px 20px, 30px, 40px / 10px 20px, 30px, 40) - invalid 
-PASS inset(10px round  10px 20px 30px, 40px / 10px 20px 30px, 40) - invalid 
-PASS inset(10px round  foo, bar, boo, $$) - invalid 
-PASS inset(10px round  10px, xx, px pt) - invalid 
-PASS inset(10px round  word) - invalid 
+FAIL inset(10px round 10 20 30 40) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL inset(10px round 10px 20 30 40) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL inset(10px round 10px 20px 30 40) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL inset(10px round 10px 20px 30px 40) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL inset(10px round 10px 20px 30px 40px / 10 20 30 40) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL inset(10px round 10px 20px 30px 40px / 10px 20 30 40) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL inset(10px round 10px 20px 30px 40px / 10px 20px 30 40) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL inset(10px round 10px 20px 30px 40px / 10px 20px 30px 40) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL inset(10px round  10px, 20px, 30px, 40px) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL inset(10px round  10px, 20px, 30px 40px) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL inset(10px round  10px, 20px 30px 40px) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL inset(10px round  10px 20px, 30px, 40px) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL inset(10px round  10px 20px 30px, 40px) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL inset(10px round  10px, 20px, 30px, 40px / 10px, 20px, 30px, 40px) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL inset(10px round  10px 20px, 30px, 40px / 10px 20px, 30px, 40) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL inset(10px round  10px 20px 30px, 40px / 10px 20px 30px, 40) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL inset(10px round  foo, bar, boo, $$) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL inset(10px round  10px, xx, px pt) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL inset(10px round  word) - invalid assert_equals: expected (object) null but got (string) ""
 
index c2f39f6..df147e2 100644 (file)
@@ -1,18 +1,18 @@
 
-PASS polygon() - invalid 
-PASS polygon(evenodd) - invalid 
-PASS polygon(nonzero) - invalid 
-PASS polygon(evenodd, foo bar) - invalid 
-PASS polygon(nonzero, bar foo) - invalid 
-PASS polygon(foo, 1px 2px) - invalid 
-PASS polygon(evenodd 1px 2px) - invalid 
-PASS polygon(nonzero 1px 2px) - invalid 
-PASS polygon(1px) - invalid 
-PASS polygon(1px 2px 3px) - invalid 
-PASS polygon(1px 2px 3px 4px) - invalid 
-PASS polygon(1px, 2px) - invalid 
-PASS polygon(1px 2px evenodd) - invalid 
-PASS polygon(1px 2px nonzero) - invalid 
-PASS polygon(evenodd, 10 20) - invalid 
-PASS polygon(nonzero, 10 20) - invalid 
+FAIL polygon() - invalid assert_equals: expected (object) null but got (string) ""
+FAIL polygon(evenodd) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL polygon(nonzero) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL polygon(evenodd, foo bar) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL polygon(nonzero, bar foo) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL polygon(foo, 1px 2px) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL polygon(evenodd 1px 2px) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL polygon(nonzero 1px 2px) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL polygon(1px) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL polygon(1px 2px 3px) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL polygon(1px 2px 3px 4px) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL polygon(1px, 2px) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL polygon(1px 2px evenodd) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL polygon(1px 2px nonzero) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL polygon(evenodd, 10 20) - invalid assert_equals: expected (object) null but got (string) ""
+FAIL polygon(nonzero, 10 20) - invalid assert_equals: expected (object) null but got (string) ""
 
index 8c7c038..a65ca80 100644 (file)
@@ -19,8 +19,8 @@ PASS test("background: purple url(resources/gradient.gif) repeat center") is "re
 PASS test("background: purple url(resources/gradient.gif) no-repeat 12px") is "no-repeat"
 PASS test("background: purple url(resources/gradient.gif) round left 50") is "round"
 PASS test("background: purple url(resources/gradient.gif) space 25 25") is "space"
-PASS test("background-repeat: 45;") is null
-PASS test("background-repeat: coconut;") is null
+PASS test("background-repeat: 45;") is ""
+PASS test("background-repeat: coconut;") is ""
 PASS successfullyParsed is true
 
 TEST COMPLETE
index c8fcd4e..8c6946a 100644 (file)
@@ -30,5 +30,5 @@ shouldBe('test("background: purple url(resources/gradient.gif) no-repeat 12px")'
 shouldBe('test("background: purple url(resources/gradient.gif) round left 50")', '"round"');
 shouldBe('test("background: purple url(resources/gradient.gif) space 25 25")', '"space"');
 
-shouldBe('test("background-repeat: 45;")', 'null');
-shouldBe('test("background-repeat: coconut;")', 'null');
+shouldBe('test("background-repeat: 45;")', '""');
+shouldBe('test("background-repeat: coconut;")', '""');
index f7cf765..63c79d4 100644 (file)
@@ -16,9 +16,9 @@ PASS test("background-size: 30% 20%;") is "30% 20%"
 PASS test("background-size: 4em auto;") is "4em"
 PASS test("background-size: 5em;") is "5em"
 PASS test("-webkit-background-size: 5em ;") is "5em"
-PASS test("background-size: 100 100 100;") is null
-PASS test("background-size: coconut;") is null
-PASS test("background-size: 100px,;") is null
+PASS test("background-size: 100 100 100;") is ""
+PASS test("background-size: coconut;") is ""
+PASS test("background-size: 100px,;") is ""
 PASS test("background-size: 100px, 50%;") is "100px, 50%"
 PASS test("-webkit-background-size: 100px, 50%;") is "100px, 50%"
 PASS test("background-size: 50% 100px, 2em, 100px 50%;") is "50% 100px, 2em, 100px 50%"
index b2fa902..5c6566a 100644 (file)
@@ -25,10 +25,10 @@ shouldBe('test("background-size: 4em auto;")', '"4em"');
 shouldBe('test("background-size: 5em;")', '"5em"');
 shouldBe('test("-webkit-background-size: 5em ;")', '"5em"');
 
-shouldBe('test("background-size: 100 100 100;")', 'null');
-shouldBe('test("background-size: coconut;")', 'null');
+shouldBe('test("background-size: 100 100 100;")', '""');
+shouldBe('test("background-size: coconut;")', '""');
 
-shouldBe('test("background-size: 100px,;")', 'null');
+shouldBe('test("background-size: 100px,;")', '""');
 shouldBe('test("background-size: 100px, 50%;")', '"100px, 50%"');
 shouldBe('test("-webkit-background-size: 100px, 50%;")', '"100px, 50%"');
 shouldBe('test("background-size: 50% 100px, 2em, 100px 50%;")', '"50% 100px, 2em, 100px 50%"');
index 47a86ad..025d48f 100644 (file)
@@ -7,7 +7,7 @@ PASS e.style.getPropertyValue('-webkit-box-decoration-break') is 'slice'
 PASS computedStyle.getPropertyValue('-webkit-box-decoration-break') is 'slice'
 PASS e.style.getPropertyValue('-webkit-box-decoration-break') is 'clone'
 PASS computedStyle.getPropertyValue('-webkit-box-decoration-break') is 'clone'
-PASS e.style.getPropertyValue('-webkit-box-decoration-break') is null
+PASS e.style.getPropertyValue('-webkit-box-decoration-break') is ""
 PASS computedStyle.getPropertyValue('-webkit-box-decoration-break') is 'slice'
 PASS successfullyParsed is true
 
index 5a7888d..3aa7356 100644 (file)
@@ -27,7 +27,7 @@ shouldBe("computedStyle.getPropertyValue('-webkit-box-decoration-break')", "'clo
 
 e.style.webkitBoxDecorationBreak = "";
 e.style.webkitBoxDecorationBreak = "invalid";
-shouldBe("e.style.getPropertyValue('-webkit-box-decoration-break')", "null");
+shouldBeEqualToString("e.style.getPropertyValue('-webkit-box-decoration-break')", "");
 shouldBe("computedStyle.getPropertyValue('-webkit-box-decoration-break')", "'slice'");
 
 document.body.removeChild(testContainer);
index c22aec7..759bfe7 100644 (file)
@@ -7,17 +7,17 @@ On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE
 Negative blur radius value : 10px 10px -1px rgb(255, 0, 0)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('box-shadow') is null
+PASS declaration.getPropertyValue('box-shadow') is ""
 
 Negative blur radius value, with a spread defined : 10px 10px -1px 10px rgb(255, 0, 0)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('box-shadow') is null
+PASS declaration.getPropertyValue('box-shadow') is ""
 
 Negative blur radius value, with a negative spread defined : 10px 10px -1px -1px rgb(255, 0, 0)
 PASS cssRule.type is 1
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('box-shadow') is null
+PASS declaration.getPropertyValue('box-shadow') is ""
 PASS successfullyParsed is true
 
 TEST COMPLETE
index 0b827de..3f38e0e 100644 (file)
@@ -18,7 +18,7 @@ function testInvalidFilterRule(description, rule)
 
     declaration = cssRule.style;
     shouldBe("declaration.length", "0");
-    shouldBe("declaration.getPropertyValue('box-shadow')", "null");
+    shouldBeEqualToString("declaration.getPropertyValue('box-shadow')", "");
 }
 
 // FIXME A whole bunch of negative parsing tests are missing, see bug
index 2d5e651..2cfc793 100644 (file)
@@ -4,18 +4,18 @@ On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE
 
 
 PASS test("background-clip: -webkit-text", "background-clip") is "-webkit-text"
-PASS test("background-clip: -webkit-text", "-webkit-background-clip") is null
+PASS test("background-clip: -webkit-text", "-webkit-background-clip") is ""
 PASS test("background-clip: content-box", "background-clip") is "content-box"
 PASS test("background-clip: padding-box", "background-clip") is "padding-box"
 PASS test("background-clip: border-box", "background-clip") is "border-box"
-PASS test("background-clip: text", "background-clip") is null
-PASS test("background-clip: text", "-webkit-background-clip") is null
-PASS test("-webkit-background-clip: -webkit-text", "background-clip") is null
+PASS test("background-clip: text", "background-clip") is ""
+PASS test("background-clip: text", "-webkit-background-clip") is ""
+PASS test("-webkit-background-clip: -webkit-text", "background-clip") is ""
 PASS test("-webkit-background-clip: -webkit-text", "-webkit-background-clip") is "-webkit-text"
-PASS test("-webkit-background-clip: text", "background-clip") is null
+PASS test("-webkit-background-clip: text", "background-clip") is ""
 PASS test("-webkit-background-clip: text", "-webkit-background-clip") is "text"
-PASS test("background: url() padding-box", "-webkit-background-clip") is null
-PASS test("-webkit-mask: url() ", "background-clip") is null
+PASS test("background: url() padding-box", "-webkit-background-clip") is ""
+PASS test("-webkit-mask: url() ", "background-clip") is ""
 PASS test("background: url() ", "background-clip") is "initial"
 PASS test("background: url() padding-box", "background-clip") is "padding-box"
 PASS test("background: url() padding-box border-box", "background-clip") is "border-box"
index 8c1fdfa..c83b43a 100644 (file)
@@ -11,7 +11,7 @@ var a = document.createElement("a");
 a.setAttribute("style", "-webkit-border-horizontal-spacing: 1px;");
 
 var borderSpacing = a.style.getPropertyValue('border-spacing');
-if (borderSpacing !== null)
+if (borderSpacing !== "")
     document.write('FAIL. WebKit didn\'t crash but got "' + borderSpacing + '" but expected "".');
 else
     document.write("PASS. WebKit didn't crash.");
index b0f7212..4dbef1b 100644 (file)
@@ -13,8 +13,8 @@ PASS div5.style.getPropertyValue("border") is 'green'
     NOTE: 'green' is an illegal CSS value for 'border'.
 PASS div6.style.getPropertyValue("border") is '5px'
 PASS div7.style.getPropertyValue("border") is 'solid'
-PASS div8.style.getPropertyValue("border") is null
-PASS div9.style.getPropertyValue("border") is null
+PASS div8.style.getPropertyValue("border") is ""
+PASS div9.style.getPropertyValue("border") is ""
 PASS successfullyParsed is true
 
 TEST COMPLETE
index 4d215a3..57cd617 100644 (file)
     shouldBe('div7.style.getPropertyValue("border")', "'solid'");
 
     var div8 = document.getElementById("border8");
-    shouldBe('div8.style.getPropertyValue("border")', "null");
+    shouldBeEqualToString('div8.style.getPropertyValue("border")', "");
 
     var div9 = document.getElementById("border9");
-    shouldBe('div9.style.getPropertyValue("border")', "null");
+    shouldBeEqualToString('div9.style.getPropertyValue("border")', "");
   </script>
   <script src="../../resources/js-test-post.js"></script>
  </body>
index 0937e38..8fffc25 100644 (file)
@@ -11,13 +11,13 @@ PASS div4.style.getPropertyValue("-webkit-column-rule") is '10px'
 PASS div5.style.getPropertyValue("-webkit-column-rule") is 'solid black'
 PASS div6.style.getPropertyValue("-webkit-column-rule") is 'dashed'
 PASS div7.style.getPropertyValue("-webkit-column-rule") is 'green'
-PASS div8.style.getPropertyValue("-webkit-column-rule") is null
+PASS div8.style.getPropertyValue("-webkit-column-rule") is ""
 NOTE: 'foo' is an illegal CSS value for '-webkit-column-rule'.
 PASS div9.style.getPropertyValue("-webkit-column-rule") is '10px dotted black'
-NOTE: If only few longhand properties are specified, getPropertyValue for shorthand property returns null.
-PASS div10.style.getPropertyValue("-webkit-column-rule") is null
-PASS div11.style.getPropertyValue("-webkit-column-rule") is null
-PASS div12.style.getPropertyValue("-webkit-column-rule") is null
+NOTE: If only few longhand properties are specified, getPropertyValue for shorthand property returns an empty string.
+PASS div10.style.getPropertyValue("-webkit-column-rule") is ""
+PASS div11.style.getPropertyValue("-webkit-column-rule") is ""
+PASS div12.style.getPropertyValue("-webkit-column-rule") is ""
 PASS successfullyParsed is true
 
 TEST COMPLETE
index cffbd21..4aa6adf 100644 (file)
       shouldBe('div7.style.getPropertyValue("-webkit-column-rule")', "'green'");
 
       var div8 = document.getElementById("-webkit-column-rule8");
-      shouldBe('div8.style.getPropertyValue("-webkit-column-rule")', "null");
+      shouldBeEqualToString('div8.style.getPropertyValue("-webkit-column-rule")', "");
       debug("NOTE: 'foo' is an illegal CSS value for '-webkit-column-rule'.");
 
       var div9 = document.getElementById("-webkit-column-rule9");
       shouldBe('div9.style.getPropertyValue("-webkit-column-rule")', "'10px dotted black'");
 
-      debug("NOTE: If only few longhand properties are specified, getPropertyValue for shorthand property returns null.");
+      debug("NOTE: If only few longhand properties are specified, getPropertyValue for shorthand property returns an empty string.");
       var div10 = document.getElementById("-webkit-column-rule10");
-      shouldBe('div10.style.getPropertyValue("-webkit-column-rule")', "null");
+      shouldBeEqualToString('div10.style.getPropertyValue("-webkit-column-rule")', "");
 
       var div11 = document.getElementById("-webkit-column-rule11");
-      shouldBe('div11.style.getPropertyValue("-webkit-column-rule")', "null");
+      shouldBeEqualToString('div11.style.getPropertyValue("-webkit-column-rule")', "");
 
       var div12 = document.getElementById("-webkit-column-rule12");
-      shouldBe('div12.style.getPropertyValue("-webkit-column-rule")', "null");
+      shouldBeEqualToString('div12.style.getPropertyValue("-webkit-column-rule")', "");
     </script>
     <script src="../../resources/js-test-post.js"></script>
   </body>
index 28c3c20..26c2105 100644 (file)
@@ -11,9 +11,9 @@ PASS columnsValue("columns5") is "auto 2"
 PASS columnsValue("columns6") is "10px 2"
 PASS columnsValue("columns7") is "auto auto"
 NOTE: 'foo' is an illegal CSS value for 'columns'.
-PASS columnsValue("columns8") is null
-NOTE: If only few longhand properties are specified, getPropertyValue for shorthand property returns null.
-PASS columnsValue("columns9") is null
+PASS columnsValue("columns8") is ""
+NOTE: If only few longhand properties are specified, getPropertyValue for shorthand property returns the empty string.
+PASS columnsValue("columns9") is ""
 PASS successfullyParsed is true
 
 TEST COMPLETE
index 1917366..5ad4811 100644 (file)
@@ -40,9 +40,9 @@
       shouldBeEqualToString('columnsValue("columns6")', '10px 2');
       shouldBeEqualToString('columnsValue("columns7")', 'auto auto');
       debug("NOTE: 'foo' is an illegal CSS value for 'columns'.");
-      shouldBe('columnsValue("columns8")', "null");
-      debug("NOTE: If only few longhand properties are specified, getPropertyValue for shorthand property returns null.")
-      shouldBe('columnsValue("columns9")', "null");
+      shouldBeEqualToString('columnsValue("columns8")', "");
+      debug("NOTE: If only few longhand properties are specified, getPropertyValue for shorthand property returns the empty string.")
+      shouldBeEqualToString('columnsValue("columns9")', "");
     </script>
     <script src="../../resources/js-test-post.js"></script>
   </body>
diff --git a/LayoutTests/fast/css/getPropertyValue-returns-empty-on-missing-property-expected.txt b/LayoutTests/fast/css/getPropertyValue-returns-empty-on-missing-property-expected.txt
new file mode 100644 (file)
index 0000000..35e5fe6
--- /dev/null
@@ -0,0 +1,20 @@
+Verify that CSSStyleDeclaration.getPropertyValue() returns an empty string when the property argument does not match.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS document.getElementById('target').style.getPropertyValue() threw exception TypeError: Not enough arguments.
+PASS document.getElementById('target').style.getPropertyValue('foobar') is ""
+PASS document.getElementById('target').style.getPropertyValue('display') is "none"
+PASS document.getElementById('target').style.getPropertyValue('color') is "rgba(1, 2, 3, 0.4)"
+PASS document.getElementById('target').style.getPropertyValue('-webkit-display') is ""
+PASS document.getElementById('target').style.getPropertyValue('-webkit-color') is ""
+PASS document.getElementById('target').style.getPropertyValue('foobar', 1) is ""
+PASS document.getElementById('target').style.getPropertyValue('display', null) is "none"
+PASS document.getElementById('target').style.getPropertyValue('color', undefined) is "rgba(1, 2, 3, 0.4)"
+PASS document.getElementById('target').style.getPropertyValue('-webkit-display', 'unused') is ""
+PASS document.getElementById('target').style.getPropertyValue('-webkit-color', { foo:'bar'}) is ""
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/LayoutTests/fast/css/getPropertyValue-returns-empty-on-missing-property.html b/LayoutTests/fast/css/getPropertyValue-returns-empty-on-missing-property.html
new file mode 100644 (file)
index 0000000..684f852
--- /dev/null
@@ -0,0 +1,25 @@
+<!doctype html>
+<html>
+<head>
+    <script src="../../resources/js-test-pre.js"></script>
+</head>
+<body>
+    <div id="target" style="display:none; color:rgba(1, 2, 3, 0.4)"></div>
+    <script>
+        description("Verify that CSSStyleDeclaration.getPropertyValue() returns an empty string when the property argument does not match.");
+        shouldThrow("document.getElementById('target').style.getPropertyValue()");
+        shouldBeEqualToString("document.getElementById('target').style.getPropertyValue('foobar')", "");
+        shouldBeEqualToString("document.getElementById('target').style.getPropertyValue('display')", "none");
+        shouldBeEqualToString("document.getElementById('target').style.getPropertyValue('color')", "rgba(1, 2, 3, 0.4)");
+        shouldBeEqualToString("document.getElementById('target').style.getPropertyValue('-webkit-display')", "");
+        shouldBeEqualToString("document.getElementById('target').style.getPropertyValue('-webkit-color')", "");
+
+        shouldBeEqualToString("document.getElementById('target').style.getPropertyValue('foobar', 1)", "");
+        shouldBeEqualToString("document.getElementById('target').style.getPropertyValue('display', null)", "none");
+        shouldBeEqualToString("document.getElementById('target').style.getPropertyValue('color', undefined)", "rgba(1, 2, 3, 0.4)");
+        shouldBeEqualToString("document.getElementById('target').style.getPropertyValue('-webkit-display', 'unused')", "");
+        shouldBeEqualToString("document.getElementById('target').style.getPropertyValue('-webkit-color', { foo:'bar'})", "");
+    </script>
+    <script src="../../resources/js-test-post.js"></script>
+</body>
+</html>
index 9029e21..d071bd1 100644 (file)
@@ -7,9 +7,9 @@ PASS webkitMarginCollapseValue("margin-collapse1") is 'collapse separate'
 PASS webkitMarginCollapseValue("margin-collapse2") is 'discard discard'
 PASS webkitMarginCollapseValue("margin-collapse3") is 'discard separate'
 NOTE: 'foo' is an illegal CSS value for '-webkit-margin-collapse'.
-PASS webkitMarginCollapseValue("margin-collapse4") is null
-NOTE: If only few longhand properties are specified, getPropertyValue for shorthand property returns null.
-PASS webkitMarginCollapseValue("margin-collapse5") is null
+PASS webkitMarginCollapseValue("margin-collapse4") is ""
+NOTE: If only few longhand properties are specified, getPropertyValue for shorthand property returns the empty string.
+PASS webkitMarginCollapseValue("margin-collapse5") is ""
 PASS successfullyParsed is true
 
 TEST COMPLETE
index d7c266d..620bcef 100644 (file)
@@ -33,9 +33,9 @@
       shouldBe('webkitMarginCollapseValue("margin-collapse2")', "'discard discard'");
       shouldBe('webkitMarginCollapseValue("margin-collapse3")', "'discard separate'");
       debug("NOTE: 'foo' is an illegal CSS value for '-webkit-margin-collapse'.");
-      shouldBe('webkitMarginCollapseValue("margin-collapse4")', "null");
-      debug("NOTE: If only few longhand properties are specified, getPropertyValue for shorthand property returns null.")
-      shouldBe('webkitMarginCollapseValue("margin-collapse5")', "null");
+      shouldBeEqualToString('webkitMarginCollapseValue("margin-collapse4")', "");
+      debug("NOTE: If only few longhand properties are specified, getPropertyValue for shorthand property returns the empty string.")
+      shouldBeEqualToString('webkitMarginCollapseValue("margin-collapse5")', "");
     </script>
     <script src="../../resources/js-test-post.js"></script>
   </body>
index 809c0b4..dd339ff 100644 (file)
@@ -15,10 +15,10 @@ PASS webkitMarqueeValue("marquee9") is 'forwards'
 PASS webkitMarqueeValue("marquee10") is 'alternate'
 PASS webkitMarqueeValue("marquee11") is 'infinite'
 NOTE: 'foo' is an illegal CSS value for '-webkit-marquee'.
-PASS webkitMarqueeValue("marquee12") is null
+PASS webkitMarqueeValue("marquee12") is ""
 NOTE: If only few longhand properties are specified, getPropertyValue for shorthand property returns null.
-PASS webkitMarqueeValue("marquee13") is null
-PASS webkitMarqueeValue("marquee14") is null
+PASS webkitMarqueeValue("marquee13") is ""
+PASS webkitMarqueeValue("marquee14") is ""
 PASS successfullyParsed is true
 
 TEST COMPLETE
index 0a04008..3e8d01d 100644 (file)
       shouldBe('webkitMarqueeValue("marquee10")', "'alternate'");
       shouldBe('webkitMarqueeValue("marquee11")', "'infinite'");
       debug("NOTE: 'foo' is an illegal CSS value for '-webkit-marquee'.");
-      shouldBe('webkitMarqueeValue("marquee12")', "null");
+      shouldBeEqualToString('webkitMarqueeValue("marquee12")', "");
       debug("NOTE: If only few longhand properties are specified, getPropertyValue for shorthand property returns null.")
-      shouldBe('webkitMarqueeValue("marquee13")', "null");
-      shouldBe('webkitMarqueeValue("marquee14")', "null");
+      shouldBeEqualToString('webkitMarqueeValue("marquee13")', "");
+      shouldBeEqualToString('webkitMarqueeValue("marquee14")', "");
     </script>
     <script src="../../resources/js-test-post.js"></script>
   </body>
index 2890999..ad8e2fa 100644 (file)
@@ -9,9 +9,9 @@ PASS webkitTextStrokeValue("text-stroke3") is "thin"
 PASS webkitTextStrokeValue("text-stroke4") is "1px red"
 PASS webkitTextStrokeValue("text-stroke5") is "1px black"
 NOTE: 'foo' is an illegal CSS value for '-webkit-text-stroke'.
-PASS webkitTextStrokeValue("text-stroke6") is null
-NOTE: If only few longhand properties are specified, getPropertyValue for shorthand property returns null.
-PASS webkitTextStrokeValue("text-stroke7") is null
+PASS webkitTextStrokeValue("text-stroke6") is ""
+NOTE: If only few longhand properties are specified, getPropertyValue for shorthand property returns the empty string.
+PASS webkitTextStrokeValue("text-stroke7") is ""
 PASS successfullyParsed is true
 
 TEST COMPLETE
index 96bc302..1135e51 100644 (file)
@@ -36,9 +36,9 @@
       shouldBeEqualToString('webkitTextStrokeValue("text-stroke4")', '1px red');
       shouldBeEqualToString('webkitTextStrokeValue("text-stroke5")', '1px black');
       debug("NOTE: 'foo' is an illegal CSS value for '-webkit-text-stroke'.");
-      shouldBe('webkitTextStrokeValue("text-stroke6")', "null");
-      debug("NOTE: If only few longhand properties are specified, getPropertyValue for shorthand property returns null.")
-      shouldBe('webkitTextStrokeValue("text-stroke7")', "null");
+      shouldBeEqualToString('webkitTextStrokeValue("text-stroke6")', "");
+      debug("NOTE: If only few longhand properties are specified, getPropertyValue for shorthand property returns the empty string.")
+      shouldBeEqualToString('webkitTextStrokeValue("text-stroke7")', "");
     </script>
     <script src="../../resources/js-test-post.js"></script>
   </body>
index d323a2c..58b4f0a 100644 (file)
@@ -33,7 +33,7 @@ shouldBeEqualToString("window.getComputedStyle(testDivNoAdjust).getPropertyValue
 
 debug("Case with text size adjust.");
 var testDivAdjust = document.getElementById("testDivAdjust");
-if (window.getComputedStyle(testDivAdjust).getPropertyValue('-webkit-text-size-adjust') == null) {
+if (window.getComputedStyle(testDivAdjust).getPropertyValue('-webkit-text-size-adjust') === "") {
   debug("Platform does not support  -webkit-text-size-adjust");
 } else {
   debug("Platform supports -webkit-text-size-adjust");
index 375d645..be20edb 100644 (file)
@@ -5,7 +5,7 @@ On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE
 
 PASS test("outline-offset: 1px", "outline-offset") is "1px"
 PASS test("outline-offset: 1mm", "outline-offset") is "1mm"
-PASS test("outline-offset: 1%", "outline-offset") is null
+PASS test("outline-offset: 1%", "outline-offset") is ""
 PASS successfullyParsed is true
 
 TEST COMPLETE
index f6282d4..ae4fa35 100644 (file)
@@ -6,9 +6,9 @@ On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE
 PASS test("-webkit-color-correction: default;") is "default"
 PASS test("-webkit-color-correction: sRGB;") is "srgb"
 PASS test("-webkit-color-correction: srgb;") is "srgb"
-PASS test("-webkit-color-correction: apple;") is null
-PASS test("-webkit-color-correction: 15;") is null
-PASS test("-webkit-color-correction: auto;") is null
+PASS test("-webkit-color-correction: apple;") is ""
+PASS test("-webkit-color-correction: 15;") is ""
+PASS test("-webkit-color-correction: auto;") is ""
 PASS successfullyParsed is true
 
 TEST COMPLETE
index daa25de..cd78162 100644 (file)
@@ -11,10 +11,10 @@ PASS test("object-fit: contain;") is "contain"
 PASS test("object-fit: cover;") is "cover"
 PASS test("object-fit: none;") is "none"
 PASS test("object-fit: scale-down;") is "scale-down"
-PASS test("object-fit: fill contain;") is null
-PASS test("object-fit: bananas;") is null
-PASS test("object-fit: 23px;") is null
-PASS test("object-fit: 20%;") is null
+PASS test("object-fit: fill contain;") is ""
+PASS test("object-fit: bananas;") is ""
+PASS test("object-fit: 23px;") is ""
+PASS test("object-fit: 20%;") is ""
 PASS successfullyParsed is true
 
 TEST COMPLETE
index 323fc97..1a9eff9 100644 (file)
             shouldBe('test("object-fit: none;")', '"none"');
             shouldBe('test("object-fit: scale-down;")', '"scale-down"');
 
-            shouldBeNull('test("object-fit: fill contain;")');
-            shouldBeNull('test("object-fit: bananas;")');
-            shouldBeNull('test("object-fit: 23px;")');
-            shouldBeNull('test("object-fit: 20%;")');
+            shouldBeEqualToString('test("object-fit: fill contain;")', '');
+            shouldBeEqualToString('test("object-fit: bananas;")', '');
+            shouldBeEqualToString('test("object-fit: 23px;")', '');
+            shouldBeEqualToString('test("object-fit: 20%;")', '');
         </script>
         <script src="../../resources/js-test-post.js"></script>
     </body>
index aab2602..5c2a375 100644 (file)
@@ -7,9 +7,9 @@ PASS test("text-rendering: auto;") is "auto"
 PASS test("text-rendering: optimizeSpeed;") is "optimizespeed"
 PASS test("text-rendering: optimizeLegibility;") is "optimizelegibility"
 PASS test("text-rendering: geometricPrecision;") is "geometricprecision"
-PASS test("text-rendering: auto auto;") is null
-PASS test("text-rendering: optimizeCoconuts;") is null
-PASS test("text-rendering: 15;") is null
+PASS test("text-rendering: auto auto;") is ""
+PASS test("text-rendering: optimizeCoconuts;") is ""
+PASS test("text-rendering: 15;") is ""
 PASS successfullyParsed is true
 
 TEST COMPLETE
index 8e9c914..2e45f31 100644 (file)
@@ -7,9 +7,9 @@ PASS test("-webkit-font-smoothing: auto;") is "auto"
 PASS test("-webkit-font-smoothing: none;") is "none"
 PASS test("-webkit-font-smoothing: antialiased;") is "antialiased"
 PASS test("-webkit-font-smoothing: subpixel-antialiased;") is "subpixel-antialiased"
-PASS test("-webkit-font-smoothing: apple;") is null
-PASS test("-webkit-font-smoothing: 15;") is null
-PASS test("-webkit-font-smoothing: auto auto;") is null
+PASS test("-webkit-font-smoothing: apple;") is ""
+PASS test("-webkit-font-smoothing: 15;") is ""
+PASS test("-webkit-font-smoothing: auto auto;") is ""
 PASS successfullyParsed is true
 
 TEST COMPLETE
index 68a0028..772b640 100644 (file)
@@ -15,6 +15,6 @@ shouldBe('test("-webkit-color-correction: default;")', '"default"');
 shouldBe('test("-webkit-color-correction: sRGB;")', '"srgb"');
 shouldBe('test("-webkit-color-correction: srgb;")', '"srgb"');
 
-shouldBe('test("-webkit-color-correction: apple;")', 'null');
-shouldBe('test("-webkit-color-correction: 15;")', 'null');
-shouldBe('test("-webkit-color-correction: auto;")', 'null');
+shouldBeEqualToString('test("-webkit-color-correction: apple;")', '');
+shouldBeEqualToString('test("-webkit-color-correction: 15;")', '');
+shouldBeEqualToString('test("-webkit-color-correction: auto;")', '');
index 0d71eba..d9f9458 100644 (file)
@@ -16,6 +16,6 @@ shouldBe('test("text-rendering: optimizeSpeed;")', '"optimizespeed"');
 shouldBe('test("text-rendering: optimizeLegibility;")', '"optimizelegibility"');
 shouldBe('test("text-rendering: geometricPrecision;")', '"geometricprecision"');
 
-shouldBeNull('test("text-rendering: auto auto;")');
-shouldBeNull('test("text-rendering: optimizeCoconuts;")');
-shouldBeNull('test("text-rendering: 15;")');
+shouldBeEqualToString('test("text-rendering: auto auto;")', '');
+shouldBeEqualToString('test("text-rendering: optimizeCoconuts;")', '');
+shouldBeEqualToString('test("text-rendering: 15;")', '');
index 6ab6734..9e87a10 100644 (file)
@@ -16,6 +16,6 @@ shouldBe('test("-webkit-font-smoothing: none;")', '"none"');
 shouldBe('test("-webkit-font-smoothing: antialiased;")', '"antialiased"');
 shouldBe('test("-webkit-font-smoothing: subpixel-antialiased;")', '"subpixel-antialiased"');
 
-shouldBe('test("-webkit-font-smoothing: apple;")', 'null');
-shouldBe('test("-webkit-font-smoothing: 15;")', 'null');
-shouldBe('test("-webkit-font-smoothing: auto auto;")', 'null');
+shouldBeEqualToString('test("-webkit-font-smoothing: apple;")', '');
+shouldBeEqualToString('test("-webkit-font-smoothing: 15;")', '');
+shouldBeEqualToString('test("-webkit-font-smoothing: auto auto;")', '');
index 98c958f..3092e39 100644 (file)
@@ -14,23 +14,23 @@ function test(declaration, property)
     return result;
 }
 shouldBe('test("background-clip: -webkit-text", "background-clip")', '"-webkit-text"');
-shouldBe('test("background-clip: -webkit-text", "-webkit-background-clip")', 'null');
+shouldBeEqualToString('test("background-clip: -webkit-text", "-webkit-background-clip")', '');
 
 shouldBe('test("background-clip: content-box", "background-clip")', '"content-box"');
 shouldBe('test("background-clip: padding-box", "background-clip")', '"padding-box"');
 shouldBe('test("background-clip: border-box", "background-clip")', '"border-box"');
 
-shouldBe('test("background-clip: text", "background-clip")', 'null');
-shouldBe('test("background-clip: text", "-webkit-background-clip")', 'null');
+shouldBeEqualToString('test("background-clip: text", "background-clip")', '');
+shouldBeEqualToString('test("background-clip: text", "-webkit-background-clip")', '');
 
-shouldBe('test("-webkit-background-clip: -webkit-text", "background-clip")', 'null');
+shouldBeEqualToString('test("-webkit-background-clip: -webkit-text", "background-clip")', '');
 shouldBe('test("-webkit-background-clip: -webkit-text", "-webkit-background-clip")', '"-webkit-text"');
 
-shouldBe('test("-webkit-background-clip: text", "background-clip")', 'null');
+shouldBeEqualToString('test("-webkit-background-clip: text", "background-clip")', '');
 shouldBe('test("-webkit-background-clip: text", "-webkit-background-clip")', '"text"');
-shouldBe('test("background: url() padding-box", "-webkit-background-clip")', 'null');
+shouldBeEqualToString('test("background: url() padding-box", "-webkit-background-clip")', '');
 
-shouldBe('test("-webkit-mask: url() ", "background-clip")', 'null');
+shouldBeEqualToString('test("-webkit-mask: url() ", "background-clip")', '');
 shouldBe('test("background: url() ", "background-clip")', '"initial"');
 
 shouldBe('test("background: url() padding-box", "background-clip")', '"padding-box"');
index 2468c4b..235b8c4 100644 (file)
@@ -13,4 +13,4 @@ function test(declaration, property)
 
 shouldBe('test("outline-offset: 1px", "outline-offset")', '"1px"');
 shouldBe('test("outline-offset: 1mm", "outline-offset")', '"1mm"');
-shouldBe('test("outline-offset: 1%", "outline-offset")', 'null');
+shouldBeEqualToString('test("outline-offset: 1%", "outline-offset")', '');
index 4134f5d..2d74910 100644 (file)
@@ -12,10 +12,10 @@ function test(declaration, property)
     return result;
 }
 
-shouldBe('test("-webkit-transform-origin: 10% 10% 10%", "-webkit-transform-origin")', 'null');
+shouldBeEqualToString('test("-webkit-transform-origin: 10% 10% 10%", "-webkit-transform-origin")', '');
 shouldBe('test("-webkit-transform-origin: 10% 10% 10px", "-webkit-transform-origin")', '"10% 10% 10px"');
-shouldBe('test("-webkit-transform-origin: 10px 10px 10%", "-webkit-transform-origin")', 'null');
+shouldBeEqualToString('test("-webkit-transform-origin: 10px 10px 10%", "-webkit-transform-origin")', '');
 shouldBe('test("-webkit-transform-origin: 10px 10px 10px", "-webkit-transform-origin")', '"10px 10px 10px"');
-shouldBe('test("-webkit-transform-origin: left top 10%", "-webkit-transform-origin")', 'null');
+shouldBeEqualToString('test("-webkit-transform-origin: left top 10%", "-webkit-transform-origin")', '');
 shouldBe('test("-webkit-transform-origin: left top 10px", "-webkit-transform-origin")', '"0% 0% 10px"');
-shouldBe('test("-webkit-transform-origin: left top left", "-webkit-transform-origin")', 'null');
+shouldBeEqualToString('test("-webkit-transform-origin: left top left", "-webkit-transform-origin")', '');
index 3fa4f04..cff779e 100644 (file)
@@ -4,7 +4,7 @@ On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE
 
 
 PASS test("position: -webkit-sticky;") is "-webkit-sticky"
-PASS test("position: sticky;") is null
+PASS test("position: sticky;") is ""
 PASS successfullyParsed is true
 
 TEST COMPLETE
index 565d368..29cf2b5 100644 (file)
@@ -12,4 +12,4 @@ function test(value)
 }
 
 shouldBe('test("position: -webkit-sticky;")', '"-webkit-sticky"');
-shouldBe('test("position: sticky;")', 'null');
+shouldBeEqualToString('test("position: sticky;")', '');
index 5418c2b..791e52b 100644 (file)
@@ -3,13 +3,13 @@ This tests checks parsing of the '-webkit-transform-origin' property and in part
 On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
 
 
-PASS test("-webkit-transform-origin: 10% 10% 10%", "-webkit-transform-origin") is null
+PASS test("-webkit-transform-origin: 10% 10% 10%", "-webkit-transform-origin") is ""
 PASS test("-webkit-transform-origin: 10% 10% 10px", "-webkit-transform-origin") is "10% 10% 10px"
-PASS test("-webkit-transform-origin: 10px 10px 10%", "-webkit-transform-origin") is null
+PASS test("-webkit-transform-origin: 10px 10px 10%", "-webkit-transform-origin") is ""
 PASS test("-webkit-transform-origin: 10px 10px 10px", "-webkit-transform-origin") is "10px 10px 10px"
-PASS test("-webkit-transform-origin: left top 10%", "-webkit-transform-origin") is null
+PASS test("-webkit-transform-origin: left top 10%", "-webkit-transform-origin") is ""
 PASS test("-webkit-transform-origin: left top 10px", "-webkit-transform-origin") is "0% 0% 10px"
-PASS test("-webkit-transform-origin: left top left", "-webkit-transform-origin") is null
+PASS test("-webkit-transform-origin: left top left", "-webkit-transform-origin") is ""
 PASS successfullyParsed is true
 
 TEST COMPLETE
index d8d1c8c..7b24441 100644 (file)
@@ -1,6 +1,6 @@
 PASS cssRule.type is cssRule.STYLE_RULE
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-webkit-text-decoration-skip') is null
+PASS declaration.getPropertyValue('-webkit-text-decoration-skip') is ""
 PASS computedStyle.getPropertyCSSValue('-webkit-text-decoration-skip').cssText is "auto"
 PASS cssRule.type is cssRule.STYLE_RULE
 PASS declaration.length is 1
index afc1aad..4d3943a 100644 (file)
@@ -33,7 +33,7 @@
       shouldBe("cssRule.type", "cssRule.STYLE_RULE");
       declaration = cssRule.style;
       shouldBe("declaration.length", "0");
-      shouldBe("declaration.getPropertyValue('-webkit-text-decoration-skip')", "null");
+      shouldBeEqualToString("declaration.getPropertyValue('-webkit-text-decoration-skip')", "");
       computedStyle = window.getComputedStyle(target, null);
       shouldBeEqualToString("computedStyle.getPropertyCSSValue('-webkit-text-decoration-skip').cssText", "auto");
       stylesheet.deleteRule(0);
index d83de32..04b6b26 100644 (file)
@@ -1,6 +1,6 @@
 PASS cssRule.type is cssRule.STYLE_RULE
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('font-synthesis') is null
+PASS declaration.getPropertyValue('font-synthesis') is ""
 PASS computedStyle.getPropertyCSSValue('font-synthesis').cssText is "style weight"
 PASS cssRule.type is cssRule.STYLE_RULE
 PASS declaration.length is 1
@@ -32,23 +32,23 @@ PASS declaration.getPropertyValue('font-synthesis') is "weight style"
 PASS computedStyle.getPropertyCSSValue('font-synthesis').cssText is "style weight"
 PASS cssRule.type is cssRule.STYLE_RULE
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('font-synthesis') is null
+PASS declaration.getPropertyValue('font-synthesis') is ""
 PASS computedStyle.getPropertyCSSValue('font-synthesis').cssText is "style weight"
 PASS cssRule.type is cssRule.STYLE_RULE
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('font-synthesis') is null
+PASS declaration.getPropertyValue('font-synthesis') is ""
 PASS computedStyle.getPropertyCSSValue('font-synthesis').cssText is "style weight"
 PASS cssRule.type is cssRule.STYLE_RULE
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('font-synthesis') is null
+PASS declaration.getPropertyValue('font-synthesis') is ""
 PASS computedStyle.getPropertyCSSValue('font-synthesis').cssText is "style weight"
 PASS cssRule.type is cssRule.STYLE_RULE
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('font-synthesis') is null
+PASS declaration.getPropertyValue('font-synthesis') is ""
 PASS computedStyle.getPropertyCSSValue('font-synthesis').cssText is "style weight"
 PASS cssRule.type is cssRule.STYLE_RULE
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('font-synthesis') is null
+PASS declaration.getPropertyValue('font-synthesis') is ""
 PASS computedStyle.getPropertyCSSValue('font-synthesis').cssText is "style weight"
 PASS successfullyParsed is true
 
index efd12c3..7b39ce1 100644 (file)
@@ -12,7 +12,7 @@
       shouldBe("cssRule.type", "cssRule.STYLE_RULE");
       declaration = cssRule.style;
       shouldBe("declaration.length", "0");
-      shouldBe("declaration.getPropertyValue('font-synthesis')", "null");
+      shouldBeEqualToString("declaration.getPropertyValue('font-synthesis')", "");
       computedStyle = window.getComputedStyle(target, null);
       shouldBeEqualToString("computedStyle.getPropertyCSSValue('font-synthesis').cssText", "style weight");
       stylesheet.deleteRule(0);
index 7447683..fc600ed 100644 (file)
@@ -85,31 +85,31 @@ PASS innerStyle("border-image-source", "-webkit-filter(url(http://image1.png), i
 PASS innerStyle("-webkit-mask-image", "-webkit-filter(url(http://image1.png), invert(50%))") is "-webkit-filter(url(http://image1.png/), invert(50%))"
 PASS innerStyle("-webkit-mask-box-image-source", "-webkit-filter(url(http://image1.png), invert(50%))") is "-webkit-filter(url(http://image1.png/), invert(50%))"
 PASS innerStyle("content", "-webkit-filter(url(http://image1.png), invert(50%))") is "-webkit-filter(url(http://image1.png/), invert(50%))"
-PASS innerStyle("background-image", "-webkit-filter()") is null
+PASS innerStyle("background-image", "-webkit-filter()") is ""
 PASS computedStyle("background-image", "-webkit-filter()") is "none"
-PASS innerStyle("background-image", "-webkit-filter(url(image1.png))") is null
+PASS innerStyle("background-image", "-webkit-filter(url(image1.png))") is ""
 PASS computedStyle("background-image", "-webkit-filter(url(image1.png))") is "none"
-PASS innerStyle("background-image", "-webkit-filter(url(image1.png), )") is null
+PASS innerStyle("background-image", "-webkit-filter(url(image1.png), )") is ""
 PASS computedStyle("background-image", "-webkit-filter(url(image1.png), )") is "none"
-PASS innerStyle("background-image", "-webkit-filter(url(image1.png) brightness(50%))") is null
+PASS innerStyle("background-image", "-webkit-filter(url(image1.png) brightness(50%))") is ""
 PASS computedStyle("background-image", "-webkit-filter(url(image1.png) brightness(50%))") is "none"
-PASS innerStyle("background-image", "-webkit-filter(brightness(50%) url(image1.png))") is null
+PASS innerStyle("background-image", "-webkit-filter(brightness(50%) url(image1.png))") is ""
 PASS computedStyle("background-image", "-webkit-filter(brightness(50%) url(image1.png))") is "none"
-PASS innerStyle("background-image", "-webkit-filter(brightness(50%), url(image1.png))") is null
+PASS innerStyle("background-image", "-webkit-filter(brightness(50%), url(image1.png))") is ""
 PASS computedStyle("background-image", "-webkit-filter(brightness(50%), url(image1.png))") is "none"
-PASS innerStyle("background-image", "-webkit-filter(url(image1.png) url(#filter))") is null
+PASS innerStyle("background-image", "-webkit-filter(url(image1.png) url(#filter))") is ""
 PASS computedStyle("background-image", "-webkit-filter(url(image1.png) url(#filter))") is "none"
-PASS innerStyle("background-image", "-webkit-filter(brightness(50%))") is null
+PASS innerStyle("background-image", "-webkit-filter(brightness(50%))") is ""
 PASS computedStyle("background-image", "-webkit-filter(brightness(50%))") is "none"
-PASS innerStyle("background-image", "-webkit-filter(brightness(50%), )") is null
+PASS innerStyle("background-image", "-webkit-filter(brightness(50%), )") is ""
 PASS computedStyle("background-image", "-webkit-filter(brightness(50%), )") is "none"
-PASS innerStyle("background-image", "-webkit-filter(url(image1.png), brightness(50%), brightness(50%))") is null
+PASS innerStyle("background-image", "-webkit-filter(url(image1.png), brightness(50%), brightness(50%))") is ""
 PASS computedStyle("background-image", "-webkit-filter(url(image1.png), brightness(50%), brightness(50%))") is "none"
-PASS innerStyle("background-image", "-webkit-filter(url(image1.png) url(image2.png), brightness(50%))") is null
+PASS innerStyle("background-image", "-webkit-filter(url(image1.png) url(image2.png), brightness(50%))") is ""
 PASS computedStyle("background-image", "-webkit-filter(url(image1.png) url(image2.png), brightness(50%))") is "none"
-PASS innerStyle("background-image", "-webkit-filter(url(image1.png), url(image2.png), brightness(50%))") is null
+PASS innerStyle("background-image", "-webkit-filter(url(image1.png), url(image2.png), brightness(50%))") is ""
 PASS computedStyle("background-image", "-webkit-filter(url(image1.png), url(image2.png), brightness(50%))") is "none"
-PASS innerStyle("background-image", "-webkit-filter(invalidToken.png, blur(3px))") is null
+PASS innerStyle("background-image", "-webkit-filter(invalidToken.png, blur(3px))") is ""
 PASS computedStyle("background-image", "-webkit-filter(invalidToken.png, blur(3px))") is "none"
 PASS successfullyParsed is true
 
index 9ac1fa6..ae76d03 100644 (file)
@@ -30,9 +30,8 @@ function testComputed(property, value, expected) {
 
 function testInner(property, value, expected) {
     if (expected === null)
-        shouldBeNull('innerStyle("' + property + '", "' + value + '")');
-    else
-        shouldBeEqualToString('innerStyle("' + property + '", "' + value + '")', expected);
+        expected = "";
+    shouldBeEqualToString('innerStyle("' + property + '", "' + value + '")', expected);
 }
 
 function negativeTest(property, value) {
index 719ff45..b844985 100644 (file)
@@ -48,49 +48,49 @@ PASS computedStyle("-webkit-clip-path", "circle(50% at 50% 50%) padding-box") is
 PASS computedStyle("-webkit-clip-path", "margin-box circle(50% at 50% 50%)") is "circle(50% at 50% 50%) margin-box"
 PASS computedStyle("-webkit-clip-path", "border-box circle(50% at 50% 50%)") is "circle(50% at 50% 50%) border-box"
 PASS computedStyle("-webkit-clip-path", "circle(50% at 50% 50%) fill") is "circle(50% at 50% 50%) fill"
-PASS innerStyle("-webkit-clip-path", "circle(1 at 1px 1px)") is null
+PASS innerStyle("-webkit-clip-path", "circle(1 at 1px 1px)") is ""
 PASS computedStyle("-webkit-clip-path", "circle(1 at 1px 1px)") is "none"
-PASS innerStyle("-webkit-clip-path", "circle(px at 1px 1px)") is null
+PASS innerStyle("-webkit-clip-path", "circle(px at 1px 1px)") is ""
 PASS computedStyle("-webkit-clip-path", "circle(px at 1px 1px)") is "none"
-PASS innerStyle("-webkit-clip-path", "circle(1p at 1px 1px)") is null
+PASS innerStyle("-webkit-clip-path", "circle(1p at 1px 1px)") is ""
 PASS computedStyle("-webkit-clip-path", "circle(1p at 1px 1px)") is "none"
-PASS innerStyle("-webkit-clip-path", "circle(calc() at 1px 1px)") is null
+PASS innerStyle("-webkit-clip-path", "circle(calc() at 1px 1px)") is ""
 PASS computedStyle("-webkit-clip-path", "circle(calc() at 1px 1px)") is "none"
-PASS innerStyle("-webkit-clip-path", "circle(-1.5px at -1.5px +1.5px)") is null
+PASS innerStyle("-webkit-clip-path", "circle(-1.5px at -1.5px +1.5px)") is ""
 PASS computedStyle("-webkit-clip-path", "circle(-1.5px at -1.5px +1.5px)") is "none"
-PASS innerStyle("-webkit-clip-path", "inset(1cm 1mm 1in 1px round -1pt, 1pc)") is null
+PASS innerStyle("-webkit-clip-path", "inset(1cm 1mm 1in 1px round -1pt, 1pc)") is ""
 PASS computedStyle("-webkit-clip-path", "inset(1cm 1mm 1in 1px round -1pt, 1pc)") is "none"
-PASS innerStyle("-webkit-clip-path", "inset(1cm 1mm 1in 1px round 1pt -1pc)") is null
+PASS innerStyle("-webkit-clip-path", "inset(1cm 1mm 1in 1px round 1pt -1pc)") is ""
 PASS computedStyle("-webkit-clip-path", "inset(1cm 1mm 1in 1px round 1pt -1pc)") is "none"
-PASS innerStyle("-webkit-clip-path", "ellipse(-1em 1em at 1em 1em)") is null
+PASS innerStyle("-webkit-clip-path", "ellipse(-1em 1em at 1em 1em)") is ""
 PASS computedStyle("-webkit-clip-path", "ellipse(-1em 1em at 1em 1em)") is "none"
-PASS innerStyle("-webkit-clip-path", "ellipse(1em -1em at 1em 1em)") is null
+PASS innerStyle("-webkit-clip-path", "ellipse(1em -1em at 1em 1em)") is ""
 PASS computedStyle("-webkit-clip-path", "ellipse(1em -1em at 1em 1em)") is "none"
-PASS innerStyle("-webkit-clip-path", "fill circle(50% at 50% 50%) content-box") is null
+PASS innerStyle("-webkit-clip-path", "fill circle(50% at 50% 50%) content-box") is ""
 PASS computedStyle("-webkit-clip-path", "fill circle(50% at 50% 50%) content-box") is "none"
-PASS innerStyle("-webkit-clip-path", "margin-box padding-box") is null
+PASS innerStyle("-webkit-clip-path", "margin-box padding-box") is ""
 PASS computedStyle("-webkit-clip-path", "margin-box padding-box") is "none"
-PASS innerStyle("-webkit-clip-path", "padding-box border-box circle(50% at 50% 50%)") is null
+PASS innerStyle("-webkit-clip-path", "padding-box border-box circle(50% at 50% 50%)") is ""
 PASS computedStyle("-webkit-clip-path", "padding-box border-box circle(50% at 50% 50%)") is "none"
-PASS innerStyle("-webkit-clip-path", "circle(50% at 50% 50%) content-box stroke") is null
+PASS innerStyle("-webkit-clip-path", "circle(50% at 50% 50%) content-box stroke") is ""
 PASS computedStyle("-webkit-clip-path", "circle(50% at 50% 50%) content-box stroke") is "none"
-PASS innerStyle("-webkit-clip-path", "content-box margin-box padding-box") is null
+PASS innerStyle("-webkit-clip-path", "content-box margin-box padding-box") is ""
 PASS computedStyle("-webkit-clip-path", "content-box margin-box padding-box") is "none"
-PASS innerStyle("-webkit-clip-path", "none content-box") is null
+PASS innerStyle("-webkit-clip-path", "none content-box") is ""
 PASS computedStyle("-webkit-clip-path", "none content-box") is "none"
-PASS innerStyle("-webkit-clip-path", "url(#test) padding-box") is null
+PASS innerStyle("-webkit-clip-path", "url(#test) padding-box") is ""
 PASS computedStyle("-webkit-clip-path", "url(#test) padding-box") is "none"
-PASS innerStyle("-webkit-clip-path", "polygon(0, 0)") is null
+PASS innerStyle("-webkit-clip-path", "polygon(0, 0)") is ""
 PASS computedStyle("-webkit-clip-path", "polygon(0, 0)") is "none"
-PASS innerStyle("-webkit-clip-path", "polygon(0 0, 0)") is null
+PASS innerStyle("-webkit-clip-path", "polygon(0 0, 0)") is ""
 PASS computedStyle("-webkit-clip-path", "polygon(0 0, 0)") is "none"
-PASS innerStyle("-webkit-clip-path", "polygon(0)") is null
+PASS innerStyle("-webkit-clip-path", "polygon(0)") is ""
 PASS computedStyle("-webkit-clip-path", "polygon(0)") is "none"
-PASS innerStyle("-webkit-clip-path", "polygon()") is null
+PASS innerStyle("-webkit-clip-path", "polygon()") is ""
 PASS computedStyle("-webkit-clip-path", "polygon()") is "none"
-PASS innerStyle("-webkit-clip-path", "polygon(evenodd)") is null
+PASS innerStyle("-webkit-clip-path", "polygon(evenodd)") is ""
 PASS computedStyle("-webkit-clip-path", "polygon(evenodd)") is "none"
-PASS innerStyle("-webkit-clip-path", "polygon(nonzero)") is null
+PASS innerStyle("-webkit-clip-path", "polygon(nonzero)") is ""
 PASS computedStyle("-webkit-clip-path", "polygon(nonzero)") is "none"
 PASS successfullyParsed is true
 
index 5c4fc7b..632d1b5 100644 (file)
@@ -30,9 +30,8 @@ function testComputed(property, value, expected) {
 
 function testInner(property, value, expected) {
     if (expected === null)
-        shouldBeNull('innerStyle("' + property + '", "' + value + '")');
-    else
-        shouldBeEqualToString('innerStyle("' + property + '", "' + value + '")', expected);
+        expected = "";
+    shouldBeEqualToString('innerStyle("' + property + '", "' + value + '")', expected);
 }
 
 function negativeTest(property, value) {
index 0af7680..30b2061 100644 (file)
@@ -89,43 +89,43 @@ PASS innerStyle("-webkit-mask", "none border-box left top 20px") is "none left 0
 PASS innerStyle("-webkit-mask", "none border-box content-box left top repeat-x") is "none 0% 0% repeat-x border-box content-box"
 PASS innerStyle("-webkit-mask", "none border-box content-box left top / auto repeat-x") is "none 0% 0% / auto repeat-x border-box content-box"
 PASS innerStyle("-webkit-mask", "none border-box content-box right 0px center / auto repeat-x") is "none right 0px top 50% / auto repeat-x border-box content-box"
-PASS innerStyle("-webkit-mask", "top none left") is null
-PASS innerStyle("-webkit-mask", "right none bottom") is null
-PASS innerStyle("-webkit-mask", "right right") is null
-PASS innerStyle("-webkit-mask", "left left") is null
-PASS innerStyle("-webkit-mask", "top top") is null
-PASS innerStyle("-webkit-mask", "bottom bottom") is null
-PASS innerStyle("-webkit-mask", "50% none 50%") is null
-PASS innerStyle("-webkit-mask", "repeat-x repeat-x") is null
-PASS innerStyle("-webkit-mask", "space repeat-y") is null
-PASS innerStyle("-webkit-mask", "repeat space space") is null
-PASS innerStyle("-webkit-mask", "padding-box border-box content-box") is null
-PASS innerStyle("-webkit-mask", "none / auto") is null
-PASS innerStyle("-webkit-mask", "none repeat-x / auto") is null
-PASS innerStyle("-webkit-mask", "none border-box / auto") is null
-PASS innerStyle("-webkit-mask", "none top left / cover 100%") is null
-PASS innerStyle("-webkit-mask", "scroll") is null
-PASS innerStyle("-webkit-mask", "fixed") is null
-PASS innerStyle("-webkit-mask", "local") is null
-PASS innerStyle("-webkit-mask", "space scroll") is null
-PASS innerStyle("-webkit-mask", "none scroll") is null
-PASS innerStyle("-webkit-mask", "none top left / auto repeat-x scroll border-box border-box") is null
-PASS innerStyle("-webkit-mask", "right top left") is null
-PASS innerStyle("-webkit-mask", "center left center") is null
-PASS innerStyle("-webkit-mask", "center top center") is null
-PASS innerStyle("-webkit-mask", "center right bottom") is null
-PASS innerStyle("-webkit-mask", "top solid bottom") is null
-PASS innerStyle("-webkit-mask", "none top left right center top / auto repeat-x scroll border-box border-box") is null
-PASS innerStyle("-webkit-mask", "none center center 20px / auto repeat-x scroll border-box border-box") is null
-PASS innerStyle("-webkit-mask", "none top 20px right 30px center / auto repeat-x scroll border-box border-box") is null
-PASS innerStyle("-webkit-mask", "none top 20px top 30px / auto repeat-x scroll border-box border-box") is null
-PASS innerStyle("-webkit-mask", "none top 20px bottom / auto repeat-x scroll border-box border-box") is null
-PASS innerStyle("-webkit-mask", "none alpha, none auto alpha") is null
-PASS innerStyle("-webkit-mask", "none alpha luminance") is null
-PASS innerStyle("-webkit-mask-source-type", "rubbish") is null
-PASS innerStyle("-webkit-mask-source-type", "") is null
-PASS innerStyle("-webkit-mask-source-type", "center") is null
-PASS innerStyle("-webkit-mask-source-type", "repeat") is null
+PASS innerStyle("-webkit-mask", "top none left") is ""
+PASS innerStyle("-webkit-mask", "right none bottom") is ""
+PASS innerStyle("-webkit-mask", "right right") is ""
+PASS innerStyle("-webkit-mask", "left left") is ""
+PASS innerStyle("-webkit-mask", "top top") is ""
+PASS innerStyle("-webkit-mask", "bottom bottom") is ""
+PASS innerStyle("-webkit-mask", "50% none 50%") is ""
+PASS innerStyle("-webkit-mask", "repeat-x repeat-x") is ""
+PASS innerStyle("-webkit-mask", "space repeat-y") is ""
+PASS innerStyle("-webkit-mask", "repeat space space") is ""
+PASS innerStyle("-webkit-mask", "padding-box border-box content-box") is ""
+PASS innerStyle("-webkit-mask", "none / auto") is ""
+PASS innerStyle("-webkit-mask", "none repeat-x / auto") is ""
+PASS innerStyle("-webkit-mask", "none border-box / auto") is ""
+PASS innerStyle("-webkit-mask", "none top left / cover 100%") is ""
+PASS innerStyle("-webkit-mask", "scroll") is ""
+PASS innerStyle("-webkit-mask", "fixed") is ""
+PASS innerStyle("-webkit-mask", "local") is ""
+PASS innerStyle("-webkit-mask", "space scroll") is ""
+PASS innerStyle("-webkit-mask", "none scroll") is ""
+PASS innerStyle("-webkit-mask", "none top left / auto repeat-x scroll border-box border-box") is ""
+PASS innerStyle("-webkit-mask", "right top left") is ""
+PASS innerStyle("-webkit-mask", "center left center") is ""
+PASS innerStyle("-webkit-mask", "center top center") is ""
+PASS innerStyle("-webkit-mask", "center right bottom") is ""
+PASS innerStyle("-webkit-mask", "top solid bottom") is ""
+PASS innerStyle("-webkit-mask", "none top left right center top / auto repeat-x scroll border-box border-box") is ""
+PASS innerStyle("-webkit-mask", "none center center 20px / auto repeat-x scroll border-box border-box") is ""
+PASS innerStyle("-webkit-mask", "none top 20px right 30px center / auto repeat-x scroll border-box border-box") is ""
+PASS innerStyle("-webkit-mask", "none top 20px top 30px / auto repeat-x scroll border-box border-box") is ""
+PASS innerStyle("-webkit-mask", "none top 20px bottom / auto repeat-x scroll border-box border-box") is ""
+PASS innerStyle("-webkit-mask", "none alpha, none auto alpha") is ""
+PASS innerStyle("-webkit-mask", "none alpha luminance") is ""
+PASS innerStyle("-webkit-mask-source-type", "rubbish") is ""
+PASS innerStyle("-webkit-mask-source-type", "") is ""
+PASS innerStyle("-webkit-mask-source-type", "center") is ""
+PASS innerStyle("-webkit-mask-source-type", "repeat") is ""
 PASS successfullyParsed is true
 
 TEST COMPLETE
index e79462a..c900e7a 100644 (file)
@@ -30,9 +30,8 @@ function testComputed(property, value, expected) {
 
 function testInner(property, value, expected) {
     if (expected === null)
-        shouldBeNull('innerStyle("' + property + '", "' + value + '")');
-    else
-        shouldBeEqualToString('innerStyle("' + property + '", "' + value + '")', expected);
+        expected = "";
+    shouldBeEqualToString('innerStyle("' + property + '", "' + value + '")', expected);
 }
 
 function negativeTest(property, value) {
index bb8f97d..3556812 100644 (file)
@@ -3,9 +3,9 @@ Test that parsing of css shapes related properties can be disabled.
 On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
 
 
-PASS testInlineStyle("-webkit-shape-margin", "10px") is null
+PASS testInlineStyle("-webkit-shape-margin", "10px") is ""
 PASS testComputedStyle("-webkit-shape-margin", "10px") is "0px"
-PASS testInlineStyle("-webkit-shape-outside", "circle(10px at 10px 10px)") is null
+PASS testInlineStyle("-webkit-shape-outside", "circle(10px at 10px 10px)") is ""
 PASS testComputedStyle("-webkit-shape-outside", "circle(10px at 10px 10px)") is "none"
 PASS successfullyParsed is true
 
index 06c411d..ecc27fb 100644 (file)
@@ -25,7 +25,7 @@ function testComputedStyle(property, value) {
 }
 
 function testStyle(property, value, computedExpected) {
-    shouldBeNull('testInlineStyle("' + property + '", "' + value + '")');
+    shouldBeEqualToString('testInlineStyle("' + property + '", "' + value + '")', '');
     shouldBeEqualToString('testComputedStyle("' + property + '", "' + value + '")', computedExpected);
 }
 
index 22be38f..ddf9139 100644 (file)
@@ -33,21 +33,21 @@ PASS getComputedStyleValue("-webkit-shape-outside", "circle(150% at 50% 100%)")
 PASS getComputedStyleValue("-webkit-shape-outside", "inset(45% 45% 90% 60% round 25% 10%)") is "inset(45% 45% 90% 60% round 25% 10%)"
 PASS getComputedStyleValue("-webkit-shape-outside", "ellipse(100% 100% at 100% 100%)") is "ellipse(100% 100% at 100% 100%)"
 PASS getComputedStyleValue("-webkit-shape-outside", "polygon(10% 20%, 30% 40%, 40% 50%)") is "polygon(10% 20%, 30% 40%, 40% 50%)"
-PASS getStyleValue("-webkit-shape-outside", "circle(1 at 1px 1px)") is null
+PASS getStyleValue("-webkit-shape-outside", "circle(1 at 1px 1px)") is ""
 PASS getComputedStyleValue("-webkit-shape-outside", "circle(1 at 1px 1px)") is "none"
-PASS getStyleValue("-webkit-shape-outside", "circle(px at 1px 1px)") is null
+PASS getStyleValue("-webkit-shape-outside", "circle(px at 1px 1px)") is ""
 PASS getComputedStyleValue("-webkit-shape-outside", "circle(px at 1px 1px)") is "none"
-PASS getStyleValue("-webkit-shape-outside", "circle(1p at 1px 1px)") is null
+PASS getStyleValue("-webkit-shape-outside", "circle(1p at 1px 1px)") is ""
 PASS getComputedStyleValue("-webkit-shape-outside", "circle(1p at 1px 1px)") is "none"
-PASS getStyleValue("-webkit-shape-outside", "circle(calc( at 1px 1px))") is null
+PASS getStyleValue("-webkit-shape-outside", "circle(calc( at 1px 1px))") is ""
 PASS getComputedStyleValue("-webkit-shape-outside", "circle(calc( at 1px 1px))") is "none"
-PASS getStyleValue("-webkit-shape-outside", "circle(-1.5px at -1.5px +1.5px)") is null
+PASS getStyleValue("-webkit-shape-outside", "circle(-1.5px at -1.5px +1.5px)") is ""
 PASS getComputedStyleValue("-webkit-shape-outside", "circle(-1.5px at -1.5px +1.5px)") is "none"
-PASS getStyleValue("-webkit-shape-outside", "inset(1cm 1mm 1in 1px round 1pt -1pc)") is null
+PASS getStyleValue("-webkit-shape-outside", "inset(1cm 1mm 1in 1px round 1pt -1pc)") is ""
 PASS getComputedStyleValue("-webkit-shape-outside", "inset(1cm 1mm 1in 1px round 1pt -1pc)") is "none"
-PASS getStyleValue("-webkit-shape-outside", "ellipse(-1em 1em at 1em 1em)") is null
+PASS getStyleValue("-webkit-shape-outside", "ellipse(-1em 1em at 1em 1em)") is ""
 PASS getComputedStyleValue("-webkit-shape-outside", "ellipse(-1em 1em at 1em 1em)") is "none"
-PASS getStyleValue("-webkit-shape-outside", "ellipse(1em -1em at 1em 1em)") is null
+PASS getStyleValue("-webkit-shape-outside", "ellipse(1em -1em at 1em 1em)") is ""
 PASS getComputedStyleValue("-webkit-shape-outside", "ellipse(1em -1em at 1em 1em)") is "none"
 PASS successfullyParsed is true
 
index f7f69fa..cf869d4 100644 (file)
@@ -22,9 +22,8 @@ function getStyleValue(property, value) {
 
 function testStyleValue(value, expected) {
     if (expected === null)
-        shouldBeNull('getStyleValue("-webkit-shape-outside", "' + value + '")');
-    else
-        shouldBeEqualToString('getStyleValue("-webkit-shape-outside", "' + value + '")', expected);
+        expected = "";
+    shouldBeEqualToString('getStyleValue("-webkit-shape-outside", "' + value + '")', expected);
 }
 function testComputedStyleValue(value, expected) {
     testShapeComputedProperty("-webkit-shape-outside", value, expected);
index 1f9d394..bb4a2c6 100644 (file)
@@ -43,45 +43,45 @@ PASS parseDashboardRegion('dAsHbOaRd-rEgIoN(lAbEl rEcTaNgLe)') is 'dashboard-reg
 
 Some expected failures.
 
-PASS parseDashboardRegion('') is null
-PASS parseDashboardRegion(' ') is null
-PASS parseDashboardRegion('x') is null
-PASS parseDashboardRegion('dashboard-') is null
-PASS parseDashboardRegion('dashboard-region') is null
-PASS parseDashboardRegion('dashboard-region(') is null
-PASS parseDashboardRegion('dashboard-region(label') is null
-PASS parseDashboardRegion('dashboard-region(label ') is null
-PASS parseDashboardRegion('dashboard-region(label c') is null
-PASS parseDashboardRegion('dashboard-region(label circle') is null
-PASS parseDashboardRegion('dashboard-region(label)') is null
-PASS parseDashboardRegion('dashboard-region (label circle)') is null
-PASS parseDashboardRegion('dashboard-region(label,, circle)') is null
-PASS parseDashboardRegion('dashboard-region(label circle 1px2px 3px 4px)') is null
-PASS parseDashboardRegion('dashboard-region(label,, circle, 1px, 2px, 3px, 4px)') is null
-PASS parseDashboardRegion('dashboard-region(label, circle 1px 2px 3px 4px)') is null
-PASS parseDashboardRegion('dashboard-region(label, circle, 1px 2px 3px 4px)') is null
-PASS parseDashboardRegion('dashboard-region(label, circle, 1px, 2px 3px 4px)') is null
-PASS parseDashboardRegion('dashboard-region(label, circle, 1px, 2px, 3px 4px)') is null
-PASS parseDashboardRegion('dashboard-region(label circle, 1px, 2px, 3px, 4px)') is null
-PASS parseDashboardRegion('dashboard-region(label circle 1px, 2px, 3px, 4px)') is null
-PASS parseDashboardRegion('dashboard-region(label circle x)') is null
-PASS parseDashboardRegion('dashboard-region(label circle x x)') is null
-PASS parseDashboardRegion('dashboard-region(label circle x x x)') is null
-PASS parseDashboardRegion('dashboard-region(label circle x x x x)') is null
-PASS parseDashboardRegion('dashboard-region(label circle x x x x x)') is null
-PASS parseDashboardRegion('dashboard-region(label circle 1px 2px 3px 4px x)') is null
-PASS parseDashboardRegion('dashboard-region(label circle 1px 2px 3px 4px x x)') is null
-PASS parseDashboardRegion('dashboard-region(label circle 1px 2px 3px 4px x x x)') is null
-PASS parseDashboardRegion('dashboard-region(label circle 1px 2px 3px 4px x x x x)') is null
-PASS parseDashboardRegion('dashboard-region(label circle 1px 2px 3px 4px x x x x x)') is null
-PASS parseDashboardRegion('dashboard-region(label circle 1px 2px 3px 4px circle 5px 6px 7px 8px)') is null
-PASS parseDashboardRegion('dashboard-region(label, circle, 1px, 2px, 3px, 4px, circle, 5px, 6px, 7px, 8px)') is null
-PASS parseDashboardRegion('none x') is null
-PASS parseDashboardRegion('none x x') is null
-PASS parseDashboardRegion('none x x x') is null
-PASS parseDashboardRegion('none x x x x') is null
-PASS parseDashboardRegion('none dashboard-region(label, circle)') is null
-PASS parseDashboardRegion('dashboard-region(label, circle) none') is null
+PASS parseDashboardRegion('') is ''
+PASS parseDashboardRegion(' ') is ''
+PASS parseDashboardRegion('x') is ''
+PASS parseDashboardRegion('dashboard-') is ''
+PASS parseDashboardRegion('dashboard-region') is ''
+PASS parseDashboardRegion('dashboard-region(') is ''
+PASS parseDashboardRegion('dashboard-region(label') is ''
+PASS parseDashboardRegion('dashboard-region(label ') is ''
+PASS parseDashboardRegion('dashboard-region(label c') is ''
+PASS parseDashboardRegion('dashboard-region(label circle') is ''
+PASS parseDashboardRegion('dashboard-region(label)') is ''
+PASS parseDashboardRegion('dashboard-region (label circle)') is ''
+PASS parseDashboardRegion('dashboard-region(label,, circle)') is ''
+PASS parseDashboardRegion('dashboard-region(label circle 1px2px 3px 4px)') is ''
+PASS parseDashboardRegion('dashboard-region(label,, circle, 1px, 2px, 3px, 4px)') is ''
+PASS parseDashboardRegion('dashboard-region(label, circle 1px 2px 3px 4px)') is ''
+PASS parseDashboardRegion('dashboard-region(label, circle, 1px 2px 3px 4px)') is ''
+PASS parseDashboardRegion('dashboard-region(label, circle, 1px, 2px 3px 4px)') is ''
+PASS parseDashboardRegion('dashboard-region(label, circle, 1px, 2px, 3px 4px)') is ''
+PASS parseDashboardRegion('dashboard-region(label circle, 1px, 2px, 3px, 4px)') is ''
+PASS parseDashboardRegion('dashboard-region(label circle 1px, 2px, 3px, 4px)') is ''
+PASS parseDashboardRegion('dashboard-region(label circle x)') is ''
+PASS parseDashboardRegion('dashboard-region(label circle x x)') is ''
+PASS parseDashboardRegion('dashboard-region(label circle x x x)') is ''
+PASS parseDashboardRegion('dashboard-region(label circle x x x x)') is ''
+PASS parseDashboardRegion('dashboard-region(label circle x x x x x)') is ''
+PASS parseDashboardRegion('dashboard-region(label circle 1px 2px 3px 4px x)') is ''
+PASS parseDashboardRegion('dashboard-region(label circle 1px 2px 3px 4px x x)') is ''
+PASS parseDashboardRegion('dashboard-region(label circle 1px 2px 3px 4px x x x)') is ''
+PASS parseDashboardRegion('dashboard-region(label circle 1px 2px 3px 4px x x x x)') is ''
+PASS parseDashboardRegion('dashboard-region(label circle 1px 2px 3px 4px x x x x x)') is ''
+PASS parseDashboardRegion('dashboard-region(label circle 1px 2px 3px 4px circle 5px 6px 7px 8px)') is ''
+PASS parseDashboardRegion('dashboard-region(label, circle, 1px, 2px, 3px, 4px, circle, 5px, 6px, 7px, 8px)') is ''
+PASS parseDashboardRegion('none x') is ''
+PASS parseDashboardRegion('none x x') is ''
+PASS parseDashboardRegion('none x x x') is ''
+PASS parseDashboardRegion('none x x x x') is ''
+PASS parseDashboardRegion('none dashboard-region(label, circle)') is ''
+PASS parseDashboardRegion('dashboard-region(label, circle) none') is ''
 
 PASS successfullyParsed is true
 
index 75df608..a947f1b 100644 (file)
@@ -83,45 +83,45 @@ debug('');
 debug('Some expected failures.');
 debug('');
 
-shouldBe("parseDashboardRegion('')", "null");
-shouldBe("parseDashboardRegion(' ')", "null");
-shouldBe("parseDashboardRegion('x')", "null");
-shouldBe("parseDashboardRegion('dashboard-')", "null");
-shouldBe("parseDashboardRegion('dashboard-region')", "null");
-shouldBe("parseDashboardRegion('dashboard-region(')", "null");
-shouldBe("parseDashboardRegion('dashboard-region(label')", "null");
-shouldBe("parseDashboardRegion('dashboard-region(label ')", "null");
-shouldBe("parseDashboardRegion('dashboard-region(label c')", "null");
-shouldBe("parseDashboardRegion('dashboard-region(label circle')", "null");
-shouldBe("parseDashboardRegion('dashboard-region(label)')", "null");
-shouldBe("parseDashboardRegion('dashboard-region (label circle)')", "null");
-shouldBe("parseDashboardRegion('dashboard-region(label,, circle)')", "null");
-shouldBe("parseDashboardRegion('dashboard-region(label circle 1px2px 3px 4px)')", "null");
-shouldBe("parseDashboardRegion('dashboard-region(label,, circle, 1px, 2px, 3px, 4px)')", "null");
-shouldBe("parseDashboardRegion('dashboard-region(label, circle 1px 2px 3px 4px)')", "null");
-shouldBe("parseDashboardRegion('dashboard-region(label, circle, 1px 2px 3px 4px)')", "null");
-shouldBe("parseDashboardRegion('dashboard-region(label, circle, 1px, 2px 3px 4px)')", "null");
-shouldBe("parseDashboardRegion('dashboard-region(label, circle, 1px, 2px, 3px 4px)')", "null");
-shouldBe("parseDashboardRegion('dashboard-region(label circle, 1px, 2px, 3px, 4px)')", "null");
-shouldBe("parseDashboardRegion('dashboard-region(label circle 1px, 2px, 3px, 4px)')", "null");
-shouldBe("parseDashboardRegion('dashboard-region(label circle x)')", "null");
-shouldBe("parseDashboardRegion('dashboard-region(label circle x x)')", "null");
-shouldBe("parseDashboardRegion('dashboard-region(label circle x x x)')", "null");
-shouldBe("parseDashboardRegion('dashboard-region(label circle x x x x)')", "null");
-shouldBe("parseDashboardRegion('dashboard-region(label circle x x x x x)')", "null");
-shouldBe("parseDashboardRegion('dashboard-region(label circle 1px 2px 3px 4px x)')", "null");
-shouldBe("parseDashboardRegion('dashboard-region(label circle 1px 2px 3px 4px x x)')", "null");
-shouldBe("parseDashboardRegion('dashboard-region(label circle 1px 2px 3px 4px x x x)')", "null");
-shouldBe("parseDashboardRegion('dashboard-region(label circle 1px 2px 3px 4px x x x x)')", "null");
-shouldBe("parseDashboardRegion('dashboard-region(label circle 1px 2px 3px 4px x x x x x)')", "null");
-shouldBe("parseDashboardRegion('dashboard-region(label circle 1px 2px 3px 4px circle 5px 6px 7px 8px)')", "null");
-shouldBe("parseDashboardRegion('dashboard-region(label, circle, 1px, 2px, 3px, 4px, circle, 5px, 6px, 7px, 8px)')", "null");
-shouldBe("parseDashboardRegion('none x')", "null");
-shouldBe("parseDashboardRegion('none x x')", "null");
-shouldBe("parseDashboardRegion('none x x x')", "null");
-shouldBe("parseDashboardRegion('none x x x x')", "null");
-shouldBe("parseDashboardRegion('none dashboard-region(label, circle)')", "null");
-shouldBe("parseDashboardRegion('dashboard-region(label, circle) none')", "null");
+shouldBe("parseDashboardRegion('')", "''");
+shouldBe("parseDashboardRegion(' ')", "''");
+shouldBe("parseDashboardRegion('x')", "''");
+shouldBe("parseDashboardRegion('dashboard-')", "''");
+shouldBe("parseDashboardRegion('dashboard-region')", "''");
+shouldBe("parseDashboardRegion('dashboard-region(')", "''");
+shouldBe("parseDashboardRegion('dashboard-region(label')", "''");
+shouldBe("parseDashboardRegion('dashboard-region(label ')", "''");
+shouldBe("parseDashboardRegion('dashboard-region(label c')", "''");
+shouldBe("parseDashboardRegion('dashboard-region(label circle')", "''");
+shouldBe("parseDashboardRegion('dashboard-region(label)')", "''");
+shouldBe("parseDashboardRegion('dashboard-region (label circle)')", "''");
+shouldBe("parseDashboardRegion('dashboard-region(label,, circle)')", "''");
+shouldBe("parseDashboardRegion('dashboard-region(label circle 1px2px 3px 4px)')", "''");
+shouldBe("parseDashboardRegion('dashboard-region(label,, circle, 1px, 2px, 3px, 4px)')", "''");
+shouldBe("parseDashboardRegion('dashboard-region(label, circle 1px 2px 3px 4px)')", "''");
+shouldBe("parseDashboardRegion('dashboard-region(label, circle, 1px 2px 3px 4px)')", "''");
+shouldBe("parseDashboardRegion('dashboard-region(label, circle, 1px, 2px 3px 4px)')", "''");
+shouldBe("parseDashboardRegion('dashboard-region(label, circle, 1px, 2px, 3px 4px)')", "''");
+shouldBe("parseDashboardRegion('dashboard-region(label circle, 1px, 2px, 3px, 4px)')", "''");
+shouldBe("parseDashboardRegion('dashboard-region(label circle 1px, 2px, 3px, 4px)')", "''");
+shouldBe("parseDashboardRegion('dashboard-region(label circle x)')", "''");
+shouldBe("parseDashboardRegion('dashboard-region(label circle x x)')", "''");
+shouldBe("parseDashboardRegion('dashboard-region(label circle x x x)')", "''");
+shouldBe("parseDashboardRegion('dashboard-region(label circle x x x x)')", "''");
+shouldBe("parseDashboardRegion('dashboard-region(label circle x x x x x)')", "''");
+shouldBe("parseDashboardRegion('dashboard-region(label circle 1px 2px 3px 4px x)')", "''");
+shouldBe("parseDashboardRegion('dashboard-region(label circle 1px 2px 3px 4px x x)')", "''");
+shouldBe("parseDashboardRegion('dashboard-region(label circle 1px 2px 3px 4px x x x)')", "''");
+shouldBe("parseDashboardRegion('dashboard-region(label circle 1px 2px 3px 4px x x x x)')", "''");
+shouldBe("parseDashboardRegion('dashboard-region(label circle 1px 2px 3px 4px x x x x x)')", "''");
+shouldBe("parseDashboardRegion('dashboard-region(label circle 1px 2px 3px 4px circle 5px 6px 7px 8px)')", "''");
+shouldBe("parseDashboardRegion('dashboard-region(label, circle, 1px, 2px, 3px, 4px, circle, 5px, 6px, 7px, 8px)')", "''");
+shouldBe("parseDashboardRegion('none x')", "''");
+shouldBe("parseDashboardRegion('none x x')", "''");
+shouldBe("parseDashboardRegion('none x x x')", "''");
+shouldBe("parseDashboardRegion('none x x x x')", "''");
+shouldBe("parseDashboardRegion('none dashboard-region(label, circle)')", "''");
+shouldBe("parseDashboardRegion('dashboard-region(label, circle) none')", "''");
 
 debug('');
 
index e8f8807..d371379 100644 (file)
@@ -1,6 +1,6 @@
 PASS cssRule.type is cssRule.STYLE_RULE
 PASS declaration.length is 0
-PASS declaration.getPropertyValue('-apple-trailing-word') is null
+PASS declaration.getPropertyValue('-apple-trailing-word') is ""
 PASS computedStyle.getPropertyCSSValue('-apple-trailing-word').cssText is "auto"
 PASS cssRule.type is cssRule.STYLE_RULE
 PASS declaration.length is 1
index ca0c8dd..d2d1fbf 100644 (file)
@@ -22,7 +22,7 @@
       shouldBe("cssRule.type", "cssRule.STYLE_RULE");
       declaration = cssRule.style;
       shouldBe("declaration.length", "0");
-      shouldBe("declaration.getPropertyValue('-apple-trailing-word')", "null");
+      shouldBeEqualToString("declaration.getPropertyValue('-apple-trailing-word')", "");
       computedStyle = window.getComputedStyle(target, null);
       shouldBeEqualToString("computedStyle.getPropertyCSSValue('-apple-trailing-word').cssText", "auto");
       stylesheet.deleteRule(0);
index 903809b..25787a8 100644 (file)
@@ -35,21 +35,21 @@ PASS computedStyle("paint-order", "stroke fill") is "stroke"
 PASS computedStyle("paint-order", "stroke fill markers") is "stroke"
 PASS computedStyle("paint-order", "stroke markers") is "stroke markers"
 PASS computedStyle("paint-order", "stroke markers fill") is "stroke markers"
-PASS innerStyle("paint-order", "normal fill") is null
+PASS innerStyle("paint-order", "normal fill") is ""
 PASS computedStyle("paint-order", "normal fill") is "normal"
-PASS innerStyle("paint-order", "normal stroke") is null
+PASS innerStyle("paint-order", "normal stroke") is ""
 PASS computedStyle("paint-order", "normal stroke") is "normal"
-PASS innerStyle("paint-order", "normal markers") is null
+PASS innerStyle("paint-order", "normal markers") is ""
 PASS computedStyle("paint-order", "normal markers") is "normal"
-PASS innerStyle("paint-order", "fill fill") is null
+PASS innerStyle("paint-order", "fill fill") is ""
 PASS computedStyle("paint-order", "fill fill") is "normal"
-PASS innerStyle("paint-order", "stroke stroke") is null
+PASS innerStyle("paint-order", "stroke stroke") is ""
 PASS computedStyle("paint-order", "stroke stroke") is "normal"
-PASS innerStyle("paint-order", "markers markers") is null
+PASS innerStyle("paint-order", "markers markers") is ""
 PASS computedStyle("paint-order", "markers markers") is "normal"
-PASS innerStyle("paint-order", "markers fill markers") is null
+PASS innerStyle("paint-order", "markers fill markers") is ""
 PASS computedStyle("paint-order", "markers fill markers") is "normal"
-PASS innerStyle("paint-order", "markers stroke markers") is null
+PASS innerStyle("paint-order", "markers stroke markers") is ""
 PASS computedStyle("paint-order", "markers stroke markers") is "normal"
 PASS successfullyParsed is true
 
index a357864..770e8b7 100644 (file)
@@ -30,9 +30,8 @@ function testComputed(property, value, expected) {
 
 function testInner(property, value, expected) {
     if (expected === null)
-        shouldBeNull('innerStyle("' + property + '", "' + value + '")');
-    else
-        shouldBeEqualToString('innerStyle("' + property + '", "' + value + '")', expected);
+        expected = "";
+    shouldBeEqualToString('innerStyle("' + property + '", "' + value + '")', expected);
 }
 
 function negativeTest(property, value) {
index 90cbc35..20d4112 100644 (file)
@@ -1,3 +1,20 @@
+2015-08-03  Benjamin Poulain  <bpoulain@apple.com>
+
+        Returns inconsistent types for el.style.property and el.style.getPropertyValue('color')
+        https://bugs.webkit.org/show_bug.cgi?id=147549
+
+        Reviewed by Andreas Kling.
+
+        Kudos to Greg Whitworth for finding this bug.
+
+        Test: fast/css/getPropertyValue-returns-empty-on-missing-property.html
+
+        * css/CSSStyleDeclaration.idl:
+        Our definition was wrong.
+        Current spec: http://www.w3.org/TR/cssom/#dom-cssstyledeclaration-getpropertyvalue
+        Current draft: https://drafts.csswg.org/cssom/#dom-cssstyledeclaration-getpropertyvalue
+        Gecko and EdgeHTML follow the spec.
+
 2015-08-03  Myles C. Maxfield  <mmaxfield@apple.com>
 
         Fix crashing Mavericks test
index a9bdc54..d08b659 100644 (file)
@@ -30,7 +30,7 @@
 ] interface CSSStyleDeclaration {
     [TreatReturnedNullStringAs=Null, TreatNullAs=NullString, SetterRaisesException] attribute DOMString cssText;
 
-    [TreatReturnedNullStringAs=Null] DOMString          getPropertyValue([Default=Undefined] optional DOMString propertyName);
+    DOMString getPropertyValue([Default=Undefined] DOMString propertyName);
     [Custom] CSSValue           getPropertyCSSValue([Default=Undefined] optional DOMString propertyName);
     [TreatReturnedNullStringAs=Null, RaisesException] DOMString          removeProperty([Default=Undefined] optional DOMString propertyName);
     [TreatReturnedNullStringAs=Null] DOMString          getPropertyPriority([Default=Undefined] optional DOMString propertyName);