Tests background shortand property with background-size

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


PASS e.style.background is 'url(dummy://test.png) center center / cover no-repeat border-box border-box red'
PASS e.style.backgroundSize is 'cover'
PASS checkStyle() is true
PASS computedStyle.getPropertyValue("background") is 'rgb(255, 0, 0) url(dummy://test.png) no-repeat scroll 50% 50% / cover border-box border-box'
PASS computedStyle.getPropertyValue("background-size") is 'cover'
PASS checkComputedStyleValue() is true

PASS e.style.background is 'url(dummy://test.png) 20px center / contain no-repeat padding-box padding-box red'
PASS e.style.backgroundSize is 'contain'
PASS checkStyle() is true
PASS computedStyle.getPropertyValue("background") is 'rgb(255, 0, 0) url(dummy://test.png) no-repeat scroll 20px 50% / contain padding-box padding-box'
PASS computedStyle.getPropertyValue("background-size") is 'contain'
PASS checkComputedStyleValue() is true

PASS e.style.background is 'url(dummy://test.png) 50px 60px / 50% 75% no-repeat red'
PASS e.style.backgroundSize is '50% 75%'
PASS checkStyle() is true
PASS computedStyle.getPropertyValue("background") is 'rgb(255, 0, 0) url(dummy://test.png) no-repeat scroll 50px 60px / 50% 75% padding-box border-box'
PASS computedStyle.getPropertyValue("background-size") is '50% 75%'
PASS checkComputedStyleValue() is true

PASS e.style.background is 'url(dummy://test.png) left top / 100px 200px repeat border-box content-box red'
PASS e.style.backgroundSize is '100px 200px'
PASS checkStyle() is true
PASS computedStyle.getPropertyValue("background") is 'rgb(255, 0, 0) url(dummy://test.png) repeat scroll 0% 0% / 100px 200px border-box content-box'
PASS computedStyle.getPropertyValue("background-size") is '100px 200px'
PASS checkComputedStyleValue() is true

PASS e.style.background is 'url(dummy://test.png) 50% center / auto repeat content-box padding-box red'
PASS e.style.backgroundSize is 'auto'
PASS checkStyle() is true
PASS computedStyle.getPropertyValue("background") is 'rgb(255, 0, 0) url(dummy://test.png) repeat scroll 50% 50% / auto content-box padding-box'
PASS computedStyle.getPropertyValue("background-size") is 'auto'
PASS checkComputedStyleValue() is true

PASS e.style.background is 'url(dummy://test.png) 50px 60px / 50% no-repeat fixed red'
PASS e.style.backgroundSize is '50%'
PASS checkStyle() is true
PASS computedStyle.getPropertyValue("background") is 'rgb(255, 0, 0) url(dummy://test.png) no-repeat fixed 50px 60px / 50% padding-box border-box'
PASS computedStyle.getPropertyValue("background-size") is '50%'
PASS checkComputedStyleValue() is true

PASS e.style.background is 'url(dummy://test.png) left top / 100px repeat scroll padding-box border-box red'
PASS e.style.backgroundSize is '100px'
PASS checkStyle() is true
PASS computedStyle.getPropertyValue("background") is 'rgb(255, 0, 0) url(dummy://test.png) repeat scroll 0% 0% / 100px padding-box border-box'
PASS computedStyle.getPropertyValue("background-size") is '100px'
PASS checkComputedStyleValue() is true

PASS e.style.background is 'url(dummy://test.png) 50% center / auto repeat fixed content-box content-box red'
PASS e.style.backgroundSize is 'auto'
PASS checkStyle() is true
PASS computedStyle.getPropertyValue("background") is 'rgb(255, 0, 0) url(dummy://test.png) repeat fixed 50% 50% / auto content-box content-box'
PASS computedStyle.getPropertyValue("background-size") is 'auto'
PASS checkComputedStyleValue() is true

PASS e.style.background is 'left top / 50%'
PASS e.style.backgroundSize is '50%'
PASS checkStyle() is true
PASS computedStyle.getPropertyValue("background") is 'rgba(0, 0, 0, 0) none repeat scroll 0% 0% / 50% padding-box border-box'
PASS computedStyle.getPropertyValue("background-size") is '50%'
PASS checkComputedStyleValue() is true

PASS e.style.background is 'fixed red'
PASS e.style.backgroundSize is 'initial'
PASS checkStyle() is true
PASS computedStyle.getPropertyValue("background") is 'rgb(255, 0, 0) none repeat fixed 0% 0% / auto padding-box border-box'
PASS computedStyle.getPropertyValue("background-size") is 'auto'
PASS checkComputedStyleValue() is true

PASS e.style.background is ''
PASS e.style.backgroundSize is ''
PASS checkStyle() is true
PASS computedStyle.getPropertyValue("background") is 'rgba(0, 0, 0, 0) none repeat scroll 0% 0% / auto padding-box border-box'
PASS computedStyle.getPropertyValue("background-size") is 'auto'
PASS checkComputedStyleValue() is true

PASS e.style.background is ''
PASS e.style.backgroundSize is ''
PASS checkStyle() is true
PASS computedStyle.getPropertyValue("background") is 'rgba(0, 0, 0, 0) none repeat scroll 0% 0% / auto padding-box border-box'
PASS computedStyle.getPropertyValue("background-size") is 'auto'
PASS checkComputedStyleValue() is true

PASS e.style.background is ''
PASS e.style.backgroundSize is ''
PASS checkStyle() is true
PASS computedStyle.getPropertyValue("background") is 'rgba(0, 0, 0, 0) none repeat scroll 0% 0% / auto padding-box border-box'
PASS computedStyle.getPropertyValue("background-size") is 'auto'
PASS checkComputedStyleValue() is true

PASS successfullyParsed is true

TEST COMPLETE

