<body>
<script>
-description("Test to make sure background shorthand properties returns CSSValueList properly.")
+description("Tests that the background shorthand is computed properly.")
var testContainer = document.createElement("div");
testContainer.contentEditable = true;
e.style.background = "red";
shouldBe("computedStyle.getPropertyValue('background')", "'rgb(255, 0, 0) none repeat scroll 0% 0% / auto padding-box border-box'");
-shouldBe("computedStyle.getPropertyCSSValue('background').toString()", "'[object CSSValueList]'");
-shouldBe("computedStyle.getPropertyCSSValue('background').cssText", "'rgb(255, 0, 0) none repeat scroll 0% 0% / auto padding-box border-box'");
-shouldBe("computedStyle.getPropertyCSSValue('background').length", "2");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(0).length", "5");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(1).length", "3");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(0).item(0).getRGBColorValue().red.getFloatValue(CSSPrimitiveValue.CSS_NUMBER)", "255");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(0).item(0).getRGBColorValue().green.getFloatValue(CSSPrimitiveValue.CSS_NUMBER)", "0");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(0).item(0).getRGBColorValue().blue.getFloatValue(CSSPrimitiveValue.CSS_NUMBER)", "0");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(0).item(1).item(0).getStringValue()", "'none'");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(0).item(2).item(0).getStringValue()", "'repeat'");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(0).item(3).item(0).getStringValue()", "'scroll'");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(0).item(4).toString()", "'[object CSSValueList]'");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(0).item(4).item(0).item(0).getFloatValue(CSSPrimitiveValue.CSS_PERCENTAGE)", "0");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(0).item(4).item(0).item(1).getFloatValue(CSSPrimitiveValue.CSS_PERCENTAGE)", "0");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(1).item(0).item(0).getStringValue()", "'auto'");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(1).item(1).item(0).getStringValue()", "'padding-box'");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(1).item(2).item(0).getStringValue()", "'border-box'");
shouldBe("checkComputedStyleValue()", "true");
e.style.backgroundImage = "url(dummy://test.png)";
shouldBe("computedStyle.getPropertyValue('background')", "'rgb(255, 0, 0) url(dummy://test.png) repeat scroll 0% 0% / auto padding-box border-box'");
-shouldBe("computedStyle.getPropertyCSSValue('background').toString()", "'[object CSSValueList]'");
-shouldBe("computedStyle.getPropertyCSSValue('background').cssText", "'rgb(255, 0, 0) url(dummy://test.png) repeat scroll 0% 0% / auto padding-box border-box'");
-shouldBe("computedStyle.getPropertyCSSValue('background').length", "2");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(0).length", "5");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(1).length", "3");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(0).item(0).getRGBColorValue().red.getFloatValue(CSSPrimitiveValue.CSS_NUMBER)", "255");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(0).item(0).getRGBColorValue().green.getFloatValue(CSSPrimitiveValue.CSS_NUMBER)", "0");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(0).item(0).getRGBColorValue().blue.getFloatValue(CSSPrimitiveValue.CSS_NUMBER)", "0");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(0).item(1).item(0).getStringValue()", "'dummy://test.png'");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(0).item(2).item(0).getStringValue()", "'repeat'");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(0).item(3).item(0).getStringValue()", "'scroll'");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(0).item(4).toString()", "'[object CSSValueList]'");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(0).item(4).item(0).item(0).getFloatValue(CSSPrimitiveValue.CSS_PERCENTAGE)", "0");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(0).item(4).item(0).item(1).getFloatValue(CSSPrimitiveValue.CSS_PERCENTAGE)", "0");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(1).item(0).item(0).getStringValue()", "'auto'");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(1).item(1).item(0).getStringValue()", "'padding-box'");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(1).item(2).item(0).getStringValue()", "'border-box'");
shouldBe("checkComputedStyleValue()", "true");
e.style.backgroundRepeat = "no-repeat";
shouldBe("computedStyle.getPropertyValue('background')", "'rgb(255, 0, 0) url(dummy://test.png) no-repeat scroll 0% 0% / auto padding-box border-box'");
-shouldBe("computedStyle.getPropertyCSSValue('background').toString()", "'[object CSSValueList]'");
-shouldBe("computedStyle.getPropertyCSSValue('background').cssText", "'rgb(255, 0, 0) url(dummy://test.png) no-repeat scroll 0% 0% / auto padding-box border-box'");
-shouldBe("computedStyle.getPropertyCSSValue('background').length", "2");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(0).length", "5");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(1).length", "3");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(0).item(0).getRGBColorValue().red.getFloatValue(CSSPrimitiveValue.CSS_NUMBER)", "255");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(0).item(0).getRGBColorValue().green.getFloatValue(CSSPrimitiveValue.CSS_NUMBER)", "0");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(0).item(0).getRGBColorValue().blue.getFloatValue(CSSPrimitiveValue.CSS_NUMBER)", "0");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(0).item(1).item(0).getStringValue()", "'dummy://test.png'");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(0).item(2).item(0).getStringValue()", "'no-repeat'");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(0).item(3).item(0).getStringValue()", "'scroll'");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(0).item(4).toString()", "'[object CSSValueList]'");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(0).item(4).item(0).item(0).getFloatValue(CSSPrimitiveValue.CSS_PERCENTAGE)", "0");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(0).item(4).item(0).item(1).getFloatValue(CSSPrimitiveValue.CSS_PERCENTAGE)", "0");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(1).item(0).item(0).getStringValue()", "'auto'");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(1).item(1).item(0).getStringValue()", "'padding-box'");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(1).item(2).item(0).getStringValue()", "'border-box'");
shouldBe("checkComputedStyleValue()", "true");
e.style.backgroundAttachment = "fixed";
shouldBe("computedStyle.getPropertyValue('background')", "'rgb(255, 0, 0) url(dummy://test.png) no-repeat fixed 0% 0% / auto padding-box border-box'");
-shouldBe("computedStyle.getPropertyCSSValue('background').toString()", "'[object CSSValueList]'");
-shouldBe("computedStyle.getPropertyCSSValue('background').cssText", "'rgb(255, 0, 0) url(dummy://test.png) no-repeat fixed 0% 0% / auto padding-box border-box'");
-shouldBe("computedStyle.getPropertyCSSValue('background').length", "2");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(0).length", "5");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(1).length", "3");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(0).item(0).getRGBColorValue().red.getFloatValue(CSSPrimitiveValue.CSS_NUMBER)", "255");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(0).item(0).getRGBColorValue().green.getFloatValue(CSSPrimitiveValue.CSS_NUMBER)", "0");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(0).item(0).getRGBColorValue().blue.getFloatValue(CSSPrimitiveValue.CSS_NUMBER)", "0");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(0).item(1).item(0).getStringValue()", "'dummy://test.png'");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(0).item(2).item(0).getStringValue()", "'no-repeat'");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(0).item(3).item(0).getStringValue()", "'fixed'");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(0).item(4).toString()", "'[object CSSValueList]'");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(0).item(4).item(0).item(0).getFloatValue(CSSPrimitiveValue.CSS_PERCENTAGE)", "0");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(0).item(4).item(0).item(1).getFloatValue(CSSPrimitiveValue.CSS_PERCENTAGE)", "0");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(1).item(0).item(0).getStringValue()", "'auto'");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(1).item(1).item(0).getStringValue()", "'padding-box'");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(1).item(2).item(0).getStringValue()", "'border-box'");
shouldBe("checkComputedStyleValue()", "true");
e.style.backgroundPosition = "right bottom";
shouldBe("computedStyle.getPropertyValue('background')", "'rgb(255, 0, 0) url(dummy://test.png) no-repeat fixed 100% 100% / auto padding-box border-box'");
-shouldBe("computedStyle.getPropertyCSSValue('background').toString()", "'[object CSSValueList]'");
-shouldBe("computedStyle.getPropertyCSSValue('background').cssText", "'rgb(255, 0, 0) url(dummy://test.png) no-repeat fixed 100% 100% / auto padding-box border-box'");
-shouldBe("computedStyle.getPropertyCSSValue('background').length", "2");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(0).length", "5");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(1).length", "3");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(0).item(0).getRGBColorValue().red.getFloatValue(CSSPrimitiveValue.CSS_NUMBER)", "255");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(0).item(0).getRGBColorValue().green.getFloatValue(CSSPrimitiveValue.CSS_NUMBER)", "0");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(0).item(0).getRGBColorValue().blue.getFloatValue(CSSPrimitiveValue.CSS_NUMBER)", "0");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(0).item(1).item(0).getStringValue()", "'dummy://test.png'");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(0).item(2).item(0).getStringValue()", "'no-repeat'");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(0).item(3).item(0).getStringValue()", "'fixed'");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(0).item(4).toString()", "'[object CSSValueList]'");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(0).item(4).item(0).item(0).getFloatValue(CSSPrimitiveValue.CSS_PERCENTAGE)", "100");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(0).item(4).item(0).item(1).getFloatValue(CSSPrimitiveValue.CSS_PERCENTAGE)", "100");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(1).item(0).item(0).getStringValue()", "'auto'");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(1).item(1).item(0).getStringValue()", "'padding-box'");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(1).item(2).item(0).getStringValue()", "'border-box'");
shouldBe("checkComputedStyleValue()", "true");
e.style.backgroundSize = "cover";
shouldBe("computedStyle.getPropertyValue('background')", "'rgb(255, 0, 0) url(dummy://test.png) no-repeat fixed 100% 100% / cover padding-box border-box'");
-shouldBe("computedStyle.getPropertyCSSValue('background').toString()", "'[object CSSValueList]'");
-shouldBe("computedStyle.getPropertyCSSValue('background').cssText", "'rgb(255, 0, 0) url(dummy://test.png) no-repeat fixed 100% 100% / cover padding-box border-box'");
-shouldBe("computedStyle.getPropertyCSSValue('background').length", "2");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(0).length", "5");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(1).length", "3");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(0).item(0).getRGBColorValue().red.getFloatValue(CSSPrimitiveValue.CSS_NUMBER)", "255");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(0).item(0).getRGBColorValue().green.getFloatValue(CSSPrimitiveValue.CSS_NUMBER)", "0");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(0).item(0).getRGBColorValue().blue.getFloatValue(CSSPrimitiveValue.CSS_NUMBER)", "0");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(0).item(1).item(0).getStringValue()", "'dummy://test.png'");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(0).item(2).item(0).getStringValue()", "'no-repeat'");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(0).item(3).item(0).getStringValue()", "'fixed'");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(0).item(4).toString()", "'[object CSSValueList]'");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(0).item(4).item(0).item(0).getFloatValue(CSSPrimitiveValue.CSS_PERCENTAGE)", "100");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(0).item(4).item(0).item(1).getFloatValue(CSSPrimitiveValue.CSS_PERCENTAGE)", "100");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(1).item(0).item(0).getStringValue()", "'cover'");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(1).item(1).item(0).getStringValue()", "'padding-box'");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(1).item(2).item(0).getStringValue()", "'border-box'");
shouldBe("checkComputedStyleValue()", "true");
e.style.backgroundOrigin = "content-box";
shouldBe("computedStyle.getPropertyValue('background')", "'rgb(255, 0, 0) url(dummy://test.png) no-repeat fixed 100% 100% / cover content-box border-box'");
-shouldBe("computedStyle.getPropertyCSSValue('background').toString()", "'[object CSSValueList]'");
-shouldBe("computedStyle.getPropertyCSSValue('background').cssText", "'rgb(255, 0, 0) url(dummy://test.png) no-repeat fixed 100% 100% / cover content-box border-box'");
-shouldBe("computedStyle.getPropertyCSSValue('background').length", "2");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(0).length", "5");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(1).length", "3");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(0).item(0).getRGBColorValue().red.getFloatValue(CSSPrimitiveValue.CSS_NUMBER)", "255");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(0).item(0).getRGBColorValue().green.getFloatValue(CSSPrimitiveValue.CSS_NUMBER)", "0");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(0).item(0).getRGBColorValue().blue.getFloatValue(CSSPrimitiveValue.CSS_NUMBER)", "0");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(0).item(1).item(0).getStringValue()", "'dummy://test.png'");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(0).item(2).item(0).getStringValue()", "'no-repeat'");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(0).item(3).item(0).getStringValue()", "'fixed'");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(0).item(4).toString()", "'[object CSSValueList]'");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(0).item(4).item(0).item(0).getFloatValue(CSSPrimitiveValue.CSS_PERCENTAGE)", "100");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(0).item(4).item(0).item(1).getFloatValue(CSSPrimitiveValue.CSS_PERCENTAGE)", "100");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(1).item(0).item(0).getStringValue()", "'cover'");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(1).item(1).item(0).getStringValue()", "'content-box'");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(1).item(2).item(0).getStringValue()", "'border-box'");
shouldBe("checkComputedStyleValue()", "true");
e.style.backgroundClip = "padding-box";
shouldBe("computedStyle.getPropertyValue('background')", "'rgb(255, 0, 0) url(dummy://test.png) no-repeat fixed 100% 100% / cover content-box padding-box'");
-shouldBe("computedStyle.getPropertyCSSValue('background').toString()", "'[object CSSValueList]'");
-shouldBe("computedStyle.getPropertyCSSValue('background').cssText", "'rgb(255, 0, 0) url(dummy://test.png) no-repeat fixed 100% 100% / cover content-box padding-box'");
-shouldBe("computedStyle.getPropertyCSSValue('background').length", "2");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(0).length", "5");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(1).length", "3");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(0).item(0).getRGBColorValue().red.getFloatValue(CSSPrimitiveValue.CSS_NUMBER)", "255");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(0).item(0).getRGBColorValue().green.getFloatValue(CSSPrimitiveValue.CSS_NUMBER)", "0");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(0).item(0).getRGBColorValue().blue.getFloatValue(CSSPrimitiveValue.CSS_NUMBER)", "0");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(0).item(1).item(0).getStringValue()", "'dummy://test.png'");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(0).item(2).item(0).getStringValue()", "'no-repeat'");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(0).item(3).item(0).getStringValue()", "'fixed'");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(0).item(4).toString()", "'[object CSSValueList]'");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(0).item(4).item(0).item(0).getFloatValue(CSSPrimitiveValue.CSS_PERCENTAGE)", "100");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(0).item(4).item(0).item(1).getFloatValue(CSSPrimitiveValue.CSS_PERCENTAGE)", "100");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(1).item(0).item(0).getStringValue()", "'cover'");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(1).item(1).item(0).getStringValue()", "'content-box'");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(1).item(2).item(0).getStringValue()", "'padding-box'");
shouldBe("checkComputedStyleValue()", "true");
e.style.background = "border-box padding-box url(dummy://test.png) green 45% / contain repeat fixed";
shouldBe("computedStyle.getPropertyValue('background')", "'rgb(0, 128, 0) url(dummy://test.png) repeat fixed 45% 50% / contain border-box padding-box'");
-shouldBe("computedStyle.getPropertyCSSValue('background').toString()", "'[object CSSValueList]'");
-shouldBe("computedStyle.getPropertyCSSValue('background').cssText", "'rgb(0, 128, 0) url(dummy://test.png) repeat fixed 45% 50% / contain border-box padding-box'");
-shouldBe("computedStyle.getPropertyCSSValue('background').length", "2");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(0).length", "5");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(1).length", "3");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(0).item(0).getRGBColorValue().red.getFloatValue(CSSPrimitiveValue.CSS_NUMBER)", "0");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(0).item(0).getRGBColorValue().green.getFloatValue(CSSPrimitiveValue.CSS_NUMBER)", "128");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(0).item(0).getRGBColorValue().blue.getFloatValue(CSSPrimitiveValue.CSS_NUMBER)", "0");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(0).item(1).item(0).getStringValue()", "'dummy://test.png'");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(0).item(2).item(0).getStringValue()", "'repeat'");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(0).item(3).item(0).getStringValue()", "'fixed'");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(0).item(4).toString()", "'[object CSSValueList]'");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(0).item(4).item(0).item(0).getFloatValue(CSSPrimitiveValue.CSS_PERCENTAGE)", "45");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(0).item(4).item(0).item(1).getFloatValue(CSSPrimitiveValue.CSS_PERCENTAGE)", "50");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(1).item(0).item(0).getStringValue()", "'contain'");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(1).item(1).item(0).getStringValue()", "'border-box'");
-shouldBe("computedStyle.getPropertyCSSValue('background').item(1).item(2).item(0).getStringValue()", "'padding-box'");
shouldBe("checkComputedStyleValue()", "true");
document.body.removeChild(testContainer);