Chromium Code Reviews| Index: chrome/browser/ui/webui/extensions/extension_settings_browsertest.js |
| diff --git a/chrome/browser/ui/webui/extensions/extension_settings_browsertest.js b/chrome/browser/ui/webui/extensions/extension_settings_browsertest.js |
| index 449fe4bfdceca12bf9ed74702f136e24bdcc3139..8583db2902a8724c8ae72c5a5146bd5b28646dce 100644 |
| --- a/chrome/browser/ui/webui/extensions/extension_settings_browsertest.js |
| +++ b/chrome/browser/ui/webui/extensions/extension_settings_browsertest.js |
| @@ -63,25 +63,61 @@ AsyncExtensionSettingsWebUITest.prototype = { |
| /** @override */ |
| isAsync: true, |
| -}; |
| -TEST_F('AsyncExtensionSettingsWebUITest', 'testDeveloperModeA11y', function() { |
| - var devControls = $('dev-controls'); |
| + /** @override */ |
| + testGenPreamble: function() { |
| + GEN(' InstallGoodExtension();'); |
| + GEN(' InstallErrorsExtension();'); |
|
Dan Beam
2015/02/20 23:36:43
doesn't care about the return value
hcarmona
2015/02/21 00:16:01
Acknowledged.
|
| + }, |
| + |
| + enableDeveloperMode: function(callback) { |
| + var devControls = $('dev-controls'); |
| - // Make sure developer controls are hidden before checkbox is clicked. |
| - assertEquals(0, devControls.offsetHeight); |
| - $('toggle-dev-on').click(); |
| + // Make sure developer controls are hidden before checkbox is clicked. |
| + assertEquals(0, devControls.offsetHeight); |
| + $('toggle-dev-on').click(); |
| - document.addEventListener('webkitTransitionEnd', function f(e) { |
| - if (e.target == devControls) { |
| - // Make sure developer controls are not hidden after checkbox is clicked. |
| - assertGT(devControls.offsetHeight, 0); |
| + document.addEventListener('webkitTransitionEnd', function f(e) { |
| + if (e.target == devControls) { |
| + // Make sure developer controls are not hidden after checkbox is |
| + // clicked. |
| + assertGT(devControls.offsetHeight, 0); |
| - document.removeEventListener(f, 'webkitTransitionEnd'); |
| - testDone(); |
| - } |
| + document.removeEventListener(f, 'webkitTransitionEnd'); |
| + callback(); |
| + } |
| + }); |
| + ensureTransitionEndEvent(devControls, 4000); |
| + }, |
| +}; |
| + |
| +TEST_F('AsyncExtensionSettingsWebUITest', 'testDeveloperModeA11y', function() { |
| + this.enableDeveloperMode(testDone); |
| +}); |
| + |
| +TEST_F('AsyncExtensionSettingsWebUITest', 'testErrorListButtonVisibility', |
| + function() { |
| + this.enableDeveloperMode(function() { |
| + // 2 extensions are loaded: |
| + // The 'good' extension will have 0 errors wich means no error list |
| + // buttons. |
| + // The 'bad' extension will have >3 manifest errors and <3 runtime errors. |
| + // This means 2 buttons: 1 visible and 1 hidden. |
| + |
|
Dan Beam
2015/02/20 23:36:43
nit: remove \n
hcarmona
2015/02/21 00:16:01
Done.
|
| + var visibleButtons = document.querySelectorAll( |
| + '.extension-error-list-show-more > a:not([hidden])'); |
| + assertEquals(1, visibleButtons.length); |
| + // Visible buttons must be part of the focusRow. |
| + assertTrue(visibleButtons[0].hasAttribute('column-type')); |
| + |
| + var hiddenButtons = document.querySelectorAll( |
| + '.extension-error-list-show-more > a[hidden]'); |
| + assertEquals(1, hiddenButtons.length); |
| + // Hidden buttons must NOT be part of the focusRow. |
| + assertFalse(hiddenButtons[0].hasAttribute('column-type')); |
| + |
| + testDone(); |
| }); |
| - ensureTransitionEndEvent(devControls, 4000); |
| }); |
| /** |