60 lines
1.3 KiB
JavaScript
60 lines
1.3 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')
|
||
|
},
|
||
|
},
|
||
|
]
|
||
|
})
|