|
|
@ -1,16 +1,15 @@ |
|
|
|
/*jshint node:true es5:true laxcomma:true laxbreak:true*/ |
|
|
|
(function () { |
|
|
|
"use strict"; |
|
|
|
|
|
|
|
var assert = require('assert') |
|
|
|
, fs = require('fs') |
|
|
|
, Storage = require('dom-storage') |
|
|
|
, Storage = require('../') |
|
|
|
, dbPath = './db.json' |
|
|
|
; |
|
|
|
|
|
|
|
function runTest(storage) { |
|
|
|
// should not return prototype properties
|
|
|
|
assert.strictEqual(null, Object.getItem('key')); |
|
|
|
assert.strictEqual(null, storage.getItem('key')); |
|
|
|
|
|
|
|
assert.strictEqual(0, Object.keys(storage).length); |
|
|
|
assert.strictEqual(0, storage.length); |
|
|
@ -20,7 +19,7 @@ |
|
|
|
assert.strictEqual(storage.key(0), 'a'); |
|
|
|
|
|
|
|
storage.setItem('b', '2'); |
|
|
|
assert.strictEqual(storage.getItem('a'), '1'); |
|
|
|
assert.strictEqual(storage.getItem('a'), 1); |
|
|
|
assert.strictEqual(storage.getItem('b'), '2'); |
|
|
|
assert.strictEqual(storage.length, 2); |
|
|
|
|
|
|
@ -28,7 +27,7 @@ |
|
|
|
assert.strictEqual(storage.getItem('c'), null); |
|
|
|
|
|
|
|
storage.setItem('c'); |
|
|
|
assert.strictEqual(storage.getItem('c'), "undefined"); |
|
|
|
assert.strictEqual(storage.getItem('c'), null); |
|
|
|
assert.strictEqual(storage.length, 3); |
|
|
|
|
|
|
|
storage.removeItem('c'); |
|
|
@ -42,8 +41,8 @@ |
|
|
|
} |
|
|
|
|
|
|
|
function runAll() { |
|
|
|
var localStorage = new Storage(dbPath) |
|
|
|
, sessionStorage = new Storage() |
|
|
|
var localStorage = new Storage(dbPath, { strict: false, ws: ' ' }) |
|
|
|
, sessionStorage = new Storage(null, { strict: false }) |
|
|
|
; |
|
|
|
|
|
|
|
runTest(sessionStorage); |
|
|
|