blob: 737a686653321da61ea9a4b62303de9a52508752 [file] [log] [blame]
<body onload="draw();">
<p>This test checks behavior of invalid arguments to Canvas::drawImage.</p>
<p id="result"></p>
<canvas id="canvas" width="150" height="150"></canvas>
<script>
// Create image
var myImage = new Image();
var img_src = 'resources/apple.gif';
myImage.src = img_src;
function print(message)
{
var line = document.createElement("div");
line.appendChild(document.createTextNode(message));
document.getElementById("result").appendChild(line);
}
function draw() {
if (window.layoutTestController)
layoutTestController.dumpAsText();
var ctx = document.getElementById('canvas').getContext('2d');
// draw image
try{
ctx.drawImage();
print("FAIL");
} catch (e) {
print("PASS: no arguments, got exception as expected");
}
try{
ctx.drawImage(myImage);
print("FAIL");
} catch (e) {
print("PASS: image argument only, got exception as expected");
}
try{
ctx.drawImage(myImage, 0);
print("FAIL");
} catch (e) {
print("PASS: image argument plus one number, got exception as expected");
}
try{
ctx.drawImage(myImage, 0, 0);
print("PASS: image argument plus 2 numbers");
} catch (e) {
print("FAIL");
}
try{
ctx.drawImage(myImage, 0, 0, 20, 20);
print("PASS: image argument plus 4 numbers");
} catch (e) {
print("FAIL");
}
try{
ctx.drawImage(myImage, 0, 0, 20, 20, 0, 0, 20, 20);
print("PASS: image argument plus 8 numbers");
} catch (e) {
print("FAIL");
}
try{
ctx.drawImage(myImage, 0, 0, 0, 0);
print("PASS: image argument plus zero size");
} catch (e) {
print("FAIL");
}
try{
ctx.drawImage(myImage, 0, 0, 20, 20, 0, 0, 0, 0);
print("PASS: image argument plus 8 numbers, zero size");
} catch (e) {
print("FAIL");
}
try{
ctx.drawImage(myImage, 0, 0, 20, 20, 0, 0, -1, 0);
print("FAIL");
} catch (e) {
print("PASS: image argument plus 8 numbers, negative size, got exception as expected");
}
try{
ctx.drawImage(null);
print("FAIL");
} catch (e) {
print("PASS: null image, got exception as expected");
}
try{
ctx.drawImage(null, 0);
print("FAIL");
} catch (e) {
print("PASS: null image, got exception as expected");
}
try{
ctx.drawImage(null, 0, 0);
print("FAIL");
} catch (e) {
print("PASS: null image, got exception as expected");
}
try{
ctx.drawImage(null, 0, 0, 20, 20);
print("FAIL");
} catch (e) {
print("PASS: null image, got exception as expected");
}
ctx.fillStyle = 'green';
ctx.fillRect(0,0,150,150);
print("Test complete.");
}
</script>
</body>