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

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
« no previous file with comments | « content/test/data/dom_storage/sanity_check.html ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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,76 @@
+// 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 startTestSoon() {
+ window.setTimeout(test, 0);
+}
+
+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(null, storage.getItem("foo"),
+ "getItem('foo') != null prior to addition");
+ checkEqual(null, storage.key(0),
+ "key(0) != null 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");
+ checkEqual("foo", storage.key(0),
+ "key(0) != 'foo' after addition");
+
+ storage.removeItem("foo");
+
+ checkEqual(null, storage.getItem("foo"),
+ "getItem('foo') != null after removal");
+
+ storage["foo"] = "baz";
+ storage["name"] = "value";
+
+ checkEqual(2, storage.length,
+ "storage.length != 2 after 2 additions");
+ checkEqual("baz", storage["foo"],
+ "storage['foo'] != 'baz' after addition");
+ checkEqual("value", storage["name"],
+ "storage['name'] != 'value' after addition");
+
+ 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(lhs, rhs, errorMessage) {
+ if (lhs !== rhs)
+ throw errorMessage;
+}
+
+function makeLargeString(minimumSize) {
+ return Array(minimumSize).join("X");
+}
Property changes on: content\test\data\dom_storage\sanity_check.js
___________________________________________________________________
Added: svn:eol-style
+ LF
« no previous file with comments | « content/test/data/dom_storage/sanity_check.html ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698