| description("Series of tests to ensure correct behaviour of the ImageData object"); |
| |
| imageData = document.getElementById("canvas").getContext("2d").getImageData(0,0,2,2); |
| |
| shouldBe("imageData.width", "2"); |
| shouldBe("imageData.height", "2"); |
| shouldBe("imageData.data.length", "16"); |
| for (var i = 0; i < imageData.data.length; i++) |
| shouldBe("imageData.data["+i+"]", "0"); |
| |
| var testValues = [NaN, true, false, "\"garbage\"", "-1", |
| "\"0\"", "\"1\"", "\"2\"", Infinity, -Infinity, |
| -5, -0.5, 0, 0.5, 5, |
| 5.4, 255, 256, null, undefined]; |
| var testResults = [0, 1, 0, 0, 0, |
| 0, 1, 2, 255, 0, |
| 0, 0, 0, 0, 5, |
| 5, 255, 255, 0, 0]; |
| for (var i = 0; i < testValues.length; i++) { |
| shouldBe("imageData.data[0] = "+testValues[i]+", imageData.data[0]", ""+testResults[i]); |
| } |
| |
| shouldBe("imageData.data['foo']='garbage',imageData.data['foo']", "'garbage'"); |
| shouldBe("imageData.data[-1]='garbage',imageData.data[-1]", "undefined"); |
| shouldBe("imageData.data[17]='garbage',imageData.data[17]", "undefined"); |