astro/packages/webapi/test/internals.js

27 lines
613 B
JavaScript
Raw Normal View History

import { expect } from 'chai'
import { polyfill } from '../mod.js'
it('Includes polyfill.internals functionality', () => {
const target = {}
2022-03-07 21:37:50 +00:00
polyfill(target, { exclude: 'window document' })
const pseudo = { ...target }
expect(pseudo).to.not.have.property('document')
const CustomElement = class extends pseudo.HTMLElement {}
pseudo.customElements.define('custom-element', CustomElement)
polyfill.internals(pseudo, 'Document')
expect(pseudo).to.have.property('document')
expect(
CustomElement.prototype.isPrototypeOf(
pseudo.document.createElement('custom-element')
)
).to.equal(true)
})