import setStorage2 from "../scripts/setStorage2.js"; const assert = chai.assert; describe('setStorage2 #es6', function () { it('should store key/value arguments. Function is a module', function () { setStorage2("c", "d"); assert.equal("d", window.localStorage.getItem("c")); window.localStorage.removeItem("c"); }); }); describe('setLocalStorage', function () { it('should store key/value arguments', function () { setLocalStorage("a", "b"); assert.equal("b", window.localStorage.getItem("a")); //chai.expect(window.localStorage.getItem("a")).to.equal("b"); window.localStorage.removeItem("a"); }); it('should has stored key argument', function () { setLocalStorage("testkey", "testvalue"); assert.hasAnyKeys(window.localStorage, 'testkey'); window.localStorage.removeItem("testkey"); }); }); describe('getLocalStorageKey', function () { it('should return first key', function () { assert.equal(window.localStorage.key(0), getLocalStorageKey(0)); }); it('should return first key as string value', function () { assert.typeOf(window.localStorage.key(0), 'string'); }); }); describe('getLocalStorageItem', function () { it('should return item', function () { window.localStorage.setItem("e", "f"); assert.equal("f", getLocalStorageItem("e")); window.localStorage.removeItem("e"); }); it('should return item as string value', function () { window.localStorage.setItem("g", "h"); assert.typeOf(getLocalStorageItem("g"), 'string'); window.localStorage.removeItem("g"); }); it('should return item as string value', function () { window.localStorage.setItem("myKey2", "myValue2"); assert.isString(getLocalStorageItem("myKey2"), 'Item is string'); window.localStorage.removeItem("myKey2"); }); }); describe('LocalStorage', function () { it('should extensible', function () { assert.isExtensible(window.localStorage); }); it('should not empty', function () { assert.isNotEmpty(window.localStorage); }); it('should empty', function () { assert.isEmpty(window.localStorage); }); it('Local Storage should be an object', function () { assert.isObject(window.localStorage, 'Yes local storage is an object!'); }); it('Local Storage should be ok', function () { assert.isOk(window.localStorage, 'Yes local storage is ok!'); }); }); describe('deleteLocalStorageItem', function () { it('should deleted key=i/value=l', function () { window.localStorage.setItem("i", "j"); deleteLocalStorageItem("i"); assert.doesNotHaveAnyKeys(window.localStorage, 'i'); }); it('Local Storage list should be smaller if key/value pair is deleted', function () { window.localStorage.setItem("k", "l"); var preCount = window.localStorage.length; deleteLocalStorageItem("k"); var postCount = window.localStorage.length; assert.operator(postCount, '<', preCount, 'is smaller, ok'); }); }); describe('getLocalStorageLength', function () { it('should return local storage length', function () { assert.lengthOf(window.localStorage, getLocalStorageLength()); }); }); mocha.checkLeaks(); mocha.run();