79 lines
3.2 KiB
HTML
79 lines
3.2 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
|
|
<html>
|
|
<head>
|
|
<script src="../../resources/js-test-pre.js"></script>
|
|
</head>
|
|
<body>
|
|
<script>
|
|
description("Test the behavior of CanvasRenderingContext2D.setShadow() when called with different numbers of arguments.");
|
|
|
|
var ctx = document.createElement('canvas').getContext('2d');
|
|
|
|
var TypeError = "TypeError: Type error";
|
|
var TypeErrorNotEnoughArguments = "TypeError: Not enough arguments";
|
|
|
|
shouldThrow("ctx.setShadow()", "TypeErrorNotEnoughArguments");
|
|
shouldThrow("ctx.setShadow(0)", "TypeErrorNotEnoughArguments");
|
|
shouldThrow("ctx.setShadow(0, 0)", "TypeErrorNotEnoughArguments");
|
|
shouldThrow("ctx.setShadow(0, 0, 0, 0, 0, 0)", "TypeError");
|
|
shouldThrow("ctx.setShadow(0, 0, 0, 0, 'red', 0)", "TypeError");
|
|
shouldThrow("ctx.setShadow(0, 0, 0, 0, 0, 0)", "TypeError");
|
|
|
|
debug("\n\nundefined setShadow(unrestricted float width, unrestricted float height, unrestricted float blur, optional DOMString color, optional unrestricted float alpha)\n")
|
|
shouldBe("ctx.setShadow(0, 0, 0, 'red')", "undefined");
|
|
shouldBe("ctx.shadowColor", "'#ff0000'");
|
|
|
|
shouldBe("ctx.setShadow(0, 0, 0, 'red', .5)", "undefined");
|
|
shouldBe("ctx.shadowColor", "'rgba(255, 0, 0, 0.5)'");
|
|
|
|
shouldBe("ctx.setShadow(0, 0, 0, 'red', NaN)", "undefined");
|
|
shouldBe("ctx.shadowColor", "'rgba(255, 0, 0, 0.5)'");
|
|
|
|
debug("\n\nundefined setShadow(unrestricted float width, unrestricted float height, unrestricted float blur, unrestricted float grayLevel, optional unrestricted float alpha = 1)\n")
|
|
|
|
shouldBe("ctx.setShadow(0, 0, 0, .25)", "undefined");
|
|
shouldBe("ctx.shadowColor", "'#404040'");
|
|
|
|
shouldBe("ctx.setShadow(0, 0, 0, .25, .5)", "undefined");
|
|
shouldBe("ctx.shadowColor", "'rgba(64, 64, 64, 0.5)'");
|
|
|
|
shouldBe("ctx.setShadow(0, 0, 0, NaN, .5)", "undefined");
|
|
shouldBe("ctx.shadowColor", "'rgba(64, 64, 64, 0.5)'");
|
|
|
|
shouldBe("ctx.setShadow(0, 0, 0, .25, NaN)", "undefined");
|
|
shouldBe("ctx.shadowColor", "'rgba(64, 64, 64, 0.5)'");
|
|
|
|
|
|
debug("\n\nundefined setShadow(unrestricted float width, unrestricted float height, unrestricted float blur, unrestricted float r, unrestricted float g, unrestricted float b, unrestricted float a)\n")
|
|
|
|
shouldThrow("ctx.setShadow(0, 0, 0, .1, .2, .3)", "TypeError");
|
|
|
|
shouldBe("ctx.setShadow(0, 0, 0, .1, .2, .3, .4)", "undefined");
|
|
shouldBe("ctx.shadowColor", "'rgba(26, 51, 77, 0.4)'");
|
|
|
|
shouldBe("ctx.setShadow(0, 0, 0, NaN, .2, .3, .4)", "undefined");
|
|
shouldBe("ctx.shadowColor", "'rgba(26, 51, 77, 0.4)'");
|
|
|
|
shouldBe("ctx.setShadow(0, 0, 0, .1, NaN, .3, .4)", "undefined");
|
|
shouldBe("ctx.shadowColor", "'rgba(26, 51, 77, 0.4)'");
|
|
|
|
shouldBe("ctx.setShadow(0, 0, 0, .1, .2, NaN, .4)", "undefined");
|
|
shouldBe("ctx.shadowColor", "'rgba(26, 51, 77, 0.4)'");
|
|
|
|
shouldBe("ctx.setShadow(0, 0, 0, .1, .2, .3, NaN)", "undefined");
|
|
shouldBe("ctx.shadowColor", "'rgba(26, 51, 77, 0.4)'");
|
|
|
|
shouldBe("ctx.setShadow(0, 0, 0, .5, .4, .3, .2, .1)", "undefined");
|
|
shouldBe("ctx.shadowColor", "'rgba(128, 102, 77, 0.2)'");
|
|
|
|
shouldBe("ctx.setShadow(0, 0, 0, 1, .4, .3, .2, .1, 0)", "undefined");
|
|
shouldBe("ctx.shadowColor", "'rgba(255, 102, 77, 0.2)'");
|
|
|
|
shouldBe("ctx.setShadow(0, 0, 0, 1.5, 10, -0.1, -100)", "undefined");
|
|
shouldBe("ctx.shadowColor", "'rgba(255, 255, 0, 0)'");
|
|
|
|
</script>
|
|
<script src="../../resources/js-test-post.js"></script>
|
|
</body>
|
|
</html>
|