| Index: third_party/WebKit/LayoutTests/fast/canvas/canvas-ImageData-constructor.html
|
| diff --git a/third_party/WebKit/LayoutTests/fast/canvas/canvas-ImageData-constructor.html b/third_party/WebKit/LayoutTests/fast/canvas/canvas-ImageData-constructor.html
|
| index 409c71f252624ad5f132436c9b7317daafec9067..08542657188db7cdf744c186673d036b18be9f7e 100644
|
| --- a/third_party/WebKit/LayoutTests/fast/canvas/canvas-ImageData-constructor.html
|
| +++ b/third_party/WebKit/LayoutTests/fast/canvas/canvas-ImageData-constructor.html
|
| @@ -1,9 +1,79 @@
|
| -<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
|
| -<html>
|
| -<head>
|
| -<script src="../../resources/js-test.js"></script>
|
| -</head>
|
| +<script src="../../resources/testharness.js"></script>
|
| +<script src="../../resources/testharnessreport.js"></script>
|
| <body>
|
| -<script src="resources/canvas-ImageData.js"></script>
|
| +<script>
|
| +
|
| +function setRGBA(imageData, i, rgba) {
|
| + var s = i * 4;
|
| + imageData[s] = rgba[0];
|
| + imageData[s + 1] = rgba[1];
|
| + imageData[s + 2] = rgba[2];
|
| + imageData[s + 3] = rgba[3];
|
| +}
|
| +
|
| +function getRGBA(imageData, i) {
|
| + var result = [];
|
| + var s = i * 4;
|
| + for (var j = 0; j < 4; j++) {
|
| + result[j] = imageData[s + j];
|
| + }
|
| + return result;
|
| +}
|
| +
|
| +test(function(t) {
|
| + assert_not_equals(ImageData, undefined);
|
| + assert_equals(ImageData.length, 2);
|
| +
|
| + imageData = new ImageData(100, 50);
|
| +
|
| + assert_not_equals(imageData, null);
|
| + assert_not_equals(imageData.data, null);
|
| + assert_equals(imageData.width, 100);
|
| + assert_equals(imageData.height, 50);
|
| + assert_array_equals(getRGBA(imageData.data, 4), [0, 0, 0, 0]);
|
| +
|
| + var testColor = [0, 255, 255, 128];
|
| + setRGBA(imageData.data, 4, testColor);
|
| + assert_array_equals(getRGBA(imageData.data, 4), testColor);
|
| +
|
| + assert_throws(null, function() {new ImageData(10)});
|
| + assert_throws(null, function() {new ImageData(0, 10)});
|
| + assert_throws(null, function() {new ImageData(10, 0)});
|
| + assert_throws(null, function() {new ImageData('width', 'height')});
|
| + assert_throws(null, function() {new ImageData(1 << 31, 1 << 31)});
|
| +
|
| + assert_throws(null, function() {new ImageData(new Uint8ClampedArray(0))});
|
| + assert_throws(null, function() {new ImageData(new Uint8Array(100), 25)});
|
| + assert_throws(null, function() {new ImageData(new Uint8ClampedArray(27), 2)});
|
| + assert_throws(null, function() {new ImageData(new Uint8ClampedArray(28), 7, 0)});
|
| + assert_throws(null, function() {new ImageData(new Uint8ClampedArray(104), 14)});
|
| + assert_throws(null, function() {new ImageData(self, 4, 4)});
|
| + assert_throws(null, function() {new ImageData(null, 4, 4)});
|
| + assert_throws(null, function() {new ImageData(imageData.data, 0)});
|
| + assert_throws(null, function() {new ImageData(imageData.data, 13)});
|
| + assert_throws(null, function() {new ImageData(imageData.data, 1 << 31)});
|
| + assert_throws(null, function() {new ImageData(imageData.data, 'biggish')});
|
| + assert_throws(null, function() {new ImageData(imageData.data, 1 << 24, 1 << 31)});
|
| + assert_equals((new ImageData(new Uint8ClampedArray(28), 7)).height, 1);
|
| +
|
| + imageDataFromData = new ImageData(imageData.data, 100);
|
| + assert_equals(imageDataFromData.width, 100);
|
| + assert_equals(imageDataFromData.height, 50);
|
| + assert_equals(imageDataFromData.data, imageData.data);
|
| + assert_array_equals(getRGBA(imageDataFromData.data, 10), getRGBA(imageData.data, 10));
|
| + setRGBA(imageData.data, 10, testColor);
|
| + assert_array_equals(getRGBA(imageDataFromData.data, 10), getRGBA(imageData.data, 10));
|
| +
|
| + var data = new Uint8ClampedArray(400);
|
| + data[22] = 129;
|
| + imageDataFromData = new ImageData(data, 20, 5);
|
| + assert_equals(imageDataFromData.width, 20);
|
| + assert_equals(imageDataFromData.height, 5);
|
| + assert_equals(imageDataFromData.data, data);
|
| + assert_array_equals(getRGBA(imageDataFromData.data, 2), getRGBA(data, 2));
|
| + setRGBA(imageDataFromData.data, 2, testColor);
|
| + assert_array_equals(getRGBA(imageDataFromData.data, 2), getRGBA(data, 2));
|
| +
|
| +}, 'Test ImageData constructor');
|
| +</script>
|
| </body>
|
| -</html>
|
|
|