45 lines
1.4 KiB
JavaScript
45 lines
1.4 KiB
JavaScript
import { assert, test } from '../run/test.setup.js'
|
|
import { polyfill } from '../mod.js'
|
|
|
|
test(() => {
|
|
return [
|
|
{
|
|
name: 'Includes Storage functionality',
|
|
test() {
|
|
const target = {}
|
|
|
|
polyfill(target)
|
|
|
|
assert.equal(Reflect.has(target, 'Storage'), true)
|
|
assert.equal(Reflect.has(target, 'localStorage'), true)
|
|
assert.equal(typeof target.Storage, 'function')
|
|
assert.equal(typeof target.localStorage, 'object')
|
|
},
|
|
},
|
|
{
|
|
name: 'Supports Storage methods',
|
|
test() {
|
|
const target = {}
|
|
|
|
polyfill(target)
|
|
|
|
assert.equal(target.localStorage.setItem('hello', 'world'), undefined)
|
|
assert.equal(target.localStorage.getItem('hello'), 'world')
|
|
assert.equal(target.localStorage.key(0), 'hello')
|
|
assert.equal(target.localStorage.key(1), null)
|
|
assert.equal(target.localStorage.length, 1)
|
|
assert.equal(target.localStorage.setItem('world', 'hello'), undefined)
|
|
assert.equal(target.localStorage.key(1), 'world')
|
|
assert.equal(target.localStorage.key(2), null)
|
|
assert.equal(target.localStorage.length, 2)
|
|
assert.equal(target.localStorage.removeItem('hello'), undefined)
|
|
assert.equal(target.localStorage.key(0), 'world')
|
|
assert.equal(target.localStorage.key(1), null)
|
|
assert.equal(target.localStorage.length, 1)
|
|
assert.equal(target.localStorage.clear(), undefined)
|
|
assert.equal(target.localStorage.key(0), null)
|
|
assert.equal(target.localStorage.length, 0)
|
|
},
|
|
},
|
|
]
|
|
})
|