Bug 817700 - Fix test_mozGetAsFile canvas test. r=roc

This commit is contained in:
Stephen Pohl 2013-09-06 12:30:30 -04:00
parent 1e6232e229
commit 299783d672

View File

@ -7,42 +7,43 @@
<canvas id="c" width="100" height="50"><p class="fallback">FAIL (fallback content)</p></canvas> <canvas id="c" width="100" height="50"><p class="fallback">FAIL (fallback content)</p></canvas>
<script> <script>
var gCompares = 0; function compareAsync(file, canvas, type, callback)
function compareAsync(file, canvas, type)
{ {
++gCompares;
var reader = new FileReader(); var reader = new FileReader();
reader.onload = reader.onload =
function(e) { function(e) {
is(e.target.result, canvas.toDataURL(type), is(e.target.result, canvas.toDataURL(type),
"<canvas>.mozGetAsFile().getAsDataURL() should equal <canvas>.toDataURL()"); "<canvas>.mozGetAsFile().getAsDataURL() should equal <canvas>.toDataURL()");
if (--gCompares == 0) { callback(canvas);
SimpleTest.finish();
}
}; };
reader.readAsDataURL(file); reader.readAsDataURL(file);
} }
function test1(canvas)
{
var pngfile = canvas.mozGetAsFile("foo.png");
is(pngfile.type, "image/png", "Default type for mozGetAsFile should be PNG");
compareAsync(pngfile, canvas, "image/png", test2);
is(pngfile.name, "foo.png", "File name should be what we passed in");
}
function test2(canvas)
{
var jpegfile = canvas.mozGetAsFile("bar.jpg", "image/jpeg");
is(jpegfile.type, "image/jpeg",
"When a valid type is specified that should be returned");
compareAsync(jpegfile, canvas, "image/jpeg", SimpleTest.finish);
is(jpegfile.name, "bar.jpg", "File name should be what we passed in");
}
SimpleTest.waitForExplicitFinish(); SimpleTest.waitForExplicitFinish();
addLoadEvent(function () { addLoadEvent(function () {
var canvas = document.getElementById('c'); var canvas = document.getElementById('c');
var ctx = canvas.getContext('2d'); var ctx = canvas.getContext('2d');
ctx.drawImage(document.getElementById('yellow75.png'), 0, 0); ctx.drawImage(document.getElementById('yellow75.png'), 0, 0);
var pngfile = canvas.mozGetAsFile("foo.png"); test1(canvas);
is(pngfile.type, "image/png", "Default type for mozGetAsFile should be PNG");
compareAsync(pngfile, canvas, "image/png");
is(pngfile.name, "foo.png", "File name should be what we passed in");
var jpegfile = canvas.mozGetAsFile("bar.jpg", "image/jpeg");
is(jpegfile.type, "image/jpeg",
"When a valid type is specified that should be returned");
compareAsync(jpegfile, canvas, "image/jpeg");
is(jpegfile.name, "bar.jpg", "File name should be what we passed in");
}); });
</script> </script>