diff options
author | hcarmona <hcarmona@chromium.org> | 2014-11-20 12:57:13 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2014-11-20 20:57:35 +0000 |
commit | ca8b4ecfeee16828955ffe5637749272a5989106 (patch) | |
tree | aa5bbe2a975709db2ba000b6b4e4d38cf2cc9c49 /chrome/browser/ui/webui/options/options_browsertest.js | |
parent | eebda5986284b9fce42c2ab8de5d2686b079e52e (diff) | |
download | chromium_src-ca8b4ecfeee16828955ffe5637749272a5989106.zip chromium_src-ca8b4ecfeee16828955ffe5637749272a5989106.tar.gz chromium_src-ca8b4ecfeee16828955ffe5637749272a5989106.tar.bz2 |
Enable a11y audit for chrome://settings
Enabled the tests and fixed failure. Failure was due to transition obscuring elements in the UI.
Another failure was caused because there were no labels on the mic and camera drop downs.
Another failure was that there was no captions for a video element. This is used to capture a profile picture in chrome OS, so there wouldn't be any captions. This element is ignored in the a11y audit.
There was also an issue with the dispatching of events in the ensureTransitionEndEvent function that wouldn't allow the event to bubble.
BUG=311866
Committed: https://crrev.com/34a84c6d1269332cc3ae2b8a50af489230c885de
Cr-Commit-Position: refs/heads/master@{#301266}
Review URL: https://codereview.chromium.org/646853004
Cr-Commit-Position: refs/heads/master@{#305078}
Diffstat (limited to 'chrome/browser/ui/webui/options/options_browsertest.js')
-rw-r--r-- | chrome/browser/ui/webui/options/options_browsertest.js | 59 |
1 files changed, 29 insertions, 30 deletions
diff --git a/chrome/browser/ui/webui/options/options_browsertest.js b/chrome/browser/ui/webui/options/options_browsertest.js index a8c6b58..015f274 100644 --- a/chrome/browser/ui/webui/options/options_browsertest.js +++ b/chrome/browser/ui/webui/options/options_browsertest.js @@ -2,6 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +GEN_INCLUDE(['options_browsertest_base.js']); GEN('#include "chrome/browser/ui/webui/options/options_browsertest.h"'); /** @const */ var SUPERVISED_USERS_PREF = 'profile.managed_users'; @@ -43,24 +44,15 @@ function waitForPopstate(afterFunction) { function OptionsWebUITest() {} OptionsWebUITest.prototype = { - __proto__: testing.Test.prototype, - - /** @override */ - accessibilityIssuesAreErrors: true, - - /** @override */ - setUp: function() { - // user-image-stream is a streaming video element used for capturing a - // user image during OOBE. - this.accessibilityAuditConfig.ignoreSelectors('videoWithoutCaptions', - '.user-image-stream'); - }, + __proto__: OptionsBrowsertestBase.prototype, /** * Browse to the options page & call our preLoad(). + * @override */ browsePreload: 'chrome://settings-frame', + /** @override */ isAsync: true, /** @@ -89,6 +81,27 @@ OptionsWebUITest.prototype = { }, }; +/** + * Wait for overlay-container-1 and overlay-container-2 to be hidden. + */ +function waitForOverlaysToHide() { + var overlay1 = $('overlay-container-1'); + var overlay2 = $('overlay-container-2'); + + document.addEventListener('webkitTransitionEnd', function f(e) { + if ((e.target.id == overlay1.id || e.target.id == overlay2.id) && + overlay1.hidden && overlay2.hidden) { + document.removeEventListener(f, 'webkitTransitionEnd'); + testDone(); + } + }); + + if (!overlay1.hidden) + ensureTransitionEndEvent(overlay1, 500); + if (!overlay2.hidden) + ensureTransitionEndEvent(overlay2, 500); +} + // Crashes on Mac only. See http://crbug.com/79181 GEN('#if defined(OS_MACOSX)'); GEN('#define MAYBE_testSetBooleanPrefTriggers ' + @@ -363,10 +376,7 @@ GEN('#endif'); // defined(OS_CHROMEOS) function OptionsWebUIExtendedTest() {} OptionsWebUIExtendedTest.prototype = { - __proto__: testing.Test.prototype, - - /** @override */ - browsePreload: 'chrome://settings-frame', + __proto__: OptionsWebUITest.prototype, /** @override */ typedefCppFixture: 'OptionsBrowserTest', @@ -376,17 +386,6 @@ OptionsWebUIExtendedTest.prototype = { GEN(' ClearPref("' + SUPERVISED_USERS_PREF + '");'); }, - /** @override */ - isAsync: true, - - /** @override */ - setUp: function() { - // user-image-stream is a streaming video element used for capturing a - // user image during OOBE. - this.accessibilityAuditConfig.ignoreSelectors('videoWithoutCaptions', - '.user-image-stream'); - }, - /** * Asserts that two non-nested arrays are equal. The arrays must contain only * plain data types, no nested arrays or other objects. @@ -676,7 +675,7 @@ TEST_F('OptionsWebUIExtendedTest', 'CloseOverlay', function() { self.verifyOpenPages_(['settings'], ''); self.verifyHistory_( ['', 'languages', 'addLanguage', 'languages', ''], - testDone); + waitForOverlaysToHide); }); }); }); @@ -708,7 +707,7 @@ TEST_F('OptionsWebUIExtendedTest', 'CloseOverlayWithHashes', function() { this.verifyHistory_( ['', 'search#1', 'languages#2', 'addLanguage#3', 'languages#2', 'search#1'], - testDone); + waitForOverlaysToHide); }.bind(this)); }.bind(this)); }); @@ -724,7 +723,7 @@ TEST_F('OptionsWebUIExtendedTest', 'CloseOverlayNoHistory', function() { // Close the overlay. PageManager.closeOverlay(); // Still no history changes. - this.verifyHistory_([''], testDone); + this.verifyHistory_([''], waitForOverlaysToHide); }.bind(this)); }); |