| <pre id="output"></pre> |
| <script> |
| function debug(msg) |
| { |
| var output = document.getElementById("output"); |
| output.appendChild(document.createTextNode(msg + "\n")); |
| } |
| |
| function testComputedStyle(property, fullRule) |
| { |
| var div = document.createElement("div"); |
| document.body.appendChild(div); |
| div.setAttribute("style", property + ": " + fullRule); |
| var computedValue = div.style[property]; |
| document.body.removeChild(div); |
| return computedValue; |
| } |
| |
| function testImageSetRule(description, property, rule) |
| { |
| debug(""); |
| debug(`${description} : ${rule}`); |
| |
| var rule = `image-set(${rule})`; |
| if (property == 'cursor') |
| rule += ', default'; |
| |
| if (testComputedStyle(property, rule) == rule.replace(/x(?=[,)])/g, 'dppx')) |
| debug("Unprefixed: PASS"); |
| else |
| debug("Unprefixed: FAIL"); |
| |
| if (testComputedStyle(property, "-webkit-" + rule) == rule.replace(/x(?=[,)])/g, 'dppx')) |
| debug("Prefixed: PASS"); |
| else |
| debug("Prefixed: FAIL"); |
| } |
| |
| if (window.testRunner) |
| window.testRunner.dumpAsText(); |
| |
| testImageSetRule("Single value for background-image", |
| "background-image", |
| "url(\"http://www.webkit.org/a\") 1x"); |
| |
| testImageSetRule("Multiple values for background-image", |
| "background-image", |
| "url(\"http://www.webkit.org/a\") 1x, url(\"http://www.webkit.org/b\") 2x"); |
| |
| testImageSetRule("Multiple values for background-image, out of order", |
| "background-image", |
| "url(\"http://www.webkit.org/c\") 3x, url(\"http://www.webkit.org/b\") 2x, url(\"http://www.webkit.org/a\") 1x"); |
| |
| testImageSetRule("Duplicate values for background-image", |
| "background-image", |
| "url(\"http://www.webkit.org/c\") 1x, url(\"http://www.webkit.org/b\") 2x, url(\"http://www.webkit.org/a\") 1x"); |
| |
| testImageSetRule("Fractional values for background-image", |
| "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"); |
| |
| testImageSetRule("Single value for cursor", |
| "cursor", |
| "url(\"http://www.webkit.org/a\") 1x"); |
| |
| testImageSetRule("Multiple values for cursor", |
| "cursor", |
| "url(\"http://www.webkit.org/a\") 1x, url(\"http://www.webkit.org/b\") 2x"); |
| |
| testImageSetRule("Multiple values for cursor, out of order", |
| "cursor", |
| "url(\"http://www.webkit.org/c\") 3x, url(\"http://www.webkit.org/b\") 2x, url(\"http://www.webkit.org/a\") 1x"); |
| |
| testImageSetRule("Duplicate values for cursor", |
| "cursor", |
| "url(\"http://www.webkit.org/c\") 1x, url(\"http://www.webkit.org/b\") 2x, url(\"http://www.webkit.org/a\") 1x"); |
| |
| testImageSetRule("Fractional values for cursor", |
| "cursor", |
| "url(\"http://www.webkit.org/c\") 0.2x, url(\"http://www.webkit.org/b\") 2.3x, url(\"http://www.webkit.org/a\") 12.3456x"); |
| |
| testImageSetRule("Single value for list-style-image", |
| "list-style-image", |
| "url(\"http://www.webkit.org/a\") 1x"); |
| |
| testImageSetRule("Multiple values for list-style-image", |
| "list-style-image", |
| "url(\"http://www.webkit.org/a\") 1x, url(\"http://www.webkit.org/b\") 2x"); |
| |
| testImageSetRule("Multiple values for list-style-image, out of order", |
| "list-style-image", |
| "url(\"http://www.webkit.org/c\") 3x, url(\"http://www.webkit.org/b\") 2x, url(\"http://www.webkit.org/a\") 1x"); |
| |
| testImageSetRule("Duplicate values for list-style-image", |
| "list-style-image", |
| "url(\"http://www.webkit.org/c\") 1x, url(\"http://www.webkit.org/b\") 2x, url(\"http://www.webkit.org/a\") 1x"); |
| |
| testImageSetRule("Fractional values for list-style-image", |
| "list-style-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"); |
| |
| testImageSetRule("Single value for content", |
| "content", |
| "url(\"http://www.webkit.org/a\") 1x"); |
| |
| testImageSetRule("Multiple values for content", |
| "content", |
| "url(\"http://www.webkit.org/a\") 1x, url(\"http://www.webkit.org/b\") 2x"); |
| |
| testImageSetRule("Multiple values for content, out of order", |
| "content", |
| "url(\"http://www.webkit.org/c\") 3x, url(\"http://www.webkit.org/b\") 2x, url(\"http://www.webkit.org/a\") 1x"); |
| |
| testImageSetRule("Duplicate values for content", |
| "content", |
| "url(\"http://www.webkit.org/c\") 1x, url(\"http://www.webkit.org/b\") 2x, url(\"http://www.webkit.org/a\") 1x"); |
| |
| testImageSetRule("Fractional values for content", |
| "content", |
| "url(\"http://www.webkit.org/c\") 0.2x, url(\"http://www.webkit.org/b\") 2.3x, url(\"http://www.webkit.org/a\") 12.3456x"); |
| |
| |
| </script> |