| // Copyright (c) 2012 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. |
| |
| /** |
| * TestFixture for extension settings WebUI testing. |
| * @extends {testing.Test} |
| * @constructor |
| */ |
| function HelpPageWebUITest() {} |
| |
| HelpPageWebUITest.prototype = { |
| __proto__: testing.Test.prototype, |
| |
| /** @override */ |
| runAccessibilityChecks: true, |
| |
| /** @override */ |
| accessibilityIssuesAreErrors: true, |
| |
| browsePreload: 'chrome://help-frame/', |
| }; |
| |
| // Test opening extension settings has correct location. |
| TEST_F('HelpPageWebUITest', 'testOpenHelpPage', function() { |
| assertEquals(this.browsePreload, document.location.href); |
| }); |
| |
| GEN('#if defined(OS_LINUX) || defined(GOOGLE_CHROME_BUILD)'); |
| |
| TEST_F('HelpPageWebUITest', 'testUpdateStateIcon', function() { |
| var icon = $('update-status-icon'); |
| help.HelpPage.setUpdateStatus('checking', ''); |
| assertEquals(icon.getAttribute('class'), 'help-page-icon working'); |
| help.HelpPage.setUpdateStatus('updating', ''); |
| assertEquals(icon.getAttribute('class'), 'help-page-icon working'); |
| help.HelpPage.setUpdateStatus('nearly_updated', ''); |
| assertEquals(icon.getAttribute('class'), 'help-page-icon up-to-date'); |
| help.HelpPage.setUpdateStatus('updated', ''); |
| assertEquals(icon.getAttribute('class'), 'help-page-icon up-to-date'); |
| help.HelpPage.setUpdateStatus('failed', ''); |
| assertEquals(icon.getAttribute('class'), 'help-page-icon failed'); |
| help.HelpPage.setUpdateStatus('disabled_by_admin', ''); |
| assertEquals(icon.getAttribute('class'), 'help-page-icon disabled-by-admin'); |
| }); |
| |
| // Test that repeated calls to setUpdateStatus work. |
| TEST_F('HelpPageWebUITest', 'testUpdateState', function() { |
| var relaunch = $('relaunch'); |
| var container = $('update-status-container'); |
| var update = $('request-update'); |
| |
| help.HelpPage.setUpdateStatus('updated', ''); |
| expectTrue(relaunch.hidden); |
| expectTrue(cr.isChromeOS == container.hidden); |
| expectTrue(!cr.isChromeOS || !update.hidden && !update.disabled); |
| |
| help.HelpPage.setUpdateStatus('disabled', ''); |
| expectTrue(relaunch.hidden); |
| expectTrue(container.hidden); |
| expectTrue(!cr.isChromeOS || update.hidden); |
| |
| help.HelpPage.setUpdateStatus('nearly_updated', ''); |
| expectTrue(!relaunch.hidden); |
| expectTrue(!container.hidden); |
| expectTrue(!cr.isChromeOS || update.hidden); |
| |
| help.HelpPage.setUpdateStatus('disabled', ''); |
| expectTrue($('relaunch').hidden); |
| expectTrue($('update-status-container').hidden); |
| expectTrue(!cr.isChromeOS || update.hidden); |
| }); |
| |
| GEN('#endif'); |
| |
| GEN('#if defined(OS_CHROMEOS)'); |
| |
| // Test that the request update button is shown and hidden properly. |
| TEST_F('HelpPageWebUITest', 'testRequestUpdate', function() { |
| var container = $('update-status-container'); |
| var update = $('request-update'); |
| var policyIcon = $('controlled-feature-icon'); |
| |
| help.HelpPage.setUpdateStatus('updated', ''); |
| expectTrue(container.hidden); |
| expectTrue(!update.hidden && !update.disabled); |
| expectTrue(policyIcon.hidden); |
| |
| update.click(); |
| expectTrue(!update.hidden && update.disabled); |
| expectFalse(container.hidden); |
| expectTrue(policyIcon.hidden); |
| |
| help.HelpPage.setUpdateStatus('checking', ''); |
| expectFalse(container.hidden); |
| expectTrue(!update.hidden && update.disabled); |
| expectTrue(policyIcon.hidden); |
| |
| help.HelpPage.setUpdateStatus('failed', 'Error'); |
| expectFalse(container.hidden); |
| expectTrue(!update.hidden && !update.disabled); |
| expectTrue(policyIcon.hidden); |
| |
| update.click(); |
| help.HelpPage.setUpdateStatus('checking', ''); |
| expectFalse(container.hidden); |
| expectTrue(!update.hidden && update.disabled); |
| expectTrue(policyIcon.hidden); |
| |
| help.HelpPage.setUpdateStatus('nearly_updated', ''); |
| expectFalse(container.hidden); |
| expectTrue(update.hidden); |
| expectTrue(policyIcon.hidden); |
| |
| help.HelpPage.setUpdateStatus('updated', ''); |
| expectFalse(container.hidden); |
| expectTrue(!update.hidden && update.disabled); |
| expectTrue(policyIcon.hidden); |
| |
| help.HelpPage.setUpdateStatus('disabled_by_admin', ''); |
| expectTrue(container.hidden); |
| expectTrue(!update.hidden && update.disabled); |
| expectFalse(policyIcon.hidden); |
| }); |
| |
| GEN('#endif'); |