summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/html/semantics/embedded-content/the-canvas-element/imagedata.html
diff options
context:
space:
mode:
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.html58
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>