Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / chrome / browser / ui / webui / help / help_browsertest.js
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  */
10 function HelpPageWebUITest() {}
11
12 HelpPageWebUITest.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.
25 TEST_F('HelpPageWebUITest', 'testOpenHelpPage', function() {
26   assertEquals(this.browsePreload, document.location.href);
27 });
28
29 GEN('#if defined(OS_LINUX) || defined(GOOGLE_CHROME_BUILD)');
30
31 // Test that repeated calls to setUpdateStatus work.
32 TEST_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
58 GEN('#endif');
59
60 GEN('#if defined(OS_CHROMEOS)');
61
62 // Test that the request update button is shown and hidden properly.
63 TEST_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
97 GEN('#endif');