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

Unified Diff: chrome/test/data/fileapi/common.js

Issue 7715024: Add browser_tests for FileAPI with Quota. (Closed) Base URL: http://git.chromium.org/git/chromium.git@trunk
Patch Set: Rebased. Created 9 years, 4 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: chrome/test/data/fileapi/common.js
diff --git a/chrome/test/data/fileapi/common.js b/chrome/test/data/fileapi/common.js
new file mode 100644
index 0000000000000000000000000000000000000000..8a902706bfb2a6478f3b4d8767663694ddecd171
--- /dev/null
+++ b/chrome/test/data/fileapi/common.js
@@ -0,0 +1,139 @@
+// Copyright (c) 2011 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 debug(message)
+{
+ document.getElementById('status').innerHTML += '<br/>' + message;
+}
+
+function done(message)
+{
+ if (document.location.hash == '#fail')
+ return;
+ if (message)
+ debug('PASS: ' + message);
+ else
+ debug('PASS');
+ document.location.hash = '#pass';
+}
+
+function fail(message)
+{
+ debug('FAILED: ' + message);
+ document.location.hash = '#fail';
+}
+
+function getLog()
+{
+ return "" + document.getElementById('status').innerHTML;
+}
+
+function fileErrorToString(e) {
+ switch (e.code) {
+ case FileError.QUOTA_EXCEEDED_ERR:
+ msg = 'QUOTA_EXCEEDED_ERR';
+ break;
+ case FileError.NOT_FOUND_ERR:
+ msg = 'NOT_FOUND_ERR';
+ break;
+ case FileError.SECURITY_ERR:
+ msg = 'SECURITY_ERR';
+ break;
+ case FileError.INVALID_MODIFICATION_ERR:
+ msg = 'INVALID_MODIFICATION_ERR';
+ break;
+ case FileError.INVALID_STATE_ERR:
+ msg = 'INVALID_STATE_ERR';
+ break;
+ default:
+ msg = 'Unknown Error';
+ break;
+ };
+ return msg;
+}
+
+function unexpectedAbortCallback()
+{
+ fail('unexpectedAbortCallback');
+}
+
+function unexpectedSuccessCallback()
+{
+ fail('unexpectedSuccessCallback');
+}
+
+function unexpectedCompleteCallback()
+{
+ fail('unexpectedCompleteCallback');
+}
kinuko 2011/08/29 08:55:01 These unexpected{Abort,Success,Complete}Callbacks
Dai Mikurube (NOT FULLTIME) 2011/08/30 08:07:55 Thanks. I forgot to remove them. I was using cod
+
+function unexpectedErrorCallback(e)
+{
+ fail('unexpectedErrorCallback:' + fileErrorToString(e));
+}
+
+function deleteAllObjectStores(db)
kinuko 2011/08/29 08:55:01 Not for fileapi?
Dai Mikurube (NOT FULLTIME) 2011/08/30 08:07:55 Done.
+{
+ objectStoreNames = db.objectStoreNames;
+ for (var i = 0; i < objectStoreNames.length; ++i)
+ db.deleteObjectStore(objectStoreNames[i]);
+}
+
+// The following functions are based on
kinuko 2011/08/29 08:55:01 I think in the new fileapi tests we're not using t
Dai Mikurube (NOT FULLTIME) 2011/08/30 08:07:55 Done.
+// WebKit/LayoutTests/fast/js/resources/js-test-pre.js
+// so that the tests will look similar to the existing layout tests.
+function stringify(v)
+{
+ if (v === 0 && 1/v < 0)
+ return "-0";
+ else return "" + v;
+}
+
+function isResultCorrect(_actual, _expected)
+{
+ if (_expected === 0)
+ return _actual === _expected && (1/_actual) === (1/_expected);
+ if (_actual === _expected)
+ return true;
+ if (typeof(_expected) == "number" && isNaN(_expected))
+ return typeof(_actual) == "number" && isNaN(_actual);
+ if (Object.prototype.toString.call(_expected) ==
+ Object.prototype.toString.call([]))
+ return areArraysEqual(_actual, _expected);
+ return false;
+}
+
+function shouldBe(_a, _b)
+{
+ if (typeof _a != "string" || typeof _b != "string")
+ debug("WARN: shouldBe() expects string arguments");
+ var exception;
+ var _av;
+ try {
+ _av = eval(_a);
+ } catch (e) {
+ exception = e;
+ }
+ var _bv = eval(_b);
+
+ if (exception)
+ fail(_a + " should be " + _bv + ". Threw exception " + exception);
+ else if (isResultCorrect(_av, _bv))
+ debug(_a + " is " + _b);
+ else if (typeof(_av) == typeof(_bv))
+ fail(_a + " should be " + _bv + ". Was " + stringify(_av) + ".");
+ else
+ fail(_a + " should be " + _bv + " (of type " + typeof _bv + "). " +
+ "Was " + _av + " (of type " + typeof _av + ").");
+}
+
+function shouldBeTrue(_a) { shouldBe(_a, "true"); }
+function shouldBeFalse(_a) { shouldBe(_a, "false"); }
+function shouldBeNaN(_a) { shouldBe(_a, "NaN"); }
+function shouldBeNull(_a) { shouldBe(_a, "null"); }
+function shouldBeEqualToString(a, b)
+{
+ var unevaledString = '"' + b.replace(/\\/g, "\\\\").replace(/"/g, "\"") + '"';
+ shouldBe(a, unevaledString);
+}

Powered by Google App Engine
This is Rietveld 408576698