OLD | NEW |
(Empty) | |
| 1 if (window.testRunner) { |
| 2 testRunner.dumpAsText(); |
| 3 testRunner.waitUntilDone(); |
| 4 } |
| 5 |
| 6 var numToBlobCalls = 9; |
| 7 var numToDataURLCalls = 3; |
| 8 var testImages = []; |
| 9 var canvasCtxs = []; |
| 10 |
| 11 // Create an original canvas with content |
| 12 var canvas = document.createElement("canvas"); |
| 13 var ctx = canvas.getContext("2d"); |
| 14 ctx.fillStyle = "#EE21AF"; |
| 15 ctx.fillRect(0, 0, 2500, 1750); |
| 16 |
| 17 function testIfAllImagesAreCorrect() |
| 18 { |
| 19 // All resultant images should be the same as both async and main threads us
e the same image encoder |
| 20 var imageMatched = true; |
| 21 var firstImageData = canvasCtxs[0].getImageData(0, 0, 2500, 1750).data; |
| 22 for (var i = 1; i < (numToBlobCalls + numToDataURLCalls); i++) |
| 23 { |
| 24 var nextImageData = canvasCtxs[i].getImageData(0, 0, 2500, 1750).data; |
| 25 for (var k = 0; k < firstImageData.length; k++) |
| 26 { |
| 27 if (firstImageData[k]!=nextImageData[k]) |
| 28 { |
| 29 imageMatched = false; |
| 30 break; |
| 31 } |
| 32 } |
| 33 if (!imageMatched) |
| 34 break; |
| 35 } |
| 36 if (imageMatched) |
| 37 testPassed("All images encoded by both async and main threads match one
another"); |
| 38 else |
| 39 testFailed("Not all images encoded by async and main threads match one a
nother"); |
| 40 } |
| 41 |
| 42 var counter = numToBlobCalls + numToDataURLCalls; |
| 43 function onCanvasDrawCompleted(ctx_test) |
| 44 { |
| 45 counter = counter - 1; |
| 46 if (counter == 0) { |
| 47 testIfAllImagesAreCorrect(); |
| 48 if (window.testRunner) |
| 49 testRunner.notifyDone(); |
| 50 } |
| 51 } |
| 52 |
| 53 function createTestCase(i) |
| 54 { |
| 55 var canvas_test = document.createElement("canvas"); |
| 56 var ctx_test = canvas_test.getContext("2d"); |
| 57 canvasCtxs[i] = ctx_test; |
| 58 |
| 59 var newImg = new Image(); |
| 60 newImg.onload = function() { |
| 61 ctx_test.drawImage(newImg, 0, 0, 2500, 1750); |
| 62 onCanvasDrawCompleted(ctx_test); |
| 63 } |
| 64 testImages[i] = newImg; |
| 65 } |
| 66 |
| 67 for (var i = 0; i < (numToBlobCalls + numToDataURLCalls); i++) |
| 68 { |
| 69 createTestCase(i); |
| 70 } |
OLD | NEW |