Test the setting of the image-set function.

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



Single value for background-image : url(http://www.webkit.org/a) 1x
PASS testComputedStyle("background-image", "image-set(url(http://www.webkit.org/a) 1x)") is "image-set(url(http://www.webkit.org/a) 1x)"

Multiple values for background-image : url(http://www.webkit.org/a) 1x, url(http://www.webkit.org/b) 2x
PASS testComputedStyle("background-image", "image-set(url(http://www.webkit.org/a) 1x, url(http://www.webkit.org/b) 2x)") is "image-set(url(http://www.webkit.org/a) 1x, url(http://www.webkit.org/b) 2x)"

Multiple values for background-image, out of order : url(http://www.webkit.org/c) 3x, url(http://www.webkit.org/b) 2x, url(http://www.webkit.org/a) 1x
PASS testComputedStyle("background-image", "image-set(url(http://www.webkit.org/c) 3x, url(http://www.webkit.org/b) 2x, url(http://www.webkit.org/a) 1x)") is "image-set(url(http://www.webkit.org/c) 3x, url(http://www.webkit.org/b) 2x, url(http://www.webkit.org/a) 1x)"

Duplicate values for background-image : url(http://www.webkit.org/c) 1x, url(http://www.webkit.org/b) 2x, url(http://www.webkit.org/a) 1x
PASS testComputedStyle("background-image", "image-set(url(http://www.webkit.org/c) 1x, url(http://www.webkit.org/b) 2x, url(http://www.webkit.org/a) 1x)") is "image-set(url(http://www.webkit.org/c) 1x, url(http://www.webkit.org/b) 2x, url(http://www.webkit.org/a) 1x)"

Fractional values for background-image : url(http://www.webkit.org/c) 0.2x, url(http://www.webkit.org/b) 2.3x, url(http://www.webkit.org/a) 12.3456x
PASS testComputedStyle("background-image", "image-set(url(http://www.webkit.org/c) 0.2x, url(http://www.webkit.org/b) 2.3x, url(http://www.webkit.org/a) 12.3456x)") is "image-set(url(http://www.webkit.org/c) 0.2x, url(http://www.webkit.org/b) 2.3x, url(http://www.webkit.org/a) 12.3456x)"
PASS successfullyParsed is true

TEST COMPLETE

