| <!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> |