diff options
Diffstat (limited to 'packages/webapi/test/storage.js')
-rw-r--r-- | packages/webapi/test/storage.js | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/packages/webapi/test/storage.js b/packages/webapi/test/storage.js new file mode 100644 index 000000000..b8a6d2354 --- /dev/null +++ b/packages/webapi/test/storage.js @@ -0,0 +1,45 @@ +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) + }, + }, + ] +}) |