Chromium Code Reviews| 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); |
| +} |