summaryrefslogtreecommitdiff
path: root/packages/webapi/test/internals.js
blob: 6972f65a22c4a88aa54de2a6ec882d6e3892ee29 (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
import { assert, test } from '../run/test.setup.js'
import { polyfill } from '../mod.js'

test(() => {
	return [
		{
			name: 'Includes polyfill.internals functionality',
			test() {
				const target = {}

				polyfill(target, { exclude: 'window document' })

				const pseudo = { ...target }

				assert.equal(Reflect.has(pseudo, 'document'), false)

				const CustomElement = class extends pseudo.HTMLElement {}

				pseudo.customElements.define('custom-element', CustomElement)

				polyfill.internals(pseudo, 'Document')

				assert.equal(Reflect.has(pseudo, 'document'), true)

				assert.equal(
					CustomElement.prototype.isPrototypeOf(
						pseudo.document.createElement('custom-element')
					),
					true
				)
			},
		},
	]
})