Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(382)

Side by Side Diff: chrome/browser/chromeos/kiosk_mode/kiosk_mode_settings_unittest.cc

Issue 9701084: Integrate Kiosk Mode with enterprise policies. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: clang fix. Created 8 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
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 #include "chrome/browser/chromeos/kiosk_mode/kiosk_mode_settings.h"
6
7 #include "base/bind.h"
8 #include "base/message_loop.h"
9 #include "base/values.h"
10 #include "chrome/browser/chromeos/cros_settings.h"
11 #include "chrome/browser/chromeos/cros_settings_names.h"
12 #include "chrome/browser/chromeos/stub_cros_settings_provider.h"
13 #include "content/test/test_browser_thread.h"
14 #include "testing/gtest/include/gtest/gtest.h"
15
16 namespace chromeos {
17
18 class KioskModeSettingsTest : public testing::Test {
19 protected:
20 KioskModeSettingsTest()
21 : message_loop_(MessageLoop::TYPE_UI),
22 ui_thread_(content::BrowserThread::UI, &message_loop_),
23 file_thread_(content::BrowserThread::FILE, &message_loop_) {
24 CrosSettings* cros_settings = CrosSettings::Get();
25
26 // Remove the real DeviceSettingsProvider and replace it with a stub.
27 device_settings_provider_ =
28 cros_settings->GetProvider(chromeos::kReportDeviceVersionInfo);
29 EXPECT_TRUE(device_settings_provider_ != NULL);
30 EXPECT_TRUE(
31 cros_settings->RemoveSettingsProvider(device_settings_provider_));
32 cros_settings->AddSettingsProvider(&stub_settings_provider_);
33 }
34
35 ~KioskModeSettingsTest() {
36 // Restore the real DeviceSettingsProvider.
37 CrosSettings* cros_settings = CrosSettings::Get();
38 EXPECT_TRUE(
39 cros_settings->RemoveSettingsProvider(&stub_settings_provider_));
40 cros_settings->AddSettingsProvider(device_settings_provider_); }
Mattias Nissler (ping if slow) 2012/03/20 13:10:35 closing brace on separate line.
rkc 2012/03/20 21:00:42 Done.
41
42 virtual void SetUp() OVERRIDE {
43 if (!KioskModeSettings::Get()->is_initialized()) {
44 KioskModeSettings::Get()->Initialize(
45 base::Bind(&KioskModeSettingsTest::SetUp,
46 base::Unretained(this)));
47 return;
48 }
49 }
50
51 virtual void TearDown() OVERRIDE {
52 KioskModeSettings::Get()->set_initialized(false);
53 }
54
55 void ReInitialize() {
56 KioskModeSettings::Get()->Initialize(
57 base::Bind(&KioskModeSettingsTest::DoNothing,
58 base::Unretained(this)));
Mattias Nissler (ping if slow) 2012/03/20 13:10:35 How about just using base::Closure()?
Mattias Nissler (ping if slow) 2012/03/20 13:45:30 Scratch this, an uninitialized base::Closure() wou
59 }
60
61 void DisableKioskModeSettings() {
62 KioskModeSettings::Get()->set_initialized(false);
63 }
64
65 void DoNothing() {
66 }
67
68 MessageLoop message_loop_;
69 content::TestBrowserThread ui_thread_;
70 content::TestBrowserThread file_thread_;
71
72 CrosSettingsProvider* device_settings_provider_;
73 StubCrosSettingsProvider stub_settings_provider_;
74 };
75
76 TEST_F(KioskModeSettingsTest, DisabledByDefault) {
77 EXPECT_FALSE(KioskModeSettings::IsKioskModeEnabled());
78 }
79
80 TEST_F(KioskModeSettingsTest, InstanceAvailable) {
81 EXPECT_NE(KioskModeSettings::Get(), (KioskModeSettings*) NULL);
Mattias Nissler (ping if slow) 2012/03/20 13:10:35 For non-NULL checks, EXPECT_TRUE() works just fine
rkc 2012/03/20 21:00:42 Done.
82 EXPECT_TRUE(KioskModeSettings::Get()->is_initialized());
83 }
84
85 TEST_F(KioskModeSettingsTest, CheckLogoutTimeoutBounds) {
86 chromeos::CrosSettings* cros_settings = chromeos::CrosSettings::Get();
87
88 // Check if we go over max.
89 cros_settings->SetInteger(kIdleLogoutTimeout,
90 kMaxIdleLogoutTimeout + kFudgeInt);
91 ReInitialize();
92 EXPECT_TRUE(KioskModeSettings::Get()->GetIdleLogoutTimeout() ==
Mattias Nissler (ping if slow) 2012/03/20 13:10:35 EXPECT_EQ?
rkc 2012/03/20 21:00:42 Done.
93 base::TimeDelta::FromMilliseconds(kMaxIdleLogoutTimeout));
94
95 // Check if we go over min.
Mattias Nissler (ping if slow) 2012/03/20 13:10:35 s/over/under/
rkc 2012/03/20 21:00:42 Done.
96 cros_settings->SetInteger(kIdleLogoutTimeout,
97 kMinIdleLogoutTimeout - kFudgeInt);
98 ReInitialize();
99 EXPECT_TRUE(KioskModeSettings::Get()->GetIdleLogoutTimeout() ==
Mattias Nissler (ping if slow) 2012/03/20 13:10:35 EXPECT_EQ?
rkc 2012/03/20 21:00:42 Done.
100 base::TimeDelta::FromMilliseconds(kMinIdleLogoutTimeout));
101
102 // Check if we are between max and min.
103 cros_settings->SetInteger(kIdleLogoutTimeout,
104 kMaxIdleLogoutTimeout - kFudgeInt);
105 ReInitialize();
106 EXPECT_TRUE(KioskModeSettings::Get()->GetIdleLogoutTimeout() ==
Mattias Nissler (ping if slow) 2012/03/20 13:10:35 EXPECT_EQ? also below...
rkc 2012/03/20 21:00:42 Done.
107 base::TimeDelta::FromMilliseconds(
108 kMaxIdleLogoutTimeout - kFudgeInt));
109 }
110
111 TEST_F(KioskModeSettingsTest, CheckLogoutWarningDurationBounds) {
112 chromeos::CrosSettings* cros_settings = chromeos::CrosSettings::Get();
113
114 // Check if we go over max.
115 cros_settings->SetInteger(kIdleLogoutWarningDuration,
116 kMaxIdleLogoutWarningDuration + kFudgeInt);
117 ReInitialize();
118 EXPECT_TRUE(KioskModeSettings::Get()->GetIdleLogoutWarningDuration() ==
119 base::TimeDelta::FromMilliseconds(kMaxIdleLogoutWarningDuration));
120
121 // Check if we go over min.
122 cros_settings->SetInteger(kIdleLogoutWarningDuration,
123 kMinIdleLogoutWarningDuration - kFudgeInt);
124 ReInitialize();
125 EXPECT_TRUE(KioskModeSettings::Get()->GetIdleLogoutWarningDuration() ==
126 base::TimeDelta::FromMilliseconds(kMinIdleLogoutWarningDuration));
127
128 // Check if we are between max and min.
129 cros_settings->SetInteger(kIdleLogoutWarningDuration,
130 kMaxIdleLogoutWarningDuration - kFudgeInt);
131 ReInitialize();
132 EXPECT_TRUE(KioskModeSettings::Get()->GetIdleLogoutWarningDuration() ==
133 base::TimeDelta::FromMilliseconds(
134 kMaxIdleLogoutWarningDuration - kFudgeInt));
135 }
136
137 TEST_F(KioskModeSettingsTest, UnitializedValues) {
138 DisableKioskModeSettings();
139
140 // Time delta initializes to '0' microseconds.
141 EXPECT_LT(KioskModeSettings::Get()->GetScreensaverTimeout(),
142 base::TimeDelta());
143 EXPECT_LT(KioskModeSettings::Get()->GetIdleLogoutTimeout(),
144 base::TimeDelta());
145 EXPECT_LT(KioskModeSettings::Get()->GetIdleLogoutWarningDuration(),
146 base::TimeDelta());
147 }
148
149 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698