summaryrefslogtreecommitdiff
path: root/packages/webapi/test/imagedata.js
blob: b386a18d6f57110ffd80d045b9b3ab661708ff5c (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
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')
	})
})