UNPKG

@qooxdoo/framework

Version:

The JS Framework for Coders

97 lines (74 loc) 2.57 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 : function() { this._storage = this._getStorage(); this._storage.clear(); }, tearDown : function() { this._storage = null; }, testItem: function() { 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: function() { // 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: function() { 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: function() { 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: function() { 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); } } });