astro/packages/webapi/test/imagedata.js
2022-04-10 18:29:46 -07:00

54 lines
1.3 KiB
JavaScript

import { expect } from 'chai'
import { polyfill } from '../mod.js'
describe('ImageData', () => {
const target = {}
before(() => polyfill(target))
it('Supports ImageData', () => {
expect(target).to.have.property('ImageData').that.is.a('function')
})
it('Supports new (data: Uint8ClampedArray, width: number, height: number): ImageData', () => {
const w = 640
const h = 480
const d = new Uint8ClampedArray(w * h * 4)
const id = new target.ImageData(d, w, h)
expect(id.data).to.equal(d)
expect(id.width).to.equal(w)
expect(id.height).to.equal(h)
})
it('Supports new (data: Uint8ClampedArray, width: number): ImageData', () => {
const w = 640
const h = 480
const d = new Uint8ClampedArray(w * h * 4)
const id = new target.ImageData(d, w)
expect(id.data).to.equal(d)
expect(id.width).to.equal(w)
expect(id.height).to.equal(h)
})
it('Supports new (width: number, height: number): ImageData', () => {
const w = 640
const h = 480
const id = new target.ImageData(w, h)
expect(id.data).to.have.lengthOf(w * h * 4)
expect(id.width).to.equal(w)
expect(id.height).to.equal(h)
})
it('Supports Object.keys(new ImageData(640, 480))', () => {
const keys = Object.keys(new target.ImageData(640, 480))
expect(keys).to.have.lengthOf(1)
expect(keys[0]).to.equal('data')
})
})