blob: 7fd0f8c213b5808004d47bb3c4d72677dd6d69a0 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
<head>
<script src="../../resources/js-test-pre.js"></script>
</head>
<body>
<p id="description"></p>
<div id="console"></div>
<script>
description("Test the parsing of the -webkit-image-set function.");
// These have to be global for the test helpers to see them.
var cssRule;
function testInvalidImageSet(description, property, rule, attribute = "image-set")
{
debug("");
debug(description + " : " + rule);
var div = document.createElement("div");
div.setAttribute("style", property + ": " + attribute + "(" + rule + ")");
document.body.appendChild(div);
cssRule = div.style.getPropertyCSSValue(property);
shouldBe("cssRule", "null");
document.body.removeChild(div);
}
testInvalidImageSet("Too many url parameters", "background-image", "url(#a #b)");
testInvalidImageSet("No x", "background-image", "url('#a') 1");
testInvalidImageSet("No raw string URLs with prefixed image-set", "background-image", "'image.png' 1x", "-webkit-image-set");
testInvalidImageSet("Combination of valid and invalid with prefixed image-set", "background-image", "'image.png' 1x, url(image.png) 2x", "-webkit-image-set");
testInvalidImageSet("Combination of valid and invalid with unprefixed image-set", "background-image", "'' 1x, url(image.png) 2x");
testInvalidImageSet("No gradients with prefixed image-set", "background-image", "linear-gradient(black, white) 1x", "-webkit-image-set");
testInvalidImageSet("No comma", "background-image", "url('#a') 1x url('#b') 2x");
testInvalidImageSet("Too many scale factor parameters", "background-image", "url('#a') 1x 2x");
testInvalidImageSet("Scale factor is 0", "background-image", "url('#a') 0x");
testInvalidImageSet("Generated image for cursor", "cursor", "linear-gradient(black, white) 1x");
testInvalidImageSet("Image-set inside image-set", "background-image", "image-set(image-set(url('#a') 1x) 1x)");
successfullyParsed = true;
</script>
<script src="../../resources/js-test-post.js"></script>
</body>
</html>