65 lines
1.4 KiB
JavaScript
65 lines
1.4 KiB
JavaScript
import { assert, test } from '../run/test.setup.js'
|
|
import { polyfill } from '../mod.js'
|
|
|
|
test(() => {
|
|
return [
|
|
{
|
|
name: 'Includes CharacterData functionality',
|
|
test() {
|
|
const target = {}
|
|
|
|
polyfill(target)
|
|
|
|
assert.equal(Reflect.has(target, 'CharacterData'), true)
|
|
assert.equal(Reflect.has(target, 'Text'), true)
|
|
assert.equal(Reflect.has(target, 'Comment'), true)
|
|
},
|
|
},
|
|
{
|
|
name: 'Throws new CharacterData',
|
|
test() {
|
|
const target = {}
|
|
|
|
polyfill(target)
|
|
},
|
|
},
|
|
{
|
|
name: 'Supports new Comment',
|
|
test() {
|
|
const target = polyfill({})
|
|
|
|
assert.doesNotThrow(() => {
|
|
new target.Comment()
|
|
})
|
|
|
|
assert.equal(new target.Comment().constructor.name, 'Comment')
|
|
assert.equal(
|
|
Object.prototype.toString.call(new target.Comment()),
|
|
'[object Comment]'
|
|
)
|
|
|
|
assert.equal(new target.Comment('hello').data, 'hello')
|
|
assert.equal(new target.Comment('hello').textContent, 'hello')
|
|
},
|
|
},
|
|
{
|
|
name: 'Supports new Text',
|
|
test() {
|
|
const target = polyfill({})
|
|
|
|
assert.doesNotThrow(() => {
|
|
new target.Text()
|
|
})
|
|
|
|
assert.equal(new target.Text().constructor.name, 'Text')
|
|
assert.equal(
|
|
Object.prototype.toString.call(new target.Text()),
|
|
'[object Text]'
|
|
)
|
|
|
|
assert.equal(new target.Text('hello').data, 'hello')
|
|
assert.equal(new target.Text('hello').textContent, 'hello')
|
|
},
|
|
},
|
|
]
|
|
})
|