UNPKG

@qooxdoo/framework

Version:

The JS Framework for Coders

98 lines (75 loc) 2.54 kB
/* ************************************************************************ qooxdoo - the new era of web development http://qooxdoo.org Copyright: 2007-2011 1&1 Internet AG, Germany, http://www.1und1.de License: MIT: https://opensource.org/licenses/MIT See the LICENSE file in the project's top-level directory for details. Authors: * Adrian Olaru (adrianolaru) ************************************************************************ */ qx.Class.define("qx.test.bom.storage.WebStorageTestCase", { type: "abstract", extend: qx.dev.unit.TestCase, members: { _storage: null, setUp() { this._storage = this._getStorage(); this._storage.clear(); }, tearDown() { this._storage = null; }, testItem() { this.assertNull(this._storage.getItem("key1")); this._storage.setItem("key1", "value1"); this.assertEquals("value1", this._storage.getItem("key1")); this._storage.removeItem("key1"); this.assertNull(this._storage.getItem("key1")); this._storage.setItem("key2", [1, "a"]); this.assertArrayEquals([1, "a"], this._storage.getItem("key2")); this._storage.setItem("key2", { a: 1, b: "c" }); this.assertMap({ a: 1, b: "c" }, this._storage.getItem("key2")); //overriding this._storage.setItem("key2", 12); this.assertEquals(12, this._storage.getItem("key2")); }, testGetKey() { // the order is unreliable, so just test that the getKey works this._storage.setItem("key1", "value"); this.assertNotEquals( -1, Object.keys(this._storage.getStorage()).indexOf("key1") ); }, testLength() { this.assertEquals(0, this._storage.getLength()); for (var i = 0; i < 10; i++) { this._storage.setItem("key" + i, "value"); } this.assertEquals(10, this._storage.getLength()); }, testClear() { for (var i = 0; i < 10; i++) { this._storage.setItem("key" + i, "value"); } this.assertEquals(10, this._storage.getLength()); this._storage.clear(); this.assertEquals(0, this._storage.getLength()); }, testForEach() { var i; for (i = 0; i < 10; i++) { this._storage.setItem("key" + i, "value"); } //don't rely on the order i = 0; this._storage.forEach(function (key, item) { this.assertEquals(this._storage.getItem(key), item); i++; }, this); this.assertEquals(10, i); } } });