84 lines
1.6 KiB
JavaScript
84 lines
1.6 KiB
JavaScript
import { assert, test } from '../run/test.setup.js'
|
|
import { polyfill } from '../mod.js'
|
|
|
|
test(() => {
|
|
return [
|
|
{
|
|
name: 'Supports ImageData',
|
|
test() {
|
|
const target = {}
|
|
|
|
polyfill(target)
|
|
|
|
assert.equal('ImageData' in target, true)
|
|
assert.equal(typeof target['ImageData'], 'function')
|
|
},
|
|
},
|
|
{
|
|
name: 'Supports new (data: Uint8ClampedArray, width: number, height: number): ImageData',
|
|
test() {
|
|
const target = {}
|
|
|
|
polyfill(target)
|
|
|
|
const w = 640
|
|
const h = 480
|
|
const d = new Uint8ClampedArray(w * h * 4)
|
|
|
|
const id = new target.ImageData(d, w, h)
|
|
|
|
assert.equal(id.data, d)
|
|
assert.equal(id.width, w)
|
|
assert.equal(id.height, h)
|
|
},
|
|
},
|
|
{
|
|
name: 'Supports new (data: Uint8ClampedArray, width: number): ImageData',
|
|
test() {
|
|
const target = {}
|
|
|
|
polyfill(target)
|
|
|
|
const w = 640
|
|
const h = 480
|
|
const d = new Uint8ClampedArray(w * h * 4)
|
|
|
|
const id = new target.ImageData(d, w)
|
|
|
|
assert.equal(id.data, d)
|
|
assert.equal(id.width, w)
|
|
assert.equal(id.height, h)
|
|
},
|
|
},
|
|
{
|
|
name: 'Supports new (width: number, height: number): ImageData',
|
|
test() {
|
|
const target = {}
|
|
|
|
polyfill(target)
|
|
|
|
const w = 640
|
|
const h = 480
|
|
|
|
const id = new target.ImageData(w, h)
|
|
|
|
assert.equal(id.data.length, w * h * 4)
|
|
assert.equal(id.width, w)
|
|
assert.equal(id.height, h)
|
|
},
|
|
},
|
|
{
|
|
name: 'Supports Object.keys(new ImageData(640, 480))',
|
|
test() {
|
|
const target = {}
|
|
|
|
polyfill(target)
|
|
|
|
const keys = Object.keys(new target.ImageData(640, 480))
|
|
|
|
assert.equal(keys.length, 1)
|
|
assert.equal(keys[0], 'data')
|
|
},
|
|
},
|
|
]
|
|
})
|