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

Side by Side Diff: chrome/test/data/webui/test_api.js

Issue 11363170: Add an accessibility audit test for WebUI pages (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Remove reference to obsolete a11y_audit.js Created 8 years 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 unified diff | Download patch | Annotate | Revision Log
« chrome/test/base/js2gtest.js ('K') | « chrome/test/base/js2gtest.js ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 /** 5 /**
6 * @fileoverview Library providing basic test framework functionality. 6 * @fileoverview Library providing basic test framework functionality.
7 */ 7 */
8 8
9 /** 9 /**
10 * Namespace for |Test|. 10 * Namespace for |Test|.
(...skipping 203 matching lines...) Expand 10 before | Expand all | Expand 10 after
214 * the currentTestCase. 214 * the currentTestCase.
215 */ 215 */
216 deferRunTest: function(whenTestDone) { 216 deferRunTest: function(whenTestDone) {
217 if (whenTestDone === WhenTestDone.DEFAULT) 217 if (whenTestDone === WhenTestDone.DEFAULT)
218 whenTestDone = WhenTestDone.ALWAYS; 218 whenTestDone = WhenTestDone.ALWAYS;
219 219
220 return currentTestCase.deferRunTest.apply( 220 return currentTestCase.deferRunTest.apply(
221 currentTestCase, [whenTestDone].concat( 221 currentTestCase, [whenTestDone].concat(
222 Array.prototype.slice.call(arguments, 1))); 222 Array.prototype.slice.call(arguments, 1)));
223 }, 223 },
224
225 /**
226 * Run an accessibility audit on the current page state.
227 * @type {Function}
228 */
229 runAccessibilityAudit: function() {
230 for (var auditRuleName in axs.AuditRule.specs) {
231 var auditRule = axs.AuditRules.getRule(auditRuleName);
232 if (!auditRule)
233 continue; // Shouldn't happen, but fail silently if it does.
234 if (!auditRule.disabled && !auditRule.requiresConsoleAPI) {
235 var result = auditRule.run();
236 expectTrue(result.result == axs.constants.AuditResult.PASS ||
237 result.result == axs.constants.AuditResult.NA,
238 "Accessibility audit rule " + auditRule.name + " failed");
239 }
240 }
241 testDone();
242 }
224 }; 243 };
225 244
226 /** 245 /**
227 * This class is not exported and is available to hold the state of the 246 * This class is not exported and is available to hold the state of the
228 * |currentTestCase| throughout preload and test run. 247 * |currentTestCase| throughout preload and test run.
229 * @param {string} name The name of the test case. 248 * @param {string} name The name of the test case.
230 * @param {Test} fixture The fixture object for this test case. 249 * @param {Test} fixture The fixture object for this test case.
231 * @param {Function} body The code to run for the test. 250 * @param {Function} body The code to run for the test.
232 * @constructor 251 * @constructor
233 */ 252 */
(...skipping 378 matching lines...) Expand 10 before | Expand all | Expand 10 after
612 } catch (e) { 631 } catch (e) {
613 // Caught an exception in tearDown; Register the error and recreate 632 // Caught an exception in tearDown; Register the error and recreate
614 // the result if it is passed in. 633 // the result if it is passed in.
615 errors.push(e); 634 errors.push(e);
616 if (result) 635 if (result)
617 result = [false, errorsToMessage([e], result[1])]; 636 result = [false, errorsToMessage([e], result[1])];
618 } 637 }
619 currentTestCase = null; 638 currentTestCase = null;
620 } 639 }
621 chrome.send('testResult', result ? result : testResult()); 640 chrome.send('testResult', result ? result : testResult());
622 errors.splice(0, errors.length); 641 // errors.splice(0, errors.length);
642 resetTestState();
Sheridan Rawlins 2012/11/29 17:43:48 I think that explicitly having TEST_F would also r
aboxhall 2012/11/30 00:56:27 As per my other comment, I don't completely unders
623 } else { 643 } else {
624 console.warn('testIsDone already'); 644 console.warn('testIsDone already');
625 } 645 }
626 } 646 }
627 647
628 /** 648 /**
629 * Converts each Error in |errors| to a suitable message, adding them to 649 * Converts each Error in |errors| to a suitable message, adding them to
630 * |message|, and returns the message string. 650 * |message|, and returns the message string.
631 * @param {Array.<Error>} errors Array of errors to add to |message|. 651 * @param {Array.<Error>} errors Array of errors to add to |message|.
632 * @param {string?} message When supplied, error messages are appended to it. 652 * @param {string?} message When supplied, error messages are appended to it.
(...skipping 344 matching lines...) Expand 10 before | Expand all | Expand 10 after
977 * the |testFixture|'s prototype, if needed, and the |testCaseBodies| into its 997 * the |testFixture|'s prototype, if needed, and the |testCaseBodies| into its
978 * constructor. 998 * constructor.
979 * @param {string} testFixture The name of the test fixture class. 999 * @param {string} testFixture The name of the test fixture class.
980 * @param {string} testName The name of the test function. 1000 * @param {string} testName The name of the test function.
981 * @param {Function} testBody The body to execute when running this test. 1001 * @param {Function} testBody The body to execute when running this test.
982 */ 1002 */
983 function TEST_F(testFixture, testName, testBody) { 1003 function TEST_F(testFixture, testName, testBody) {
984 var fixtureConstructor = this[testFixture]; 1004 var fixtureConstructor = this[testFixture];
985 if (!fixtureConstructor.prototype.name) 1005 if (!fixtureConstructor.prototype.name)
986 fixtureConstructor.prototype.name = testFixture; 1006 fixtureConstructor.prototype.name = testFixture;
987 if (fixtureConstructor['testCaseBodies'] === undefined) 1007 if (fixtureConstructor['testCaseBodies'] === undefined) {
988 fixtureConstructor.testCaseBodies = {}; 1008 fixtureConstructor.testCaseBodies = {};
1009 fixtureConstructor.testCaseBodies["accessibilityAudit"] =
1010 Test.prototype.runAccessibilityAudit;
1011 }
989 fixtureConstructor.testCaseBodies[testName] = testBody; 1012 fixtureConstructor.testCaseBodies[testName] = testBody;
990 } 1013 }
991 1014
992 /** 1015 /**
993 * RunJavascriptTestF uses this as the |testFunction| when invoking 1016 * RunJavascriptTestF uses this as the |testFunction| when invoking
994 * runTest. If |currentTestCase| is non-null at this point, verify that 1017 * runTest. If |currentTestCase| is non-null at this point, verify that
995 * |testFixture| and |testName| agree with the preloaded values. Create 1018 * |testFixture| and |testName| agree with the preloaded values. Create
996 * |currentTestCase|, if needed, run it, and clear the |currentTestCase|. 1019 * |currentTestCase|, if needed, run it, and clear the |currentTestCase|.
997 * @param {string} testFixture The name of the test fixture class. 1020 * @param {string} testFixture The name of the test fixture class.
998 * @param {string} testName The name of the test function. 1021 * @param {string} testName The name of the test function.
(...skipping 403 matching lines...) Expand 10 before | Expand all | Expand 10 after
1402 exports.DUMMY_URL = DUMMY_URL; 1425 exports.DUMMY_URL = DUMMY_URL;
1403 exports.TEST = TEST; 1426 exports.TEST = TEST;
1404 exports.TEST_F = TEST_F; 1427 exports.TEST_F = TEST_F;
1405 exports.GEN = GEN; 1428 exports.GEN = GEN;
1406 exports.GEN_INCLUDE = GEN_INCLUDE; 1429 exports.GEN_INCLUDE = GEN_INCLUDE;
1407 exports.WhenTestDone = WhenTestDone; 1430 exports.WhenTestDone = WhenTestDone;
1408 1431
1409 // Import the Mock4JS helpers. 1432 // Import the Mock4JS helpers.
1410 Mock4JS.addMockSupport(exports); 1433 Mock4JS.addMockSupport(exports);
1411 })(this); 1434 })(this);
OLDNEW
« chrome/test/base/js2gtest.js ('K') | « chrome/test/base/js2gtest.js ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698