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 3// found in the LICENSE file. 4 5/** 6 * TestFixture for extension settings WebUI testing. 7 * @extends {testing.Test} 8 * @constructor 9 */ 10function HelpPageWebUITest() {} 11 12HelpPageWebUITest.prototype = { 13 __proto__: testing.Test.prototype, 14 15 /** @override */ 16 runAccessibilityChecks: true, 17 18 /** @override */ 19 accessibilityIssuesAreErrors: true, 20 21 browsePreload: 'chrome://help-frame/', 22}; 23 24// Test opening extension settings has correct location. 25TEST_F('HelpPageWebUITest', 'testOpenHelpPage', function() { 26 assertEquals(this.browsePreload, document.location.href); 27}); 28 29GEN('#if defined(OS_LINUX) || defined(GOOGLE_CHROME_BUILD)'); 30 31// Test that repeated calls to setUpdateStatus work. 32TEST_F('HelpPageWebUITest', 'testUpdateState', function() { 33 var relaunch = $('relaunch'); 34 var container = $('update-status-container'); 35 var update = $('request-update'); 36 37 help.HelpPage.setUpdateStatus('updated', ''); 38 expectTrue(relaunch.hidden); 39 expectTrue(cr.isChromeOS == container.hidden); 40 expectTrue(!cr.isChromeOS || !update.hidden && !update.disabled); 41 42 help.HelpPage.setUpdateStatus('disabled', ''); 43 expectTrue(relaunch.hidden); 44 expectTrue(container.hidden); 45 expectTrue(!cr.isChromeOS || update.hidden); 46 47 help.HelpPage.setUpdateStatus('nearly_updated', ''); 48 expectTrue(!relaunch.hidden); 49 expectTrue(!container.hidden); 50 expectTrue(!cr.isChromeOS || update.hidden); 51 52 help.HelpPage.setUpdateStatus('disabled', ''); 53 expectTrue($('relaunch').hidden); 54 expectTrue($('update-status-container').hidden); 55 expectTrue(!cr.isChromeOS || update.hidden); 56}); 57 58GEN('#endif'); 59 60GEN('#if defined(OS_CHROMEOS)'); 61 62// Test that the request update button is shown and hidden properly. 63TEST_F('HelpPageWebUITest', 'testRequestUpdate', function() { 64 var container = $('update-status-container'); 65 var update = $('request-update'); 66 67 help.HelpPage.setUpdateStatus('updated', ''); 68 expectTrue(container.hidden); 69 expectTrue(!update.hidden && !update.disabled); 70 71 update.click(); 72 expectTrue(!update.hidden && update.disabled); 73 expectFalse(container.hidden); 74 75 help.HelpPage.setUpdateStatus('checking', ''); 76 expectFalse(container.hidden); 77 expectTrue(!update.hidden && update.disabled); 78 79 help.HelpPage.setUpdateStatus('failed', 'Error'); 80 expectFalse(container.hidden); 81 expectTrue(!update.hidden && !update.disabled); 82 83 update.click(); 84 help.HelpPage.setUpdateStatus('checking', ''); 85 expectFalse(container.hidden); 86 expectTrue(!update.hidden && update.disabled); 87 88 help.HelpPage.setUpdateStatus('nearly_updated', ''); 89 expectFalse(container.hidden); 90 expectTrue(update.hidden); 91 92 help.HelpPage.setUpdateStatus('updated', ''); 93 expectFalse(container.hidden); 94 expectTrue(!update.hidden && update.disabled); 95}); 96 97GEN('#endif'); 98