diff options
Diffstat (limited to 'testing/web-platform/tests/html/semantics/embedded-content/the-canvas-element/imagedata.html')
-rw-r--r-- | testing/web-platform/tests/html/semantics/embedded-content/the-canvas-element/imagedata.html | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/testing/web-platform/tests/html/semantics/embedded-content/the-canvas-element/imagedata.html b/testing/web-platform/tests/html/semantics/embedded-content/the-canvas-element/imagedata.html new file mode 100644 index 0000000000..e124f8ff6e --- /dev/null +++ b/testing/web-platform/tests/html/semantics/embedded-content/the-canvas-element/imagedata.html @@ -0,0 +1,58 @@ +<!doctype html> +<meta charset="utf-8"> +<title>ImageData Tests</title> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script> +test(function() { + assert_throws_dom("IndexSizeError", function() { + new ImageData(0, 1); + }); +}, "ImageData(w, h), width cannot be 0"); + +test(function() { + assert_throws_dom("IndexSizeError", function() { + new ImageData(1, 0); + }); +}, "ImageData(w, h), height cannot be 0"); + +test(function() { + var imageData = new ImageData(2, 3); + assert_equals(imageData.width, 2); + assert_equals(imageData.height, 3); + assert_equals(imageData.data.length, 24); + assert_true(imageData.data instanceof Uint8ClampedArray); +}, "ImageData(w, h), exposed attributes check"); + +test(function() { + assert_throws_dom("InvalidStateError", function() { + new ImageData(new Uint8ClampedArray(3), 1); + }); +}, "ImageData(buffer, w), the buffer size must be a multiple of 4"); + +test(function() { + assert_throws_dom("IndexSizeError", function() { + new ImageData(new Uint8ClampedArray(16), 3); + }); +}, "ImageData(buffer, w), buffer size must be a multiple of the image width"); + +test(function() { + assert_throws_dom("IndexSizeError", function() { + new ImageData(new Uint8ClampedArray(16), 4, 3); + }); +}, "ImageData(buffer, w, h), buffer.length == 4 * w * h must be true"); + +test(function() { + assert_throws_js(TypeError, function() { + new ImageData(new Int8Array(1), 1); + }); +}, "ImageData(buffer, w, opt h), Uint8ClampedArray argument type check"); + +test(function() { + var imageData = new ImageData(new Uint8ClampedArray(24), 2); + assert_equals(imageData.width, 2); + assert_equals(imageData.height, 3); + assert_equals(imageData.data.length, 24); + assert_true(imageData.data instanceof Uint8ClampedArray); +}, "ImageData(buffer, w, opt h), exposed attributes check"); +</script> |