Michaël Zasso
9 years ago
2 changed files with 93 additions and 15 deletions
@ -0,0 +1,58 @@ |
|||
'use strict'; |
|||
|
|||
var Canvas = require('../') |
|||
, ImageData = Canvas.ImageData |
|||
, assert = require('assert'); |
|||
|
|||
describe('ImageData', function () { |
|||
it('should throw with invalid numeric arguments', function () { |
|||
assert.throws(function () { |
|||
new ImageData(0, 0); |
|||
}, /width is zero/); |
|||
assert.throws(function () { |
|||
new ImageData(1, 0); |
|||
}, /height is zero/); |
|||
assert.throws(function () { |
|||
new ImageData(0); |
|||
}, TypeError); |
|||
}); |
|||
|
|||
it('should construct with width and height', function () { |
|||
var imagedata = new ImageData(2, 3); |
|||
assert.strictEqual(imagedata.width, 2); |
|||
assert.strictEqual(imagedata.height, 3); |
|||
assert(imagedata.data instanceof Uint8ClampedArray); |
|||
assert.strictEqual(imagedata.data.length, 24); |
|||
}); |
|||
|
|||
it('should throw with invalid typed array', function () { |
|||
assert.throws(function () { |
|||
new ImageData(new Uint8ClampedArray(0), 0); |
|||
}, /input data has a zero byte length/); |
|||
assert.throws(function () { |
|||
new ImageData(new Uint8ClampedArray(3), 0); |
|||
}, /input data byte length is not a multiple of 4/); |
|||
assert.throws(function () { |
|||
new ImageData(new Uint8ClampedArray(16), 3); |
|||
}, RangeError); |
|||
assert.throws(function () { |
|||
new ImageData(new Uint8ClampedArray(12), 3, 5); |
|||
}, RangeError); |
|||
}); |
|||
|
|||
it('should construct with typed array', function () { |
|||
var data = new Uint8ClampedArray(2 * 3 * 4); |
|||
var imagedata = new ImageData(data, 2); |
|||
assert.strictEqual(imagedata.width, 2); |
|||
assert.strictEqual(imagedata.height, 3); |
|||
assert(imagedata.data instanceof Uint8ClampedArray); |
|||
assert.strictEqual(imagedata.data.length, 24); |
|||
|
|||
data = new Uint8ClampedArray(3 * 4 * 4); |
|||
imagedata = new ImageData(data, 3, 4); |
|||
assert.strictEqual(imagedata.width, 3); |
|||
assert.strictEqual(imagedata.height, 4); |
|||
assert(imagedata.data instanceof Uint8ClampedArray); |
|||
assert.strictEqual(imagedata.data.length, 48); |
|||
}); |
|||
}); |
Loading…
Reference in new issue