Bug 638241. Test that painting an <img>, changing its src attribute and then painting the <img> again paints the new image.

This commit is contained in:
Robert O'Callahan 2011-03-24 16:13:58 +13:00
parent ca5ccf7440
commit d0e57f9579
3 changed files with 44 additions and 4 deletions

View File

@ -82,6 +82,7 @@ _TEST_FILES_0 = \
test_mozGetAsFile.html \
test_canvas_strokeStyle_getter.html \
test_bug613794.html \
test_drawImage_edge_cases.html \
$(NULL)
ifneq (1_Linux,$(MOZ_SUITE)_$(OS_ARCH))

View File

@ -25,8 +25,6 @@ c.width = c.height = 1;
c = c.getContext("2d");
SimpleTest.waitForExplicitFinish();
var threw = true;
try {
c.putImageData({ width: 1, height: 1, data: [ 0, 0, 0, 0] }, 0, 0);
@ -47,8 +45,6 @@ try {
is(threw, DOMException.TYPE_MISMATCH_ERR,
"Should throw type error when data is not an array");
SimpleTest.finish();
</script>
</pre>

View File

@ -0,0 +1,43 @@
<!DOCTYPE HTML>
<html>
<head>
<script type="application/javascript" src="/MochiKit/packed.js"></script>
<script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
</head>
<body onload="doTest()">
<p id="display">
<canvas id="c" width="1" height="1"></canvas>
<img id="img" src="image_red.png">
</p>
<div id="content" style="display: none">
</div>
<pre id="test">
<script type="application/javascript">
var c = document.getElementById("c");
var ctx = c.getContext("2d");
var img = document.getElementById("img");
SimpleTest.waitForExplicitFinish();
function doTest() {
ctx.drawImage(img, 0, 0);
img.src = "image_green-1x1.png";
img.onload = function() {
ctx.drawImage(img, 0, 0);
var data = ctx.getImageData(0, 0, 1, 1).data;
is(data[0], 0, "Red channel should be 0");
is(data[1], 255, "Green channel should be 1.0");
is(data[2], 0, "Blue channel should be 0")
is(data[3], 255, "Alpha channel should be opaque");
SimpleTest.finish();
}
}
</script>
</pre>
</body>
</html>