OLD | NEW |
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "app/l10n_util.h" | 5 #include "app/l10n_util.h" |
6 #include "base/utf_string_conversions.h" | 6 #include "base/utf_string_conversions.h" |
7 #include "chrome/browser/browser_process.h" | 7 #include "chrome/browser/browser_process.h" |
8 #include "chrome/browser/chromeos/login/account_screen.h" | 8 #include "chrome/browser/chromeos/login/account_screen.h" |
9 #include "chrome/browser/chromeos/login/eula_view.h" | 9 #include "chrome/browser/chromeos/login/eula_view.h" |
| 10 #include "chrome/browser/chromeos/login/existing_user_controller.h" |
10 #include "chrome/browser/chromeos/login/language_switch_menu.h" | 11 #include "chrome/browser/chromeos/login/language_switch_menu.h" |
11 #include "chrome/browser/chromeos/login/login_screen.h" | |
12 #include "chrome/browser/chromeos/login/mock_update_screen.h" | 12 #include "chrome/browser/chromeos/login/mock_update_screen.h" |
13 #include "chrome/browser/chromeos/login/network_screen.h" | 13 #include "chrome/browser/chromeos/login/network_screen.h" |
14 #include "chrome/browser/chromeos/login/network_selection_view.h" | 14 #include "chrome/browser/chromeos/login/network_selection_view.h" |
15 #include "chrome/browser/chromeos/login/user_image_screen.h" | 15 #include "chrome/browser/chromeos/login/user_image_screen.h" |
16 #include "chrome/browser/chromeos/login/wizard_controller.h" | 16 #include "chrome/browser/chromeos/login/wizard_controller.h" |
17 #include "chrome/browser/chromeos/login/wizard_in_process_browser_test.h" | 17 #include "chrome/browser/chromeos/login/wizard_in_process_browser_test.h" |
18 #include "chrome/test/ui_test_utils.h" | 18 #include "chrome/test/ui_test_utils.h" |
19 #include "grit/generated_resources.h" | 19 #include "grit/generated_resources.h" |
20 #include "testing/gmock/include/gmock/gmock.h" | 20 #include "testing/gmock/include/gmock/gmock.h" |
21 #include "testing/gtest/include/gtest/gtest.h" | 21 #include "testing/gtest/include/gtest/gtest.h" |
(...skipping 28 matching lines...) Expand all Loading... |
50 } | 50 } |
51 | 51 |
52 #define MOCK(mock_var, screen_name, mocked_class) \ | 52 #define MOCK(mock_var, screen_name, mocked_class) \ |
53 mock_var = CreateMockWizardScreenHelper<mocked_class>::Create(controller()); \ | 53 mock_var = CreateMockWizardScreenHelper<mocked_class>::Create(controller()); \ |
54 controller()->screen_name.reset(mock_var); \ | 54 controller()->screen_name.reset(mock_var); \ |
55 EXPECT_CALL(*mock_var, Show()).Times(0); \ | 55 EXPECT_CALL(*mock_var, Show()).Times(0); \ |
56 EXPECT_CALL(*mock_var, Hide()).Times(0); | 56 EXPECT_CALL(*mock_var, Hide()).Times(0); |
57 | 57 |
58 } // namespace | 58 } // namespace |
59 | 59 |
| 60 using chromeos::ExistingUserController; |
| 61 |
60 class WizardControllerTest : public chromeos::WizardInProcessBrowserTest { | 62 class WizardControllerTest : public chromeos::WizardInProcessBrowserTest { |
61 protected: | 63 protected: |
62 WizardControllerTest() : chromeos::WizardInProcessBrowserTest( | 64 WizardControllerTest() : chromeos::WizardInProcessBrowserTest( |
63 WizardController::kTestNoScreenName) {} | 65 WizardController::kTestNoScreenName) {} |
64 virtual ~WizardControllerTest() {} | 66 virtual ~WizardControllerTest() {} |
65 | 67 |
66 private: | 68 private: |
67 DISALLOW_COPY_AND_ASSIGN(WizardControllerTest); | 69 DISALLOW_COPY_AND_ASSIGN(WizardControllerTest); |
68 }; | 70 }; |
69 | 71 |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
107 WizardControllerFlowTest() {} | 109 WizardControllerFlowTest() {} |
108 // Overriden from InProcessBrowserTest: | 110 // Overriden from InProcessBrowserTest: |
109 virtual Browser* CreateBrowser(Profile* profile) { | 111 virtual Browser* CreateBrowser(Profile* profile) { |
110 Browser* ret = WizardControllerTest::CreateBrowser(profile); | 112 Browser* ret = WizardControllerTest::CreateBrowser(profile); |
111 | 113 |
112 // Make sure that OOBE is run as an "official" build. | 114 // Make sure that OOBE is run as an "official" build. |
113 WizardController::default_controller()->is_official_build_ = true; | 115 WizardController::default_controller()->is_official_build_ = true; |
114 | 116 |
115 // Set up the mocks for all screens. | 117 // Set up the mocks for all screens. |
116 MOCK(mock_account_screen_, account_screen_, chromeos::AccountScreen); | 118 MOCK(mock_account_screen_, account_screen_, chromeos::AccountScreen); |
117 MOCK(mock_login_screen_, login_screen_, chromeos::LoginScreen); | |
118 MOCK(mock_network_screen_, network_screen_, chromeos::NetworkScreen); | 119 MOCK(mock_network_screen_, network_screen_, chromeos::NetworkScreen); |
119 MOCK(mock_update_screen_, update_screen_, MockUpdateScreen); | 120 MOCK(mock_update_screen_, update_screen_, MockUpdateScreen); |
120 MOCK(mock_eula_screen_, eula_screen_, chromeos::EulaScreen); | 121 MOCK(mock_eula_screen_, eula_screen_, chromeos::EulaScreen); |
121 | 122 |
122 // Switch to the initial screen. | 123 // Switch to the initial screen. |
123 EXPECT_EQ(NULL, controller()->current_screen()); | 124 EXPECT_EQ(NULL, controller()->current_screen()); |
124 EXPECT_CALL(*mock_network_screen_, Show()).Times(1); | 125 EXPECT_CALL(*mock_network_screen_, Show()).Times(1); |
125 controller()->ShowFirstScreen(WizardController::kNetworkScreenName); | 126 controller()->ShowFirstScreen(WizardController::kNetworkScreenName); |
126 | 127 |
127 return ret; | 128 return ret; |
128 } | 129 } |
129 | 130 |
130 MockOutShowHide<chromeos::AccountScreen>* mock_account_screen_; | 131 MockOutShowHide<chromeos::AccountScreen>* mock_account_screen_; |
131 MockOutShowHide<chromeos::LoginScreen>* mock_login_screen_; | |
132 MockOutShowHide<chromeos::NetworkScreen>* mock_network_screen_; | 132 MockOutShowHide<chromeos::NetworkScreen>* mock_network_screen_; |
133 MockOutShowHide<MockUpdateScreen>* mock_update_screen_; | 133 MockOutShowHide<MockUpdateScreen>* mock_update_screen_; |
134 MockOutShowHide<chromeos::EulaScreen>* mock_eula_screen_; | 134 MockOutShowHide<chromeos::EulaScreen>* mock_eula_screen_; |
135 | 135 |
136 private: | 136 private: |
137 DISALLOW_COPY_AND_ASSIGN(WizardControllerFlowTest); | 137 DISALLOW_COPY_AND_ASSIGN(WizardControllerFlowTest); |
138 }; | 138 }; |
139 | 139 |
140 IN_PROC_BROWSER_TEST_F(WizardControllerFlowTest, ControlFlowMain) { | 140 IN_PROC_BROWSER_TEST_F(WizardControllerFlowTest, ControlFlowMain) { |
| 141 EXPECT_TRUE(ExistingUserController::current_controller() == NULL); |
141 EXPECT_EQ(controller()->GetNetworkScreen(), controller()->current_screen()); | 142 EXPECT_EQ(controller()->GetNetworkScreen(), controller()->current_screen()); |
142 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1); | 143 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1); |
143 EXPECT_CALL(*mock_eula_screen_, Show()).Times(1); | 144 EXPECT_CALL(*mock_eula_screen_, Show()).Times(1); |
144 controller()->OnExit(chromeos::ScreenObserver::NETWORK_CONNECTED); | 145 controller()->OnExit(chromeos::ScreenObserver::NETWORK_CONNECTED); |
145 | 146 |
146 EXPECT_EQ(controller()->GetEulaScreen(), controller()->current_screen()); | 147 EXPECT_EQ(controller()->GetEulaScreen(), controller()->current_screen()); |
147 EXPECT_CALL(*mock_eula_screen_, Hide()).Times(1); | 148 EXPECT_CALL(*mock_eula_screen_, Hide()).Times(1); |
148 EXPECT_CALL(*mock_update_screen_, StartUpdate()).Times(1); | 149 EXPECT_CALL(*mock_update_screen_, StartUpdate()).Times(1); |
149 EXPECT_CALL(*mock_update_screen_, Show()).Times(1); | 150 EXPECT_CALL(*mock_update_screen_, Show()).Times(1); |
150 controller()->OnExit(chromeos::ScreenObserver::EULA_ACCEPTED); | 151 controller()->OnExit(chromeos::ScreenObserver::EULA_ACCEPTED); |
151 | 152 |
152 EXPECT_EQ(controller()->GetUpdateScreen(), controller()->current_screen()); | 153 EXPECT_EQ(controller()->GetUpdateScreen(), controller()->current_screen()); |
153 EXPECT_CALL(*mock_update_screen_, Hide()).Times(1); | 154 EXPECT_CALL(*mock_update_screen_, Hide()).Times(0); |
154 EXPECT_CALL(*mock_eula_screen_, Show()).Times(0); | 155 EXPECT_CALL(*mock_eula_screen_, Show()).Times(0); |
155 EXPECT_CALL(*mock_login_screen_, Show()).Times(1); | |
156 controller()->OnExit(chromeos::ScreenObserver::UPDATE_INSTALLED); | 156 controller()->OnExit(chromeos::ScreenObserver::UPDATE_INSTALLED); |
157 | 157 |
158 EXPECT_EQ(controller()->GetLoginScreen(), controller()->current_screen()); | 158 EXPECT_FALSE(ExistingUserController::current_controller() == NULL); |
159 EXPECT_CALL(*mock_login_screen_, Hide()).Times(1); | 159 set_controller(NULL); |
160 EXPECT_CALL(*mock_account_screen_, Show()).Times(1); | |
161 controller()->OnExit(chromeos::ScreenObserver::LOGIN_CREATE_ACCOUNT); | |
162 | |
163 EXPECT_EQ(controller()->GetAccountScreen(), controller()->current_screen()); | |
164 EXPECT_CALL(*mock_account_screen_, Hide()).Times(1); | |
165 EXPECT_CALL(*mock_login_screen_, Show()).Times(1); | |
166 EXPECT_CALL(*mock_login_screen_, Hide()).Times(0); // last transition | |
167 controller()->OnExit(chromeos::ScreenObserver::ACCOUNT_CREATED); | |
168 | |
169 EXPECT_EQ(controller()->GetLoginScreen(), controller()->current_screen()); | |
170 } | 160 } |
171 | 161 |
172 IN_PROC_BROWSER_TEST_F(WizardControllerFlowTest, ControlFlowErrorUpdate) { | 162 IN_PROC_BROWSER_TEST_F(WizardControllerFlowTest, ControlFlowErrorUpdate) { |
173 EXPECT_EQ(controller()->GetNetworkScreen(), controller()->current_screen()); | 163 EXPECT_EQ(controller()->GetNetworkScreen(), controller()->current_screen()); |
174 EXPECT_CALL(*mock_update_screen_, StartUpdate()).Times(0); | 164 EXPECT_CALL(*mock_update_screen_, StartUpdate()).Times(0); |
175 EXPECT_CALL(*mock_eula_screen_, Show()).Times(1); | 165 EXPECT_CALL(*mock_eula_screen_, Show()).Times(1); |
176 EXPECT_CALL(*mock_update_screen_, Show()).Times(0); | 166 EXPECT_CALL(*mock_update_screen_, Show()).Times(0); |
177 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1); | 167 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1); |
178 controller()->OnExit(chromeos::ScreenObserver::NETWORK_CONNECTED); | 168 controller()->OnExit(chromeos::ScreenObserver::NETWORK_CONNECTED); |
179 | 169 |
180 EXPECT_EQ(controller()->GetEulaScreen(), controller()->current_screen()); | 170 EXPECT_EQ(controller()->GetEulaScreen(), controller()->current_screen()); |
181 EXPECT_CALL(*mock_eula_screen_, Hide()).Times(1); | 171 EXPECT_CALL(*mock_eula_screen_, Hide()).Times(1); |
182 EXPECT_CALL(*mock_update_screen_, StartUpdate()).Times(1); | 172 EXPECT_CALL(*mock_update_screen_, StartUpdate()).Times(1); |
183 EXPECT_CALL(*mock_update_screen_, Show()).Times(1); | 173 EXPECT_CALL(*mock_update_screen_, Show()).Times(1); |
184 controller()->OnExit(chromeos::ScreenObserver::EULA_ACCEPTED); | 174 controller()->OnExit(chromeos::ScreenObserver::EULA_ACCEPTED); |
185 | 175 |
186 EXPECT_EQ(controller()->GetUpdateScreen(), controller()->current_screen()); | 176 EXPECT_EQ(controller()->GetUpdateScreen(), controller()->current_screen()); |
187 EXPECT_CALL(*mock_update_screen_, Hide()).Times(1); | 177 EXPECT_CALL(*mock_update_screen_, Hide()).Times(0); |
188 EXPECT_CALL(*mock_eula_screen_, Show()).Times(0); | 178 EXPECT_CALL(*mock_eula_screen_, Show()).Times(0); |
189 EXPECT_CALL(*mock_eula_screen_, Hide()).Times(0); // last transition | 179 EXPECT_CALL(*mock_eula_screen_, Hide()).Times(0); // last transition |
190 EXPECT_CALL(*mock_login_screen_, Show()).Times(1); | |
191 controller()->OnExit( | 180 controller()->OnExit( |
192 chromeos::ScreenObserver::UPDATE_ERROR_UPDATING); | 181 chromeos::ScreenObserver::UPDATE_ERROR_UPDATING); |
193 | 182 |
194 EXPECT_EQ(controller()->GetLoginScreen(), controller()->current_screen()); | 183 EXPECT_FALSE(ExistingUserController::current_controller() == NULL); |
| 184 set_controller(NULL); |
195 } | 185 } |
196 | 186 |
197 IN_PROC_BROWSER_TEST_F(WizardControllerFlowTest, ControlFlowEulaDeclined) { | 187 IN_PROC_BROWSER_TEST_F(WizardControllerFlowTest, ControlFlowEulaDeclined) { |
198 EXPECT_EQ(controller()->GetNetworkScreen(), controller()->current_screen()); | 188 EXPECT_EQ(controller()->GetNetworkScreen(), controller()->current_screen()); |
199 EXPECT_CALL(*mock_update_screen_, StartUpdate()).Times(0); | 189 EXPECT_CALL(*mock_update_screen_, StartUpdate()).Times(0); |
200 EXPECT_CALL(*mock_eula_screen_, Show()).Times(1); | 190 EXPECT_CALL(*mock_eula_screen_, Show()).Times(1); |
201 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1); | 191 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1); |
202 controller()->OnExit(chromeos::ScreenObserver::NETWORK_CONNECTED); | 192 controller()->OnExit(chromeos::ScreenObserver::NETWORK_CONNECTED); |
203 | 193 |
204 EXPECT_EQ(controller()->GetEulaScreen(), controller()->current_screen()); | 194 EXPECT_EQ(controller()->GetEulaScreen(), controller()->current_screen()); |
205 EXPECT_CALL(*mock_eula_screen_, Hide()).Times(1); | 195 EXPECT_CALL(*mock_eula_screen_, Hide()).Times(1); |
206 EXPECT_CALL(*mock_network_screen_, Show()).Times(1); | 196 EXPECT_CALL(*mock_network_screen_, Show()).Times(1); |
207 EXPECT_CALL(*mock_network_screen_, Hide()).Times(0); // last transition | 197 EXPECT_CALL(*mock_network_screen_, Hide()).Times(0); // last transition |
208 controller()->OnExit(chromeos::ScreenObserver::EULA_BACK); | 198 controller()->OnExit(chromeos::ScreenObserver::EULA_BACK); |
209 | 199 |
210 EXPECT_EQ(controller()->GetNetworkScreen(), controller()->current_screen()); | 200 EXPECT_EQ(controller()->GetNetworkScreen(), controller()->current_screen()); |
211 } | 201 } |
212 | 202 |
213 IN_PROC_BROWSER_TEST_F(WizardControllerFlowTest, ControlFlowErrorNetwork) { | 203 IN_PROC_BROWSER_TEST_F(WizardControllerFlowTest, ControlFlowErrorNetwork) { |
214 EXPECT_EQ(controller()->GetNetworkScreen(), controller()->current_screen()); | 204 EXPECT_EQ(controller()->GetNetworkScreen(), controller()->current_screen()); |
215 EXPECT_CALL(*mock_login_screen_, Show()).Times(1); | |
216 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1); | |
217 controller()->OnExit(chromeos::ScreenObserver::NETWORK_OFFLINE); | 205 controller()->OnExit(chromeos::ScreenObserver::NETWORK_OFFLINE); |
218 EXPECT_EQ(controller()->GetLoginScreen(), controller()->current_screen()); | 206 |
| 207 EXPECT_FALSE(ExistingUserController::current_controller() == NULL); |
| 208 set_controller(NULL); |
219 } | 209 } |
220 | 210 |
221 #if defined(OFFICIAL_BUILD) | 211 #if defined(OFFICIAL_BUILD) |
222 // This test is supposed to fail on official test. | 212 // This test is supposed to fail on official build. |
223 #define MAYBE_Accelerators DISABLED_Accelerators | 213 #define MAYBE_Accelerators DISABLED_Accelerators |
224 #else | 214 #else |
225 #define MAYBE_Accelerators Accelerators | 215 #define MAYBE_Accelerators Accelerators |
226 #endif | 216 #endif |
227 | 217 |
228 IN_PROC_BROWSER_TEST_F(WizardControllerFlowTest, MAYBE_Accelerators) { | 218 IN_PROC_BROWSER_TEST_F(WizardControllerFlowTest, MAYBE_Accelerators) { |
229 EXPECT_EQ(controller()->GetNetworkScreen(), controller()->current_screen()); | 219 EXPECT_EQ(controller()->GetNetworkScreen(), controller()->current_screen()); |
230 | 220 |
231 views::FocusManager* focus_manager = | 221 views::FocusManager* focus_manager = |
232 controller()->contents()->GetFocusManager(); | 222 controller()->contents()->GetFocusManager(); |
233 views::Accelerator accel_account_screen(app::VKEY_A, false, true, true); | 223 views::Accelerator accel_account_screen(app::VKEY_A, false, true, true); |
234 views::Accelerator accel_login_screen(app::VKEY_L, false, true, true); | |
235 views::Accelerator accel_network_screen(app::VKEY_N, false, true, true); | 224 views::Accelerator accel_network_screen(app::VKEY_N, false, true, true); |
236 views::Accelerator accel_update_screen(app::VKEY_U, false, true, true); | 225 views::Accelerator accel_update_screen(app::VKEY_U, false, true, true); |
237 views::Accelerator accel_image_screen(app::VKEY_I, false, true, true); | 226 views::Accelerator accel_image_screen(app::VKEY_I, false, true, true); |
238 views::Accelerator accel_eula_screen(app::VKEY_E, false, true, true); | 227 views::Accelerator accel_eula_screen(app::VKEY_E, false, true, true); |
239 | 228 |
240 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1); | 229 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1); |
241 EXPECT_CALL(*mock_account_screen_, Show()).Times(1); | 230 EXPECT_CALL(*mock_account_screen_, Show()).Times(1); |
242 EXPECT_TRUE(focus_manager->ProcessAccelerator(accel_account_screen)); | 231 EXPECT_TRUE(focus_manager->ProcessAccelerator(accel_account_screen)); |
243 EXPECT_EQ(controller()->GetAccountScreen(), controller()->current_screen()); | 232 EXPECT_EQ(controller()->GetAccountScreen(), controller()->current_screen()); |
244 | 233 |
245 focus_manager = controller()->contents()->GetFocusManager(); | 234 focus_manager = controller()->contents()->GetFocusManager(); |
246 EXPECT_CALL(*mock_account_screen_, Hide()).Times(1); | 235 EXPECT_CALL(*mock_account_screen_, Hide()).Times(1); |
247 EXPECT_CALL(*mock_login_screen_, Show()).Times(1); | |
248 EXPECT_TRUE(focus_manager->ProcessAccelerator(accel_login_screen)); | |
249 EXPECT_EQ(controller()->GetLoginScreen(), controller()->current_screen()); | |
250 | |
251 focus_manager = controller()->contents()->GetFocusManager(); | |
252 EXPECT_CALL(*mock_login_screen_, Hide()).Times(1); | |
253 EXPECT_CALL(*mock_network_screen_, Show()).Times(1); | 236 EXPECT_CALL(*mock_network_screen_, Show()).Times(1); |
254 EXPECT_TRUE(focus_manager->ProcessAccelerator(accel_network_screen)); | 237 EXPECT_TRUE(focus_manager->ProcessAccelerator(accel_network_screen)); |
255 EXPECT_EQ(controller()->GetNetworkScreen(), controller()->current_screen()); | 238 EXPECT_EQ(controller()->GetNetworkScreen(), controller()->current_screen()); |
256 | 239 |
257 focus_manager = controller()->contents()->GetFocusManager(); | 240 focus_manager = controller()->contents()->GetFocusManager(); |
258 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1); | 241 EXPECT_CALL(*mock_network_screen_, Hide()).Times(1); |
259 EXPECT_CALL(*mock_update_screen_, Show()).Times(1); | 242 EXPECT_CALL(*mock_update_screen_, Show()).Times(1); |
260 EXPECT_TRUE(focus_manager->ProcessAccelerator(accel_update_screen)); | 243 EXPECT_TRUE(focus_manager->ProcessAccelerator(accel_update_screen)); |
261 EXPECT_EQ(controller()->GetUpdateScreen(), controller()->current_screen()); | 244 EXPECT_EQ(controller()->GetUpdateScreen(), controller()->current_screen()); |
262 | 245 |
263 focus_manager = controller()->contents()->GetFocusManager(); | 246 focus_manager = controller()->contents()->GetFocusManager(); |
264 EXPECT_CALL(*mock_update_screen_, Hide()).Times(1); | 247 EXPECT_CALL(*mock_update_screen_, Hide()).Times(1); |
265 EXPECT_TRUE(focus_manager->ProcessAccelerator(accel_image_screen)); | 248 EXPECT_TRUE(focus_manager->ProcessAccelerator(accel_image_screen)); |
266 EXPECT_EQ(controller()->GetUserImageScreen(), controller()->current_screen()); | 249 EXPECT_EQ(controller()->GetUserImageScreen(), controller()->current_screen()); |
267 | 250 |
268 focus_manager = controller()->contents()->GetFocusManager(); | 251 focus_manager = controller()->contents()->GetFocusManager(); |
269 EXPECT_CALL(*mock_eula_screen_, Show()).Times(1); | 252 EXPECT_CALL(*mock_eula_screen_, Show()).Times(1); |
270 EXPECT_TRUE(focus_manager->ProcessAccelerator(accel_eula_screen)); | 253 EXPECT_TRUE(focus_manager->ProcessAccelerator(accel_eula_screen)); |
271 EXPECT_EQ(controller()->GetEulaScreen(), controller()->current_screen()); | 254 EXPECT_EQ(controller()->GetEulaScreen(), controller()->current_screen()); |
272 } | 255 } |
273 | 256 |
274 COMPILE_ASSERT(chromeos::ScreenObserver::EXIT_CODES_COUNT == 18, | 257 COMPILE_ASSERT(chromeos::ScreenObserver::EXIT_CODES_COUNT == 15, |
275 add_tests_for_new_control_flow_you_just_introduced); | 258 add_tests_for_new_control_flow_you_just_introduced); |
OLD | NEW |