Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2032)

Unified Diff: content/test/data/dom_storage/sanity_check.js

Issue 9956117: DomStorageBrowserTest sanity check (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 8 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/test/data/dom_storage/sanity_check.js
===================================================================
--- content/test/data/dom_storage/sanity_check.js (revision 0)
+++ content/test/data/dom_storage/sanity_check.js (revision 0)
@@ -0,0 +1,71 @@
+// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+function test() {
+ try {
+ debug('Checking window.localStorage');
+ sanityCheck(window.localStorage);
+ debug('Checking window.sessionStorage');
+ sanityCheck(window.sessionStorage);
+ done();
+ } catch(e) {
+ fail(e);
+ }
+}
+
+function sanityCheck(storage) {
+ storage.clear();
+
+ checkEqual(0, storage.length,
+ "storage.length != 0 at start");
+ checkEqual(undefined, storage.getItem("foo"),
+ "getItem('foo') != undefined prior to addition");
+
+ storage.setItem("foo", "bar");
+
+ checkEqual(1, storage.length,
+ "storage.length != 1 after addition");
+ checkEqual("bar", storage.getItem("foo"),
+ "getItem('foo') != 'bar' after addition");
+
+ storage.removeItem("foo");
+
+ checkEqual(undefined, storage.getItem("foo"),
+ "getItem('foo') != undefined after removal");
+
+ storage["foo"] = "baz";
+ storage["name"] = "value";
michaeln 2012/04/03 21:12:37 i should also add some calls to the storage.key(in
+
+ checkEqual("baz", storage["foo"],
+ "storage['foo'] != 'baz' after addition");
+ checkEqual("value", storage["name"],
+ "storage['name'] != 'value' after addition");
+ checkEqual(2, storage.length,
+ "storage.length != 2 after 2 additions");
+
+ storage.clear();
+
+ checkEqual(0, storage.length,
+ "storage.length != 0 after clear");
+
+ try {
+ storage.setItem("tooLarge", makeLargeString((5 * 1024 * 1024) + 1));
+ throw "failed to throw execption for very large value";
+ } catch(ex) {
+ checkEqual(ex.code, 22,
+ "ex.code != 22 for attempt to store a very large value");
+ }
+}
+
+function checkEqual(lsh, rhs, errorMessage) {
+ if (lsh != rhs)
+ throw errorMessage;
+}
+
+function makeLargeString(minimumSize) {
+ var x = "a large string of gibberish_";
+ while (x.length < minimumSize)
+ x = x.concat(x);
+ return x;
+}
Property changes on: content\test\data\dom_storage\sanity_check.js
___________________________________________________________________
Added: svn:eol-style
+ LF

Powered by Google App Engine
This is Rietveld 408576698