OLD | NEW |
| (Empty) |
1 // Copyright 2016 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 GEN_INCLUDE(['../options_browsertest_base.js']); | |
6 GEN('#include "chrome/browser/ui/webui/options/chromeos/' + | |
7 'guest_mode_options_browsertest.h"'); | |
8 | |
9 /** | |
10 * TestFixture for guest mode options WebUI testing. | |
11 * @extends {OptionsBrowsertestBase} | |
12 * @constructor | |
13 */ | |
14 function GuestModeOptionsUIBrowserTest() {} | |
15 | |
16 GuestModeOptionsUIBrowserTest.prototype = { | |
17 __proto__: OptionsBrowsertestBase.prototype, | |
18 | |
19 /** @override */ | |
20 browsePreload: 'chrome://settings-frame', | |
21 | |
22 /** @override */ | |
23 typedefCppFixture: 'GuestModeOptionsUIBrowserTest', | |
24 | |
25 /** | |
26 * Returns the element that sets a given preference, failing if no such | |
27 * element is found. | |
28 * @param {string} pref Name of the preference. | |
29 * @return {!HTMLElement} The element controlling the preference. | |
30 */ | |
31 getControlForPref: function(pref) { | |
32 var control = document.querySelector('[pref="' + pref + '"]'); | |
33 assertTrue(!!control); | |
34 return control; | |
35 }, | |
36 | |
37 /** @param {!HTMLElement} el */ | |
38 expectHidden: function(el) { | |
39 expectFalse(el.offsetHeight > 0 && el.offsetWidth > 0); | |
40 }, | |
41 }; | |
42 | |
43 /** Test sections that should be hidden in guest mode. */ | |
44 TEST_F('GuestModeOptionsUIBrowserTest', 'testSections', function() { | |
45 this.expectHidden($('startup-section')); | |
46 this.expectHidden($('appearance-section')); | |
47 this.expectHidden($('android-apps-section')); | |
48 this.expectHidden($('sync-users-section')); | |
49 this.expectHidden($('easy-unlock-section')); | |
50 this.expectHidden($('reset-profile-settings-section')); | |
51 }); | |
52 | |
53 /** Test controls that should be disabled in guest mode. */ | |
54 TEST_F('GuestModeOptionsUIBrowserTest', 'testControls', function() { | |
55 // Appearance section. | |
56 var setWallpaper = $('set-wallpaper'); | |
57 expectTrue(setWallpaper.disabled); | |
58 | |
59 // Passwords and autofill section. | |
60 expectTrue($('autofill-enabled').disabled); | |
61 | |
62 // Date and time section. | |
63 expectTrue($('timezone-value-select').disabled); | |
64 expectFalse($('resolve-timezone-by-geolocation').disabled); | |
65 expectFalse($('use-24hour-clock').disabled); | |
66 | |
67 // Privacy section. | |
68 expectTrue(this.getControlForPref('search.suggest_enabled').disabled); | |
69 expectTrue($('networkPredictionOptions').disabled); | |
70 | |
71 // Web content section. | |
72 expectTrue($('defaultZoomFactor').disabled); | |
73 | |
74 // Downloads section. | |
75 expectTrue(this.getControlForPref('gdata.disabled').disabled); | |
76 | |
77 // Content settings overlay. | |
78 expectTrue(this.getControlForPref('settings.privacy.drm_enabled').disabled); | |
79 expectTrue($('protected-content-exceptions').disabled); | |
80 }); | |
OLD | NEW |