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

Unified Diff: chrome/test/data/webui/webui_resource_test.js

Issue 17315020: Port passing closure tests for cr.ui framework to browser tests. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Reviewer feedback fixes. Created 7 years, 6 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/webui/webui_resource_test.js
diff --git a/chrome/test/data/webui/webui_resource_test.js b/chrome/test/data/webui/webui_resource_test.js
index 1cd3aececc419ad5a203ebd29e5c470051e5fc48..485b3dbbb51692dbf9cfdd4de7c2409b926d79f5 100644
--- a/chrome/test/data/webui/webui_resource_test.js
+++ b/chrome/test/data/webui/webui_resource_test.js
@@ -57,7 +57,7 @@ function assertNotEqual(reference, observed, opt_message) {
}
/**
- * Verifies that a test evaluation results in an assertion failure.
+ * Verifies that a test evaluation results in an exception.
* @param {!Function} f The test function.
*/
function assertThrows(f) {
@@ -72,15 +72,35 @@ function assertThrows(f) {
}
/**
+ * Verifies that the contents of the expected and observed arrays match.
+ * @param {Array} expected The expected result.
+ * @param {Array} observed The actual result.
+ */
+function assertArrayEquals(expected, observed) {
+ var v1 = Array.prototype.slice.call(expected);
+ var v2 = Array.prototype.slice.call(observed);
+ var equal = v1.length == v2.length;
+ if (equal) {
+ for (var i = 0; i < v1.length; i++) {
+ if (v1[i] !== v2[i]) {
Dan Beam 2013/06/20 17:57:46 what if v1[i] is a (non-null) object or array? sh
arv (Not doing code reviews) 2013/06/20 18:35:33 We should not recurse. Recursion should be done in
+ equal = false;
+ break;
+ }
+ }
+ }
+ if (!equal) {
+ var message = 'Assertion Failed\n Observed: ' + v2 +
+ '\n Expected: ' + v1;
Dan Beam 2013/06/20 17:57:46 nit: var message = ['Assertion Failed', 'Obser
kevers 2013/06/20 18:41:37 Done.
+ throw new Error(message);
+ }
+}
+
+/**
* Runs all functions starting with test and reports success or
* failure of the test suite.
*/
function runTests() {
var tests = [];
-
- if (window.setUp)
- window.setUp();
-
var success = true;
for (var name in window) {
if (typeof window[name] == 'function' && /^test/.test(name))
@@ -92,17 +112,17 @@ function runTests() {
}
for (var i = 0; i < tests.length; i++) {
try {
+ if (window.setUp)
+ window.setUp();
window[tests[i]]();
} catch (err) {
console.error('Failure in test ' + tests[i] + '\n' + err);
console.log(err.stack);
success = false;
}
+ if (window.tearDown)
+ window.tearDown();
}
-
- if (window.tearDown)
- window.tearDown();
-
endTests(success);
}

Powered by Google App Engine
This is Rietveld 408576698