diff options
Diffstat (limited to 'dom/canvas/test/test_mozGetAsFile.html')
-rw-r--r-- | dom/canvas/test/test_mozGetAsFile.html | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/dom/canvas/test/test_mozGetAsFile.html b/dom/canvas/test/test_mozGetAsFile.html new file mode 100644 index 0000000000..50f6c647b8 --- /dev/null +++ b/dom/canvas/test/test_mozGetAsFile.html @@ -0,0 +1,61 @@ +<!DOCTYPE HTML> +<title>Canvas test: mozGetAsFile</title> +<script src="/tests/SimpleTest/SimpleTest.js"></script> +<link rel="stylesheet" href="/tests/SimpleTest/test.css"> +<body> +<canvas id="c" width="100" height="50"><p class="fallback">FAIL (fallback content)</p></canvas> +<script> + +function compareAsync(file, canvas, type, callback) +{ + var reader = new FileReader(); + reader.onload = + function(e) { + is(e.target.result, canvas.toDataURL(type), + "<canvas>.mozGetAsFile().getAsDataURL() should equal <canvas>.toDataURL()"); + callback(canvas); + }; + 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", parent.SimpleTest.finish); + is(jpegfile.name, "bar.jpg", "File name should be what we passed in"); +} + +SimpleTest.waitForExplicitFinish(); +addLoadEvent(async function () { + if (location.search == "?framed") { + is = parent.is; + + var canvas = document.getElementById('c'); + var ctx = canvas.getContext('2d'); + ctx.drawImage(document.getElementById('yellow75.png'), 0, 0); + + test1(canvas); + } else { + await SpecialPowers.pushPrefEnv({ + set: [ + ["canvas.mozgetasfile.enabled", true], + ], + }); + let iframe = document.querySelector("iframe"); + iframe.src = "test_mozGetAsFile.html?framed"; + } +}); +</script> +<img src="image_yellow75.png" id="yellow75.png" class="resource"> +<iframe></iframe> + |