Commit 58828a9f authored by Stephen Pohl's avatar Stephen Pohl
Browse files

Bug 817700 - Fix test_mozGetAsFile canvas test. r=roc

parent 6ca0edc2
Loading
Loading
Loading
Loading
+20 −19
Original line number Diff line number Diff line
@@ -7,42 +7,43 @@
<canvas id="c" width="100" height="50"><p class="fallback">FAIL (fallback content)</p></canvas>
<script>

var gCompares = 0;

function compareAsync(file, canvas, type)
function compareAsync(file, canvas, type, callback)
{
  ++gCompares;

  var reader = new FileReader();
  reader.onload = 
    function(e) {
      is(e.target.result, canvas.toDataURL(type),
 "<canvas>.mozGetAsFile().getAsDataURL() should equal <canvas>.toDataURL()");
      if (--gCompares == 0) {
        SimpleTest.finish();
      }
      callback(canvas);
    };
  reader.readAsDataURL(file);
}

SimpleTest.waitForExplicitFinish();
addLoadEvent(function () {

var canvas = document.getElementById('c');
var ctx = canvas.getContext('2d');

ctx.drawImage(document.getElementById('yellow75.png'), 0, 0);

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");
  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");
  compareAsync(jpegfile, canvas, "image/jpeg", SimpleTest.finish);
  is(jpegfile.name, "bar.jpg", "File name should be what we passed in");
}

SimpleTest.waitForExplicitFinish();
addLoadEvent(function () {

var canvas = document.getElementById('c');
var ctx = canvas.getContext('2d');
ctx.drawImage(document.getElementById('yellow75.png'), 0, 0);

test1(canvas);

});
</script>