OLD | NEW |
---|---|
(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 | |
OLD | NEW |