OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 "chrome/browser/signin/easy_unlock_screenlock_state_handler.h" | 5 #include "chrome/browser/signin/easy_unlock_screenlock_state_handler.h" |
6 | 6 |
7 #include <string> | 7 #include <string> |
8 #include <vector> | 8 #include <vector> |
9 | 9 |
10 #include "base/strings/string16.h" | 10 #include "base/strings/string16.h" |
| 11 #include "base/strings/string_number_conversions.h" |
11 #include "base/strings/string_util.h" | 12 #include "base/strings/string_util.h" |
12 #include "base/strings/utf_string_conversions.h" | 13 #include "base/strings/utf_string_conversions.h" |
13 #include "base/test/histogram_tester.h" | 14 #include "base/test/histogram_tester.h" |
14 #include "chrome/browser/signin/easy_unlock_metrics.h" | 15 #include "chrome/browser/signin/easy_unlock_metrics.h" |
15 #include "chrome/browser/signin/easy_unlock_service.h" | 16 #include "chrome/browser/signin/easy_unlock_service.h" |
16 #include "chrome/browser/signin/proximity_auth_facade.h" | 17 #include "chrome/browser/signin/proximity_auth_facade.h" |
17 #include "chrome/grit/generated_resources.h" | 18 #include "chrome/grit/generated_resources.h" |
18 #include "components/proximity_auth/screenlock_bridge.h" | 19 #include "components/proximity_auth/screenlock_bridge.h" |
| 20 #include "components/proximity_auth/screenlock_state.h" |
19 #include "testing/gtest/include/gtest/gtest.h" | 21 #include "testing/gtest/include/gtest/gtest.h" |
20 #include "ui/base/l10n/l10n_util.h" | 22 #include "ui/base/l10n/l10n_util.h" |
21 | 23 |
| 24 using proximity_auth::ScreenlockState; |
| 25 |
22 namespace { | 26 namespace { |
23 | 27 |
24 // Icons used by EasyUnlockScreenlockStateHandler. The icon id values are the | 28 // Icons used by EasyUnlockScreenlockStateHandler. The icon id values are the |
25 // same as the ones set by proximity_auth::ScreenlockBridge. | 29 // same as the ones set by proximity_auth::ScreenlockBridge. |
26 const char kLockedIconId[] = "locked"; | 30 const char kLockedIconId[] = "locked"; |
27 const char kLockedToBeActivatedIconId[] = "locked-to-be-activated"; | 31 const char kLockedToBeActivatedIconId[] = "locked-to-be-activated"; |
28 const char kUnlockedIconId[] = "unlocked"; | 32 const char kUnlockedIconId[] = "unlocked"; |
29 const char kSpinnerIconId[] = "spinner"; | 33 const char kSpinnerIconId[] = "spinner"; |
30 const char kHardlockedIconId[] = "hardlocked"; | 34 const char kHardlockedIconId[] = "hardlocked"; |
31 | 35 |
(...skipping 201 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
233 // The user associated with |state_handler_|. | 237 // The user associated with |state_handler_|. |
234 const std::string user_email_; | 238 const std::string user_email_; |
235 | 239 |
236 // Faked lock handler given to proximity_auth::ScreenlockBridge during the | 240 // Faked lock handler given to proximity_auth::ScreenlockBridge during the |
237 // test. Abstracts the screen lock UI. | 241 // test. Abstracts the screen lock UI. |
238 scoped_ptr<TestLockHandler> lock_handler_; | 242 scoped_ptr<TestLockHandler> lock_handler_; |
239 }; | 243 }; |
240 | 244 |
241 TEST_F(EasyUnlockScreenlockStateHandlerTest, AuthenticatedTrialRun) { | 245 TEST_F(EasyUnlockScreenlockStateHandlerTest, AuthenticatedTrialRun) { |
242 state_handler_->SetTrialRun(); | 246 state_handler_->SetTrialRun(); |
243 state_handler_->ChangeState( | 247 state_handler_->ChangeState(ScreenlockState::AUTHENTICATED); |
244 EasyUnlockScreenlockStateHandler::STATE_AUTHENTICATED); | |
245 | 248 |
246 EXPECT_EQ(1u, lock_handler_->GetAndResetShowIconCount()); | 249 EXPECT_EQ(1u, lock_handler_->GetAndResetShowIconCount()); |
247 EXPECT_EQ(proximity_auth::ScreenlockBridge::LockHandler::USER_CLICK, | 250 EXPECT_EQ(proximity_auth::ScreenlockBridge::LockHandler::USER_CLICK, |
248 lock_handler_->GetAuthType(user_email_)); | 251 lock_handler_->GetAuthType(user_email_)); |
249 | 252 |
250 ASSERT_TRUE(lock_handler_->HasCustomIcon()); | 253 ASSERT_TRUE(lock_handler_->HasCustomIcon()); |
251 EXPECT_EQ(kUnlockedIconId, lock_handler_->GetCustomIconId()); | 254 EXPECT_EQ(kUnlockedIconId, lock_handler_->GetCustomIconId()); |
252 EXPECT_TRUE(lock_handler_->CustomIconHasTooltip()); | 255 EXPECT_TRUE(lock_handler_->CustomIconHasTooltip()); |
253 EXPECT_TRUE(lock_handler_->IsCustomIconTooltipAutoshown()); | 256 EXPECT_TRUE(lock_handler_->IsCustomIconTooltipAutoshown()); |
254 EXPECT_FALSE(lock_handler_->CustomIconHardlocksOnClick()); | 257 EXPECT_FALSE(lock_handler_->CustomIconHardlocksOnClick()); |
255 | 258 |
256 state_handler_->ChangeState( | 259 state_handler_->ChangeState(ScreenlockState::AUTHENTICATED); |
257 EasyUnlockScreenlockStateHandler::STATE_AUTHENTICATED); | |
258 // Duplicated state change should be ignored. | 260 // Duplicated state change should be ignored. |
259 EXPECT_EQ(0u, lock_handler_->GetAndResetShowIconCount()); | 261 EXPECT_EQ(0u, lock_handler_->GetAndResetShowIconCount()); |
260 } | 262 } |
261 | 263 |
262 TEST_F(EasyUnlockScreenlockStateHandlerTest, AuthenticatedNotInitialRun) { | 264 TEST_F(EasyUnlockScreenlockStateHandlerTest, AuthenticatedNotInitialRun) { |
263 state_handler_->ChangeState( | 265 state_handler_->ChangeState(ScreenlockState::AUTHENTICATED); |
264 EasyUnlockScreenlockStateHandler::STATE_AUTHENTICATED); | |
265 | 266 |
266 EXPECT_EQ(1u, lock_handler_->GetAndResetShowIconCount()); | 267 EXPECT_EQ(1u, lock_handler_->GetAndResetShowIconCount()); |
267 EXPECT_EQ(proximity_auth::ScreenlockBridge::LockHandler::USER_CLICK, | 268 EXPECT_EQ(proximity_auth::ScreenlockBridge::LockHandler::USER_CLICK, |
268 lock_handler_->GetAuthType(user_email_)); | 269 lock_handler_->GetAuthType(user_email_)); |
269 | 270 |
270 ASSERT_TRUE(lock_handler_->HasCustomIcon()); | 271 ASSERT_TRUE(lock_handler_->HasCustomIcon()); |
271 EXPECT_EQ(kUnlockedIconId, lock_handler_->GetCustomIconId()); | 272 EXPECT_EQ(kUnlockedIconId, lock_handler_->GetCustomIconId()); |
272 EXPECT_TRUE(lock_handler_->CustomIconHasTooltip()); | 273 EXPECT_TRUE(lock_handler_->CustomIconHasTooltip()); |
273 EXPECT_FALSE(lock_handler_->IsCustomIconTooltipAutoshown()); | 274 EXPECT_FALSE(lock_handler_->IsCustomIconTooltipAutoshown()); |
274 EXPECT_TRUE(lock_handler_->CustomIconHardlocksOnClick()); | 275 EXPECT_TRUE(lock_handler_->CustomIconHardlocksOnClick()); |
275 } | 276 } |
276 | 277 |
277 TEST_F(EasyUnlockScreenlockStateHandlerTest, IsActive) { | 278 TEST_F(EasyUnlockScreenlockStateHandlerTest, IsActive) { |
278 EXPECT_FALSE(state_handler_->IsActive()); | 279 EXPECT_FALSE(state_handler_->IsActive()); |
279 state_handler_->ChangeState( | 280 state_handler_->ChangeState(ScreenlockState::AUTHENTICATED); |
280 EasyUnlockScreenlockStateHandler::STATE_AUTHENTICATED); | |
281 EXPECT_TRUE(state_handler_->IsActive()); | 281 EXPECT_TRUE(state_handler_->IsActive()); |
282 state_handler_->ChangeState( | 282 state_handler_->ChangeState(ScreenlockState::INACTIVE); |
283 EasyUnlockScreenlockStateHandler::STATE_INACTIVE); | |
284 EXPECT_FALSE(state_handler_->IsActive()); | 283 EXPECT_FALSE(state_handler_->IsActive()); |
285 } | 284 } |
286 | 285 |
287 TEST_F(EasyUnlockScreenlockStateHandlerTest, BluetoothConnecting) { | 286 TEST_F(EasyUnlockScreenlockStateHandlerTest, BluetoothConnecting) { |
288 state_handler_->ChangeState( | 287 state_handler_->ChangeState(ScreenlockState::BLUETOOTH_CONNECTING); |
289 EasyUnlockScreenlockStateHandler::STATE_BLUETOOTH_CONNECTING); | |
290 EXPECT_TRUE(state_handler_->IsActive()); | 288 EXPECT_TRUE(state_handler_->IsActive()); |
291 | 289 |
292 EXPECT_EQ(1u, lock_handler_->GetAndResetShowIconCount()); | 290 EXPECT_EQ(1u, lock_handler_->GetAndResetShowIconCount()); |
293 EXPECT_EQ(proximity_auth::ScreenlockBridge::LockHandler::OFFLINE_PASSWORD, | 291 EXPECT_EQ(proximity_auth::ScreenlockBridge::LockHandler::OFFLINE_PASSWORD, |
294 lock_handler_->GetAuthType(user_email_)); | 292 lock_handler_->GetAuthType(user_email_)); |
295 | 293 |
296 ASSERT_TRUE(lock_handler_->HasCustomIcon()); | 294 ASSERT_TRUE(lock_handler_->HasCustomIcon()); |
297 EXPECT_EQ(kSpinnerIconId, lock_handler_->GetCustomIconId()); | 295 EXPECT_EQ(kSpinnerIconId, lock_handler_->GetCustomIconId()); |
298 EXPECT_FALSE(lock_handler_->CustomIconHasTooltip()); | 296 EXPECT_FALSE(lock_handler_->CustomIconHasTooltip()); |
299 EXPECT_TRUE(lock_handler_->CustomIconHardlocksOnClick()); | 297 EXPECT_TRUE(lock_handler_->CustomIconHardlocksOnClick()); |
300 | 298 |
301 state_handler_->ChangeState( | 299 state_handler_->ChangeState(ScreenlockState::BLUETOOTH_CONNECTING); |
302 EasyUnlockScreenlockStateHandler::STATE_BLUETOOTH_CONNECTING); | |
303 // Duplicated state change should be ignored. | 300 // Duplicated state change should be ignored. |
304 EXPECT_EQ(0u, lock_handler_->GetAndResetShowIconCount()); | 301 EXPECT_EQ(0u, lock_handler_->GetAndResetShowIconCount()); |
305 } | 302 } |
306 | 303 |
307 TEST_F(EasyUnlockScreenlockStateHandlerTest, HardlockedState) { | 304 TEST_F(EasyUnlockScreenlockStateHandlerTest, HardlockedState) { |
308 state_handler_->ChangeState( | 305 state_handler_->ChangeState(ScreenlockState::AUTHENTICATED); |
309 EasyUnlockScreenlockStateHandler::STATE_AUTHENTICATED); | |
310 | 306 |
311 EXPECT_EQ(1u, lock_handler_->GetAndResetShowIconCount()); | 307 EXPECT_EQ(1u, lock_handler_->GetAndResetShowIconCount()); |
312 EXPECT_EQ(proximity_auth::ScreenlockBridge::LockHandler::USER_CLICK, | 308 EXPECT_EQ(proximity_auth::ScreenlockBridge::LockHandler::USER_CLICK, |
313 lock_handler_->GetAuthType(user_email_)); | 309 lock_handler_->GetAuthType(user_email_)); |
314 | 310 |
315 state_handler_->SetHardlockState( | 311 state_handler_->SetHardlockState( |
316 EasyUnlockScreenlockStateHandler::USER_HARDLOCK); | 312 EasyUnlockScreenlockStateHandler::USER_HARDLOCK); |
317 | 313 |
318 EXPECT_EQ(1u, lock_handler_->GetAndResetShowIconCount()); | 314 EXPECT_EQ(1u, lock_handler_->GetAndResetShowIconCount()); |
319 EXPECT_EQ(proximity_auth::ScreenlockBridge::LockHandler::OFFLINE_PASSWORD, | 315 EXPECT_EQ(proximity_auth::ScreenlockBridge::LockHandler::OFFLINE_PASSWORD, |
320 lock_handler_->GetAuthType(user_email_)); | 316 lock_handler_->GetAuthType(user_email_)); |
321 | 317 |
322 ASSERT_TRUE(lock_handler_->HasCustomIcon()); | 318 ASSERT_TRUE(lock_handler_->HasCustomIcon()); |
323 EXPECT_EQ(kHardlockedIconId, lock_handler_->GetCustomIconId()); | 319 EXPECT_EQ(kHardlockedIconId, lock_handler_->GetCustomIconId()); |
324 EXPECT_TRUE(lock_handler_->CustomIconHasTooltip()); | 320 EXPECT_TRUE(lock_handler_->CustomIconHasTooltip()); |
325 EXPECT_TRUE(lock_handler_->IsCustomIconTooltipAutoshown()); | 321 EXPECT_TRUE(lock_handler_->IsCustomIconTooltipAutoshown()); |
326 EXPECT_FALSE(lock_handler_->CustomIconHardlocksOnClick()); | 322 EXPECT_FALSE(lock_handler_->CustomIconHardlocksOnClick()); |
327 | 323 |
328 state_handler_->SetHardlockState( | 324 state_handler_->SetHardlockState( |
329 EasyUnlockScreenlockStateHandler::USER_HARDLOCK); | 325 EasyUnlockScreenlockStateHandler::USER_HARDLOCK); |
330 | 326 |
331 EXPECT_EQ(0u, lock_handler_->GetAndResetShowIconCount()); | 327 EXPECT_EQ(0u, lock_handler_->GetAndResetShowIconCount()); |
332 ASSERT_TRUE(lock_handler_->HasCustomIcon()); | 328 ASSERT_TRUE(lock_handler_->HasCustomIcon()); |
333 } | 329 } |
334 | 330 |
335 TEST_F(EasyUnlockScreenlockStateHandlerTest, HardlockedStateNoPairing) { | 331 TEST_F(EasyUnlockScreenlockStateHandlerTest, HardlockedStateNoPairing) { |
336 state_handler_->ChangeState( | 332 state_handler_->ChangeState(ScreenlockState::AUTHENTICATED); |
337 EasyUnlockScreenlockStateHandler::STATE_AUTHENTICATED); | |
338 | 333 |
339 EXPECT_EQ(1u, lock_handler_->GetAndResetShowIconCount()); | 334 EXPECT_EQ(1u, lock_handler_->GetAndResetShowIconCount()); |
340 EXPECT_EQ(proximity_auth::ScreenlockBridge::LockHandler::USER_CLICK, | 335 EXPECT_EQ(proximity_auth::ScreenlockBridge::LockHandler::USER_CLICK, |
341 lock_handler_->GetAuthType(user_email_)); | 336 lock_handler_->GetAuthType(user_email_)); |
342 | 337 |
343 state_handler_->SetHardlockState( | 338 state_handler_->SetHardlockState( |
344 EasyUnlockScreenlockStateHandler::NO_PAIRING); | 339 EasyUnlockScreenlockStateHandler::NO_PAIRING); |
345 | 340 |
346 EXPECT_FALSE(lock_handler_->HasCustomIcon()); | 341 EXPECT_FALSE(lock_handler_->HasCustomIcon()); |
347 EXPECT_EQ(proximity_auth::ScreenlockBridge::LockHandler::OFFLINE_PASSWORD, | 342 EXPECT_EQ(proximity_auth::ScreenlockBridge::LockHandler::OFFLINE_PASSWORD, |
348 lock_handler_->GetAuthType(user_email_)); | 343 lock_handler_->GetAuthType(user_email_)); |
349 } | 344 } |
350 | 345 |
351 TEST_F(EasyUnlockScreenlockStateHandlerTest, StatesWithLockedIcon) { | 346 TEST_F(EasyUnlockScreenlockStateHandlerTest, StatesWithLockedIcon) { |
352 std::vector<EasyUnlockScreenlockStateHandler::State> states; | 347 std::vector<ScreenlockState> states; |
353 states.push_back(EasyUnlockScreenlockStateHandler::STATE_NO_BLUETOOTH); | 348 states.push_back(ScreenlockState::NO_BLUETOOTH); |
354 states.push_back(EasyUnlockScreenlockStateHandler::STATE_NO_PHONE); | 349 states.push_back(ScreenlockState::NO_PHONE); |
355 states.push_back(EasyUnlockScreenlockStateHandler::STATE_PHONE_UNSUPPORTED); | 350 states.push_back(ScreenlockState::PHONE_UNSUPPORTED); |
356 states.push_back(EasyUnlockScreenlockStateHandler::STATE_PHONE_UNLOCKABLE); | 351 states.push_back(ScreenlockState::PHONE_NOT_LOCKABLE); |
357 states.push_back( | 352 states.push_back(ScreenlockState::PHONE_NOT_AUTHENTICATED); |
358 EasyUnlockScreenlockStateHandler::STATE_PHONE_NOT_AUTHENTICATED); | 353 states.push_back(ScreenlockState::PHONE_LOCKED); |
359 states.push_back(EasyUnlockScreenlockStateHandler::STATE_PHONE_LOCKED); | |
360 | 354 |
361 for (size_t i = 0; i < states.size(); ++i) { | 355 for (size_t i = 0; i < states.size(); ++i) { |
| 356 SCOPED_TRACE(base::IntToString(i)); |
362 state_handler_->ChangeState(states[i]); | 357 state_handler_->ChangeState(states[i]); |
363 EXPECT_TRUE(state_handler_->IsActive()); | 358 EXPECT_TRUE(state_handler_->IsActive()); |
364 | 359 |
365 EXPECT_EQ(1u, lock_handler_->GetAndResetShowIconCount()) | 360 EXPECT_EQ(1u, lock_handler_->GetAndResetShowIconCount()); |
366 << "State: " << states[i]; | |
367 EXPECT_EQ(proximity_auth::ScreenlockBridge::LockHandler::OFFLINE_PASSWORD, | 361 EXPECT_EQ(proximity_auth::ScreenlockBridge::LockHandler::OFFLINE_PASSWORD, |
368 lock_handler_->GetAuthType(user_email_)) | 362 lock_handler_->GetAuthType(user_email_)); |
369 << "State: " << states[i]; | |
370 | 363 |
371 ASSERT_TRUE(lock_handler_->HasCustomIcon()) | 364 ASSERT_TRUE(lock_handler_->HasCustomIcon()); |
372 << "State: " << states[i]; | 365 EXPECT_EQ(kLockedIconId, lock_handler_->GetCustomIconId()); |
373 EXPECT_EQ(kLockedIconId, lock_handler_->GetCustomIconId()) | 366 EXPECT_TRUE(lock_handler_->CustomIconHasTooltip()); |
374 << "State: " << states[i]; | 367 EXPECT_TRUE(lock_handler_->IsCustomIconTooltipAutoshown()); |
375 EXPECT_TRUE(lock_handler_->CustomIconHasTooltip()) | 368 EXPECT_TRUE(lock_handler_->CustomIconHardlocksOnClick()); |
376 << "State: " << states[i]; | |
377 EXPECT_TRUE(lock_handler_->IsCustomIconTooltipAutoshown()) | |
378 << "State: " << states[i]; | |
379 EXPECT_TRUE(lock_handler_->CustomIconHardlocksOnClick()) | |
380 << "State: " << states[i]; | |
381 | 369 |
382 state_handler_->ChangeState(states[i]); | 370 state_handler_->ChangeState(states[i]); |
383 EXPECT_EQ(0u, lock_handler_->GetAndResetShowIconCount()) | 371 EXPECT_EQ(0u, lock_handler_->GetAndResetShowIconCount()); |
384 << "State: " << states[i]; | |
385 } | 372 } |
386 } | 373 } |
387 | 374 |
388 TEST_F(EasyUnlockScreenlockStateHandlerTest, SettingTrialRunUpdatesUI) { | 375 TEST_F(EasyUnlockScreenlockStateHandlerTest, SettingTrialRunUpdatesUI) { |
389 state_handler_->ChangeState( | 376 state_handler_->ChangeState(ScreenlockState::AUTHENTICATED); |
390 EasyUnlockScreenlockStateHandler::STATE_AUTHENTICATED); | |
391 | 377 |
392 EXPECT_EQ(1u, lock_handler_->GetAndResetShowIconCount()); | 378 EXPECT_EQ(1u, lock_handler_->GetAndResetShowIconCount()); |
393 EXPECT_EQ(proximity_auth::ScreenlockBridge::LockHandler::USER_CLICK, | 379 EXPECT_EQ(proximity_auth::ScreenlockBridge::LockHandler::USER_CLICK, |
394 lock_handler_->GetAuthType(user_email_)); | 380 lock_handler_->GetAuthType(user_email_)); |
395 | 381 |
396 ASSERT_TRUE(lock_handler_->HasCustomIcon()); | 382 ASSERT_TRUE(lock_handler_->HasCustomIcon()); |
397 ASSERT_FALSE(lock_handler_->IsCustomIconTooltipAutoshown()); | 383 ASSERT_FALSE(lock_handler_->IsCustomIconTooltipAutoshown()); |
398 | 384 |
399 state_handler_->SetTrialRun(); | 385 state_handler_->SetTrialRun(); |
400 | 386 |
401 EXPECT_EQ(1u, lock_handler_->GetAndResetShowIconCount()); | 387 EXPECT_EQ(1u, lock_handler_->GetAndResetShowIconCount()); |
402 EXPECT_EQ(proximity_auth::ScreenlockBridge::LockHandler::USER_CLICK, | 388 EXPECT_EQ(proximity_auth::ScreenlockBridge::LockHandler::USER_CLICK, |
403 lock_handler_->GetAuthType(user_email_)); | 389 lock_handler_->GetAuthType(user_email_)); |
404 | 390 |
405 ASSERT_TRUE(lock_handler_->HasCustomIcon()); | 391 ASSERT_TRUE(lock_handler_->HasCustomIcon()); |
406 ASSERT_TRUE(lock_handler_->IsCustomIconTooltipAutoshown()); | 392 ASSERT_TRUE(lock_handler_->IsCustomIconTooltipAutoshown()); |
407 } | 393 } |
408 | 394 |
409 TEST_F(EasyUnlockScreenlockStateHandlerTest, | 395 TEST_F(EasyUnlockScreenlockStateHandlerTest, |
410 LockScreenClearedOnStateHandlerDestruction) { | 396 LockScreenClearedOnStateHandlerDestruction) { |
411 state_handler_->ChangeState( | 397 state_handler_->ChangeState(ScreenlockState::AUTHENTICATED); |
412 EasyUnlockScreenlockStateHandler::STATE_AUTHENTICATED); | |
413 | 398 |
414 EXPECT_EQ(1u, lock_handler_->GetAndResetShowIconCount()); | 399 EXPECT_EQ(1u, lock_handler_->GetAndResetShowIconCount()); |
415 EXPECT_EQ(proximity_auth::ScreenlockBridge::LockHandler::USER_CLICK, | 400 EXPECT_EQ(proximity_auth::ScreenlockBridge::LockHandler::USER_CLICK, |
416 lock_handler_->GetAuthType(user_email_)); | 401 lock_handler_->GetAuthType(user_email_)); |
417 | 402 |
418 ASSERT_TRUE(lock_handler_->HasCustomIcon()); | 403 ASSERT_TRUE(lock_handler_->HasCustomIcon()); |
419 | 404 |
420 state_handler_.reset(); | 405 state_handler_.reset(); |
421 | 406 |
422 EXPECT_EQ(0u, lock_handler_->GetAndResetShowIconCount()); | 407 EXPECT_EQ(0u, lock_handler_->GetAndResetShowIconCount()); |
423 EXPECT_EQ(proximity_auth::ScreenlockBridge::LockHandler::OFFLINE_PASSWORD, | 408 EXPECT_EQ(proximity_auth::ScreenlockBridge::LockHandler::OFFLINE_PASSWORD, |
424 lock_handler_->GetAuthType(user_email_)); | 409 lock_handler_->GetAuthType(user_email_)); |
425 | 410 |
426 ASSERT_FALSE(lock_handler_->HasCustomIcon()); | 411 ASSERT_FALSE(lock_handler_->HasCustomIcon()); |
427 } | 412 } |
428 | 413 |
429 TEST_F(EasyUnlockScreenlockStateHandlerTest, StatePreservedWhenScreenUnlocks) { | 414 TEST_F(EasyUnlockScreenlockStateHandlerTest, StatePreservedWhenScreenUnlocks) { |
430 state_handler_->ChangeState( | 415 state_handler_->ChangeState(ScreenlockState::AUTHENTICATED); |
431 EasyUnlockScreenlockStateHandler::STATE_AUTHENTICATED); | |
432 | 416 |
433 EXPECT_EQ(1u, lock_handler_->GetAndResetShowIconCount()); | 417 EXPECT_EQ(1u, lock_handler_->GetAndResetShowIconCount()); |
434 EXPECT_EQ(proximity_auth::ScreenlockBridge::LockHandler::USER_CLICK, | 418 EXPECT_EQ(proximity_auth::ScreenlockBridge::LockHandler::USER_CLICK, |
435 lock_handler_->GetAuthType(user_email_)); | 419 lock_handler_->GetAuthType(user_email_)); |
436 ASSERT_TRUE(lock_handler_->HasCustomIcon()); | 420 ASSERT_TRUE(lock_handler_->HasCustomIcon()); |
437 | 421 |
438 GetScreenlockBridgeInstance()->SetLockHandler(NULL); | 422 GetScreenlockBridgeInstance()->SetLockHandler(NULL); |
439 lock_handler_.reset(new TestLockHandler(user_email_)); | 423 lock_handler_.reset(new TestLockHandler(user_email_)); |
440 EXPECT_EQ(0u, lock_handler_->GetAndResetShowIconCount()); | 424 EXPECT_EQ(0u, lock_handler_->GetAndResetShowIconCount()); |
441 GetScreenlockBridgeInstance()->SetLockHandler(lock_handler_.get()); | 425 GetScreenlockBridgeInstance()->SetLockHandler(lock_handler_.get()); |
442 | 426 |
443 EXPECT_EQ(1u, lock_handler_->GetAndResetShowIconCount()); | 427 EXPECT_EQ(1u, lock_handler_->GetAndResetShowIconCount()); |
444 EXPECT_EQ(proximity_auth::ScreenlockBridge::LockHandler::USER_CLICK, | 428 EXPECT_EQ(proximity_auth::ScreenlockBridge::LockHandler::USER_CLICK, |
445 lock_handler_->GetAuthType(user_email_)); | 429 lock_handler_->GetAuthType(user_email_)); |
446 ASSERT_TRUE(lock_handler_->HasCustomIcon()); | 430 ASSERT_TRUE(lock_handler_->HasCustomIcon()); |
447 } | 431 } |
448 | 432 |
449 TEST_F(EasyUnlockScreenlockStateHandlerTest, StateChangeWhileScreenUnlocked) { | 433 TEST_F(EasyUnlockScreenlockStateHandlerTest, StateChangeWhileScreenUnlocked) { |
450 state_handler_->ChangeState( | 434 state_handler_->ChangeState(ScreenlockState::AUTHENTICATED); |
451 EasyUnlockScreenlockStateHandler::STATE_AUTHENTICATED); | |
452 | 435 |
453 EXPECT_EQ(1u, lock_handler_->GetAndResetShowIconCount()); | 436 EXPECT_EQ(1u, lock_handler_->GetAndResetShowIconCount()); |
454 EXPECT_EQ(proximity_auth::ScreenlockBridge::LockHandler::USER_CLICK, | 437 EXPECT_EQ(proximity_auth::ScreenlockBridge::LockHandler::USER_CLICK, |
455 lock_handler_->GetAuthType(user_email_)); | 438 lock_handler_->GetAuthType(user_email_)); |
456 ASSERT_TRUE(lock_handler_->HasCustomIcon()); | 439 ASSERT_TRUE(lock_handler_->HasCustomIcon()); |
457 | 440 |
458 GetScreenlockBridgeInstance()->SetLockHandler(NULL); | 441 GetScreenlockBridgeInstance()->SetLockHandler(NULL); |
459 lock_handler_.reset(new TestLockHandler(user_email_)); | 442 lock_handler_.reset(new TestLockHandler(user_email_)); |
460 EXPECT_EQ(0u, lock_handler_->GetAndResetShowIconCount()); | 443 EXPECT_EQ(0u, lock_handler_->GetAndResetShowIconCount()); |
461 | 444 |
462 state_handler_->ChangeState( | 445 state_handler_->ChangeState(ScreenlockState::BLUETOOTH_CONNECTING); |
463 EasyUnlockScreenlockStateHandler::STATE_BLUETOOTH_CONNECTING); | |
464 | 446 |
465 GetScreenlockBridgeInstance()->SetLockHandler(lock_handler_.get()); | 447 GetScreenlockBridgeInstance()->SetLockHandler(lock_handler_.get()); |
466 | 448 |
467 EXPECT_EQ(1u, lock_handler_->GetAndResetShowIconCount()); | 449 EXPECT_EQ(1u, lock_handler_->GetAndResetShowIconCount()); |
468 EXPECT_EQ(proximity_auth::ScreenlockBridge::LockHandler::OFFLINE_PASSWORD, | 450 EXPECT_EQ(proximity_auth::ScreenlockBridge::LockHandler::OFFLINE_PASSWORD, |
469 lock_handler_->GetAuthType(user_email_)); | 451 lock_handler_->GetAuthType(user_email_)); |
470 ASSERT_TRUE(lock_handler_->HasCustomIcon()); | 452 ASSERT_TRUE(lock_handler_->HasCustomIcon()); |
471 EXPECT_EQ(kSpinnerIconId, lock_handler_->GetCustomIconId()); | 453 EXPECT_EQ(kSpinnerIconId, lock_handler_->GetCustomIconId()); |
472 } | 454 } |
473 | 455 |
474 TEST_F(EasyUnlockScreenlockStateHandlerTest, | 456 TEST_F(EasyUnlockScreenlockStateHandlerTest, |
475 HardlockEnabledAfterInitialUnlock) { | 457 HardlockEnabledAfterInitialUnlock) { |
476 state_handler_->SetTrialRun(); | 458 state_handler_->SetTrialRun(); |
477 | 459 |
478 std::vector<EasyUnlockScreenlockStateHandler::State> states; | 460 std::vector<ScreenlockState> states; |
479 states.push_back( | 461 states.push_back(ScreenlockState::BLUETOOTH_CONNECTING); |
480 EasyUnlockScreenlockStateHandler::STATE_BLUETOOTH_CONNECTING); | 462 states.push_back(ScreenlockState::PHONE_NOT_AUTHENTICATED); |
481 states.push_back( | 463 states.push_back(ScreenlockState::NO_BLUETOOTH); |
482 EasyUnlockScreenlockStateHandler::STATE_PHONE_NOT_AUTHENTICATED); | 464 states.push_back(ScreenlockState::NO_PHONE); |
483 states.push_back(EasyUnlockScreenlockStateHandler::STATE_NO_BLUETOOTH); | 465 states.push_back(ScreenlockState::PHONE_UNSUPPORTED); |
484 states.push_back(EasyUnlockScreenlockStateHandler::STATE_NO_PHONE); | 466 states.push_back(ScreenlockState::PHONE_NOT_LOCKABLE); |
485 states.push_back(EasyUnlockScreenlockStateHandler::STATE_PHONE_UNSUPPORTED); | |
486 states.push_back(EasyUnlockScreenlockStateHandler::STATE_PHONE_UNLOCKABLE); | |
487 // This one should go last as changing state to AUTHENTICATED enables hard | 467 // This one should go last as changing state to AUTHENTICATED enables hard |
488 // locking. | 468 // locking. |
489 states.push_back(EasyUnlockScreenlockStateHandler::STATE_AUTHENTICATED); | 469 states.push_back(ScreenlockState::AUTHENTICATED); |
490 | 470 |
491 for (size_t i = 0; i < states.size(); ++i) { | 471 for (size_t i = 0; i < states.size(); ++i) { |
| 472 SCOPED_TRACE(base::IntToString(i)); |
492 state_handler_->ChangeState(states[i]); | 473 state_handler_->ChangeState(states[i]); |
493 ASSERT_TRUE(lock_handler_->HasCustomIcon()) << "State: " << states[i]; | 474 ASSERT_TRUE(lock_handler_->HasCustomIcon()); |
494 EXPECT_FALSE(lock_handler_->CustomIconHardlocksOnClick()) | 475 EXPECT_FALSE(lock_handler_->CustomIconHardlocksOnClick()); |
495 << "State: " << states[i]; | |
496 } | 476 } |
497 | 477 |
498 GetScreenlockBridgeInstance()->SetLockHandler(NULL); | 478 GetScreenlockBridgeInstance()->SetLockHandler(NULL); |
499 lock_handler_.reset(new TestLockHandler(user_email_)); | 479 lock_handler_.reset(new TestLockHandler(user_email_)); |
500 GetScreenlockBridgeInstance()->SetLockHandler(lock_handler_.get()); | 480 GetScreenlockBridgeInstance()->SetLockHandler(lock_handler_.get()); |
501 | 481 |
502 for (size_t i = 0; i < states.size(); ++i) { | 482 for (size_t i = 0; i < states.size(); ++i) { |
| 483 SCOPED_TRACE(base::IntToString(i)); |
503 state_handler_->ChangeState(states[i]); | 484 state_handler_->ChangeState(states[i]); |
504 ASSERT_TRUE(lock_handler_->HasCustomIcon()) << "State: " << states[i]; | 485 ASSERT_TRUE(lock_handler_->HasCustomIcon()); |
505 EXPECT_TRUE(lock_handler_->CustomIconHardlocksOnClick()) | 486 EXPECT_TRUE(lock_handler_->CustomIconHardlocksOnClick()); |
506 << "State: " << states[i]; | |
507 } | 487 } |
508 } | 488 } |
509 | 489 |
510 TEST_F(EasyUnlockScreenlockStateHandlerTest, | 490 TEST_F(EasyUnlockScreenlockStateHandlerTest, |
511 NoPairingHardlockClearsIcon) { | 491 NoPairingHardlockClearsIcon) { |
512 state_handler_->ChangeState( | 492 state_handler_->ChangeState(ScreenlockState::PHONE_LOCKED); |
513 EasyUnlockScreenlockStateHandler::STATE_PHONE_LOCKED); | |
514 | 493 |
515 EXPECT_EQ(1u, lock_handler_->GetAndResetShowIconCount()); | 494 EXPECT_EQ(1u, lock_handler_->GetAndResetShowIconCount()); |
516 ASSERT_TRUE(lock_handler_->HasCustomIcon()); | 495 ASSERT_TRUE(lock_handler_->HasCustomIcon()); |
517 EXPECT_EQ(kLockedIconId, lock_handler_->GetCustomIconId()); | 496 EXPECT_EQ(kLockedIconId, lock_handler_->GetCustomIconId()); |
518 | 497 |
519 state_handler_->SetHardlockState( | 498 state_handler_->SetHardlockState( |
520 EasyUnlockScreenlockStateHandler::NO_PAIRING); | 499 EasyUnlockScreenlockStateHandler::NO_PAIRING); |
521 | 500 |
522 EXPECT_EQ(0u, lock_handler_->GetAndResetShowIconCount()); | 501 EXPECT_EQ(0u, lock_handler_->GetAndResetShowIconCount()); |
523 ASSERT_FALSE(lock_handler_->HasCustomIcon()); | 502 ASSERT_FALSE(lock_handler_->HasCustomIcon()); |
524 } | 503 } |
525 | 504 |
526 TEST_F(EasyUnlockScreenlockStateHandlerTest, PairingChangedHardlock) { | 505 TEST_F(EasyUnlockScreenlockStateHandlerTest, PairingChangedHardlock) { |
527 state_handler_->ChangeState( | 506 state_handler_->ChangeState(ScreenlockState::PHONE_LOCKED); |
528 EasyUnlockScreenlockStateHandler::STATE_PHONE_LOCKED); | |
529 | 507 |
530 EXPECT_EQ(1u, lock_handler_->GetAndResetShowIconCount()); | 508 EXPECT_EQ(1u, lock_handler_->GetAndResetShowIconCount()); |
531 ASSERT_TRUE(lock_handler_->HasCustomIcon()); | 509 ASSERT_TRUE(lock_handler_->HasCustomIcon()); |
532 EXPECT_EQ(kLockedIconId, lock_handler_->GetCustomIconId()); | 510 EXPECT_EQ(kLockedIconId, lock_handler_->GetCustomIconId()); |
533 | 511 |
534 state_handler_->SetHardlockState( | 512 state_handler_->SetHardlockState( |
535 EasyUnlockScreenlockStateHandler::PAIRING_CHANGED); | 513 EasyUnlockScreenlockStateHandler::PAIRING_CHANGED); |
536 | 514 |
537 EXPECT_EQ(1u, lock_handler_->GetAndResetShowIconCount()); | 515 EXPECT_EQ(1u, lock_handler_->GetAndResetShowIconCount()); |
538 ASSERT_TRUE(lock_handler_->HasCustomIcon()); | 516 ASSERT_TRUE(lock_handler_->HasCustomIcon()); |
539 EXPECT_EQ(kLockedToBeActivatedIconId, lock_handler_->GetCustomIconId()); | 517 EXPECT_EQ(kLockedToBeActivatedIconId, lock_handler_->GetCustomIconId()); |
540 | 518 |
541 state_handler_->ChangeState( | 519 state_handler_->ChangeState(ScreenlockState::AUTHENTICATED); |
542 EasyUnlockScreenlockStateHandler::STATE_AUTHENTICATED); | |
543 | 520 |
544 EXPECT_EQ(0u, lock_handler_->GetAndResetShowIconCount()); | 521 EXPECT_EQ(0u, lock_handler_->GetAndResetShowIconCount()); |
545 ASSERT_TRUE(lock_handler_->HasCustomIcon()); | 522 ASSERT_TRUE(lock_handler_->HasCustomIcon()); |
546 EXPECT_EQ(kLockedToBeActivatedIconId, lock_handler_->GetCustomIconId()); | 523 EXPECT_EQ(kLockedToBeActivatedIconId, lock_handler_->GetCustomIconId()); |
547 } | 524 } |
548 | 525 |
549 TEST_F(EasyUnlockScreenlockStateHandlerTest, | 526 TEST_F(EasyUnlockScreenlockStateHandlerTest, |
550 PairingChangedHardlockIneffectiveOnInitialRun) { | 527 PairingChangedHardlockIneffectiveOnInitialRun) { |
551 state_handler_->SetTrialRun(); | 528 state_handler_->SetTrialRun(); |
552 | 529 |
553 state_handler_->ChangeState( | 530 state_handler_->ChangeState(ScreenlockState::PHONE_LOCKED); |
554 EasyUnlockScreenlockStateHandler::STATE_PHONE_LOCKED); | |
555 | 531 |
556 EXPECT_EQ(1u, lock_handler_->GetAndResetShowIconCount()); | 532 EXPECT_EQ(1u, lock_handler_->GetAndResetShowIconCount()); |
557 ASSERT_TRUE(lock_handler_->HasCustomIcon()); | 533 ASSERT_TRUE(lock_handler_->HasCustomIcon()); |
558 EXPECT_EQ(kLockedIconId, lock_handler_->GetCustomIconId()); | 534 EXPECT_EQ(kLockedIconId, lock_handler_->GetCustomIconId()); |
559 | 535 |
560 state_handler_->SetHardlockState( | 536 state_handler_->SetHardlockState( |
561 EasyUnlockScreenlockStateHandler::PAIRING_CHANGED); | 537 EasyUnlockScreenlockStateHandler::PAIRING_CHANGED); |
562 | 538 |
563 EXPECT_EQ(1u, lock_handler_->GetAndResetShowIconCount()); | 539 EXPECT_EQ(1u, lock_handler_->GetAndResetShowIconCount()); |
564 ASSERT_TRUE(lock_handler_->HasCustomIcon()); | 540 ASSERT_TRUE(lock_handler_->HasCustomIcon()); |
565 EXPECT_EQ(kLockedIconId, lock_handler_->GetCustomIconId()); | 541 EXPECT_EQ(kLockedIconId, lock_handler_->GetCustomIconId()); |
566 } | 542 } |
567 | 543 |
568 TEST_F(EasyUnlockScreenlockStateHandlerTest, InactiveStateHidesIcon) { | 544 TEST_F(EasyUnlockScreenlockStateHandlerTest, InactiveStateHidesIcon) { |
569 state_handler_->ChangeState( | 545 state_handler_->ChangeState(ScreenlockState::AUTHENTICATED); |
570 EasyUnlockScreenlockStateHandler::STATE_AUTHENTICATED); | |
571 | 546 |
572 ASSERT_TRUE(lock_handler_->HasCustomIcon()); | 547 ASSERT_TRUE(lock_handler_->HasCustomIcon()); |
573 | 548 |
574 state_handler_->ChangeState( | 549 state_handler_->ChangeState(ScreenlockState::INACTIVE); |
575 EasyUnlockScreenlockStateHandler::STATE_INACTIVE); | |
576 | 550 |
577 ASSERT_FALSE(lock_handler_->HasCustomIcon()); | 551 ASSERT_FALSE(lock_handler_->HasCustomIcon()); |
578 } | 552 } |
579 | 553 |
580 TEST_F(EasyUnlockScreenlockStateHandlerTest, | 554 TEST_F(EasyUnlockScreenlockStateHandlerTest, |
581 AuthenticatedStateClearsPreviousAuthValue) { | 555 AuthenticatedStateClearsPreviousAuthValue) { |
582 state_handler_->ChangeState( | 556 state_handler_->ChangeState(ScreenlockState::INACTIVE); |
583 EasyUnlockScreenlockStateHandler::STATE_INACTIVE); | |
584 | 557 |
585 lock_handler_->SetAuthValue(base::ASCIIToUTF16("xxx")); | 558 lock_handler_->SetAuthValue(base::ASCIIToUTF16("xxx")); |
586 | 559 |
587 state_handler_->ChangeState( | 560 state_handler_->ChangeState(ScreenlockState::AUTHENTICATED); |
588 EasyUnlockScreenlockStateHandler::STATE_AUTHENTICATED); | |
589 | 561 |
590 EXPECT_EQ(l10n_util::GetStringUTF16( | 562 EXPECT_EQ(l10n_util::GetStringUTF16( |
591 IDS_EASY_UNLOCK_SCREENLOCK_USER_POD_AUTH_VALUE), | 563 IDS_EASY_UNLOCK_SCREENLOCK_USER_POD_AUTH_VALUE), |
592 lock_handler_->GetAuthValue()); | 564 lock_handler_->GetAuthValue()); |
593 | 565 |
594 state_handler_->ChangeState( | 566 state_handler_->ChangeState(ScreenlockState::NO_PHONE); |
595 EasyUnlockScreenlockStateHandler::STATE_NO_PHONE); | |
596 | 567 |
597 EXPECT_EQ(base::string16(), lock_handler_->GetAuthValue()); | 568 EXPECT_EQ(base::string16(), lock_handler_->GetAuthValue()); |
598 } | 569 } |
599 | 570 |
600 TEST_F(EasyUnlockScreenlockStateHandlerTest, | 571 TEST_F(EasyUnlockScreenlockStateHandlerTest, |
601 ChangingStateDoesNotAffectAuthValueIfAuthTypeDoesNotChange) { | 572 ChangingStateDoesNotAffectAuthValueIfAuthTypeDoesNotChange) { |
602 lock_handler_->SetAuthValue(base::ASCIIToUTF16("xxx")); | 573 lock_handler_->SetAuthValue(base::ASCIIToUTF16("xxx")); |
603 | 574 |
604 state_handler_->ChangeState( | 575 state_handler_->ChangeState(ScreenlockState::NO_PHONE); |
605 EasyUnlockScreenlockStateHandler::STATE_NO_PHONE); | |
606 EXPECT_EQ(base::ASCIIToUTF16("xxx"), lock_handler_->GetAuthValue()); | 576 EXPECT_EQ(base::ASCIIToUTF16("xxx"), lock_handler_->GetAuthValue()); |
607 | 577 |
608 state_handler_->ChangeState( | 578 state_handler_->ChangeState(ScreenlockState::PHONE_NOT_AUTHENTICATED); |
609 EasyUnlockScreenlockStateHandler::STATE_PHONE_NOT_AUTHENTICATED); | |
610 EXPECT_EQ(base::ASCIIToUTF16("xxx"), lock_handler_->GetAuthValue()); | 579 EXPECT_EQ(base::ASCIIToUTF16("xxx"), lock_handler_->GetAuthValue()); |
611 | 580 |
612 state_handler_->ChangeState( | 581 state_handler_->ChangeState(ScreenlockState::BLUETOOTH_CONNECTING); |
613 EasyUnlockScreenlockStateHandler::STATE_BLUETOOTH_CONNECTING); | |
614 EXPECT_EQ(base::ASCIIToUTF16("xxx"), lock_handler_->GetAuthValue()); | 582 EXPECT_EQ(base::ASCIIToUTF16("xxx"), lock_handler_->GetAuthValue()); |
615 ASSERT_TRUE(lock_handler_->HasCustomIcon()); | 583 ASSERT_TRUE(lock_handler_->HasCustomIcon()); |
616 EXPECT_EQ(kSpinnerIconId, lock_handler_->GetCustomIconId()); | 584 EXPECT_EQ(kSpinnerIconId, lock_handler_->GetCustomIconId()); |
617 } | 585 } |
618 | 586 |
619 TEST_F(EasyUnlockScreenlockStateHandlerTest, StateChangesIgnoredIfHardlocked) { | 587 TEST_F(EasyUnlockScreenlockStateHandlerTest, StateChangesIgnoredIfHardlocked) { |
620 state_handler_->ChangeState( | 588 state_handler_->ChangeState(ScreenlockState::AUTHENTICATED); |
621 EasyUnlockScreenlockStateHandler::STATE_AUTHENTICATED); | |
622 | 589 |
623 EXPECT_EQ(1u, lock_handler_->GetAndResetShowIconCount()); | 590 EXPECT_EQ(1u, lock_handler_->GetAndResetShowIconCount()); |
624 EXPECT_EQ(proximity_auth::ScreenlockBridge::LockHandler::USER_CLICK, | 591 EXPECT_EQ(proximity_auth::ScreenlockBridge::LockHandler::USER_CLICK, |
625 lock_handler_->GetAuthType(user_email_)); | 592 lock_handler_->GetAuthType(user_email_)); |
626 | 593 |
627 state_handler_->SetHardlockState( | 594 state_handler_->SetHardlockState( |
628 EasyUnlockScreenlockStateHandler::USER_HARDLOCK); | 595 EasyUnlockScreenlockStateHandler::USER_HARDLOCK); |
629 | 596 |
630 EXPECT_EQ(1u, lock_handler_->GetAndResetShowIconCount()); | 597 EXPECT_EQ(1u, lock_handler_->GetAndResetShowIconCount()); |
631 EXPECT_EQ(proximity_auth::ScreenlockBridge::LockHandler::OFFLINE_PASSWORD, | 598 EXPECT_EQ(proximity_auth::ScreenlockBridge::LockHandler::OFFLINE_PASSWORD, |
632 lock_handler_->GetAuthType(user_email_)); | 599 lock_handler_->GetAuthType(user_email_)); |
633 ASSERT_TRUE(lock_handler_->HasCustomIcon()); | 600 ASSERT_TRUE(lock_handler_->HasCustomIcon()); |
634 EXPECT_EQ(kHardlockedIconId, lock_handler_->GetCustomIconId()); | 601 EXPECT_EQ(kHardlockedIconId, lock_handler_->GetCustomIconId()); |
635 | 602 |
636 state_handler_->ChangeState( | 603 state_handler_->ChangeState(ScreenlockState::NO_PHONE); |
637 EasyUnlockScreenlockStateHandler::STATE_NO_PHONE); | |
638 ASSERT_TRUE(lock_handler_->HasCustomIcon()); | 604 ASSERT_TRUE(lock_handler_->HasCustomIcon()); |
639 EXPECT_EQ(0u, lock_handler_->GetAndResetShowIconCount()); | 605 EXPECT_EQ(0u, lock_handler_->GetAndResetShowIconCount()); |
640 | 606 |
641 state_handler_->ChangeState( | 607 state_handler_->ChangeState(ScreenlockState::AUTHENTICATED); |
642 EasyUnlockScreenlockStateHandler::STATE_AUTHENTICATED); | |
643 ASSERT_TRUE(lock_handler_->HasCustomIcon()); | 608 ASSERT_TRUE(lock_handler_->HasCustomIcon()); |
644 EXPECT_EQ(0u, lock_handler_->GetAndResetShowIconCount()); | 609 EXPECT_EQ(0u, lock_handler_->GetAndResetShowIconCount()); |
645 EXPECT_EQ(proximity_auth::ScreenlockBridge::LockHandler::OFFLINE_PASSWORD, | 610 EXPECT_EQ(proximity_auth::ScreenlockBridge::LockHandler::OFFLINE_PASSWORD, |
646 lock_handler_->GetAuthType(user_email_)); | 611 lock_handler_->GetAuthType(user_email_)); |
647 } | 612 } |
648 | 613 |
649 TEST_F(EasyUnlockScreenlockStateHandlerTest, | 614 TEST_F(EasyUnlockScreenlockStateHandlerTest, |
650 LockScreenChangeableOnLockAfterHardlockReset) { | 615 LockScreenChangeableOnLockAfterHardlockReset) { |
651 state_handler_->ChangeState( | 616 state_handler_->ChangeState(ScreenlockState::AUTHENTICATED); |
652 EasyUnlockScreenlockStateHandler::STATE_AUTHENTICATED); | |
653 | 617 |
654 state_handler_->SetHardlockState( | 618 state_handler_->SetHardlockState( |
655 EasyUnlockScreenlockStateHandler::USER_HARDLOCK); | 619 EasyUnlockScreenlockStateHandler::USER_HARDLOCK); |
656 EXPECT_EQ(2u, lock_handler_->GetAndResetShowIconCount()); | 620 EXPECT_EQ(2u, lock_handler_->GetAndResetShowIconCount()); |
657 | 621 |
658 state_handler_->SetHardlockState( | 622 state_handler_->SetHardlockState( |
659 EasyUnlockScreenlockStateHandler::NO_HARDLOCK); | 623 EasyUnlockScreenlockStateHandler::NO_HARDLOCK); |
660 | 624 |
661 GetScreenlockBridgeInstance()->SetLockHandler(NULL); | 625 GetScreenlockBridgeInstance()->SetLockHandler(NULL); |
662 lock_handler_.reset(new TestLockHandler(user_email_)); | 626 lock_handler_.reset(new TestLockHandler(user_email_)); |
663 EXPECT_EQ(0u, lock_handler_->GetAndResetShowIconCount()); | 627 EXPECT_EQ(0u, lock_handler_->GetAndResetShowIconCount()); |
664 GetScreenlockBridgeInstance()->SetLockHandler(lock_handler_.get()); | 628 GetScreenlockBridgeInstance()->SetLockHandler(lock_handler_.get()); |
665 | 629 |
666 state_handler_->ChangeState( | 630 state_handler_->ChangeState(ScreenlockState::NO_PHONE); |
667 EasyUnlockScreenlockStateHandler::STATE_NO_PHONE); | |
668 | 631 |
669 EXPECT_EQ(2u, lock_handler_->GetAndResetShowIconCount()); | 632 EXPECT_EQ(2u, lock_handler_->GetAndResetShowIconCount()); |
670 EXPECT_TRUE(lock_handler_->HasCustomIcon()); | 633 EXPECT_TRUE(lock_handler_->HasCustomIcon()); |
671 | 634 |
672 GetScreenlockBridgeInstance()->SetLockHandler(NULL); | 635 GetScreenlockBridgeInstance()->SetLockHandler(NULL); |
673 lock_handler_.reset(new TestLockHandler(user_email_)); | 636 lock_handler_.reset(new TestLockHandler(user_email_)); |
674 EXPECT_EQ(0u, lock_handler_->GetAndResetShowIconCount()); | 637 EXPECT_EQ(0u, lock_handler_->GetAndResetShowIconCount()); |
675 GetScreenlockBridgeInstance()->SetLockHandler(lock_handler_.get()); | 638 GetScreenlockBridgeInstance()->SetLockHandler(lock_handler_.get()); |
676 | 639 |
677 EXPECT_EQ(1u, lock_handler_->GetAndResetShowIconCount()); | 640 EXPECT_EQ(1u, lock_handler_->GetAndResetShowIconCount()); |
678 EXPECT_TRUE(lock_handler_->HasCustomIcon()); | 641 EXPECT_TRUE(lock_handler_->HasCustomIcon()); |
679 EXPECT_EQ(proximity_auth::ScreenlockBridge::LockHandler::OFFLINE_PASSWORD, | 642 EXPECT_EQ(proximity_auth::ScreenlockBridge::LockHandler::OFFLINE_PASSWORD, |
680 lock_handler_->GetAuthType(user_email_)); | 643 lock_handler_->GetAuthType(user_email_)); |
681 EXPECT_EQ(kLockedIconId, lock_handler_->GetCustomIconId()); | 644 EXPECT_EQ(kLockedIconId, lock_handler_->GetCustomIconId()); |
682 | 645 |
683 state_handler_->ChangeState( | 646 state_handler_->ChangeState(ScreenlockState::AUTHENTICATED); |
684 EasyUnlockScreenlockStateHandler::STATE_AUTHENTICATED); | |
685 EXPECT_EQ(1u, lock_handler_->GetAndResetShowIconCount()); | 647 EXPECT_EQ(1u, lock_handler_->GetAndResetShowIconCount()); |
686 EXPECT_TRUE(lock_handler_->HasCustomIcon()); | 648 EXPECT_TRUE(lock_handler_->HasCustomIcon()); |
687 EXPECT_EQ(proximity_auth::ScreenlockBridge::LockHandler::USER_CLICK, | 649 EXPECT_EQ(proximity_auth::ScreenlockBridge::LockHandler::USER_CLICK, |
688 lock_handler_->GetAuthType(user_email_)); | 650 lock_handler_->GetAuthType(user_email_)); |
689 EXPECT_TRUE(lock_handler_->CustomIconHardlocksOnClick()); | 651 EXPECT_TRUE(lock_handler_->CustomIconHardlocksOnClick()); |
690 } | 652 } |
691 | 653 |
692 TEST_F(EasyUnlockScreenlockStateHandlerTest, HardlockStatePersistsOverUnlocks) { | 654 TEST_F(EasyUnlockScreenlockStateHandlerTest, HardlockStatePersistsOverUnlocks) { |
693 state_handler_->ChangeState( | 655 state_handler_->ChangeState(ScreenlockState::AUTHENTICATED); |
694 EasyUnlockScreenlockStateHandler::STATE_AUTHENTICATED); | |
695 state_handler_->SetHardlockState( | 656 state_handler_->SetHardlockState( |
696 EasyUnlockScreenlockStateHandler::USER_HARDLOCK); | 657 EasyUnlockScreenlockStateHandler::USER_HARDLOCK); |
697 EXPECT_EQ(2u, lock_handler_->GetAndResetShowIconCount()); | 658 EXPECT_EQ(2u, lock_handler_->GetAndResetShowIconCount()); |
698 | 659 |
699 GetScreenlockBridgeInstance()->SetLockHandler(NULL); | 660 GetScreenlockBridgeInstance()->SetLockHandler(NULL); |
700 lock_handler_.reset(new TestLockHandler(user_email_)); | 661 lock_handler_.reset(new TestLockHandler(user_email_)); |
701 EXPECT_EQ(0u, lock_handler_->GetAndResetShowIconCount()); | 662 EXPECT_EQ(0u, lock_handler_->GetAndResetShowIconCount()); |
702 GetScreenlockBridgeInstance()->SetLockHandler(lock_handler_.get()); | 663 GetScreenlockBridgeInstance()->SetLockHandler(lock_handler_.get()); |
703 | 664 |
704 EXPECT_EQ(1u, lock_handler_->GetAndResetShowIconCount()); | 665 EXPECT_EQ(1u, lock_handler_->GetAndResetShowIconCount()); |
705 EXPECT_EQ(proximity_auth::ScreenlockBridge::LockHandler::OFFLINE_PASSWORD, | 666 EXPECT_EQ(proximity_auth::ScreenlockBridge::LockHandler::OFFLINE_PASSWORD, |
706 lock_handler_->GetAuthType(user_email_)); | 667 lock_handler_->GetAuthType(user_email_)); |
707 ASSERT_TRUE(lock_handler_->HasCustomIcon()); | 668 ASSERT_TRUE(lock_handler_->HasCustomIcon()); |
708 EXPECT_EQ(kHardlockedIconId, lock_handler_->GetCustomIconId()); | 669 EXPECT_EQ(kHardlockedIconId, lock_handler_->GetCustomIconId()); |
709 | 670 |
710 state_handler_->ChangeState( | 671 state_handler_->ChangeState(ScreenlockState::AUTHENTICATED); |
711 EasyUnlockScreenlockStateHandler::STATE_AUTHENTICATED); | |
712 EXPECT_EQ(0u, lock_handler_->GetAndResetShowIconCount()); | 672 EXPECT_EQ(0u, lock_handler_->GetAndResetShowIconCount()); |
713 EXPECT_TRUE(lock_handler_->HasCustomIcon()); | 673 EXPECT_TRUE(lock_handler_->HasCustomIcon()); |
714 EXPECT_EQ(proximity_auth::ScreenlockBridge::LockHandler::OFFLINE_PASSWORD, | 674 EXPECT_EQ(proximity_auth::ScreenlockBridge::LockHandler::OFFLINE_PASSWORD, |
715 lock_handler_->GetAuthType(user_email_)); | 675 lock_handler_->GetAuthType(user_email_)); |
716 } | 676 } |
717 | 677 |
718 TEST_F(EasyUnlockScreenlockStateHandlerTest, NoOverrideOnlineSignin) { | 678 TEST_F(EasyUnlockScreenlockStateHandlerTest, NoOverrideOnlineSignin) { |
719 lock_handler_->SetAuthType( | 679 lock_handler_->SetAuthType( |
720 user_email_, | 680 user_email_, |
721 proximity_auth::ScreenlockBridge::LockHandler::ONLINE_SIGN_IN, | 681 proximity_auth::ScreenlockBridge::LockHandler::ONLINE_SIGN_IN, |
722 base::string16()); | 682 base::string16()); |
723 | 683 |
724 std::vector<EasyUnlockScreenlockStateHandler::State> states; | 684 std::vector<ScreenlockState> states; |
725 states.push_back(EasyUnlockScreenlockStateHandler::STATE_NO_BLUETOOTH); | 685 states.push_back(ScreenlockState::NO_BLUETOOTH); |
726 states.push_back(EasyUnlockScreenlockStateHandler::STATE_NO_PHONE); | 686 states.push_back(ScreenlockState::NO_PHONE); |
727 states.push_back(EasyUnlockScreenlockStateHandler::STATE_PHONE_UNSUPPORTED); | 687 states.push_back(ScreenlockState::PHONE_UNSUPPORTED); |
728 states.push_back(EasyUnlockScreenlockStateHandler::STATE_PHONE_UNLOCKABLE); | 688 states.push_back(ScreenlockState::PHONE_NOT_LOCKABLE); |
729 states.push_back( | 689 states.push_back(ScreenlockState::PHONE_NOT_AUTHENTICATED); |
730 EasyUnlockScreenlockStateHandler::STATE_PHONE_NOT_AUTHENTICATED); | 690 states.push_back(ScreenlockState::PHONE_LOCKED); |
731 states.push_back(EasyUnlockScreenlockStateHandler::STATE_PHONE_LOCKED); | 691 states.push_back(ScreenlockState::PHONE_NOT_LOCKABLE); |
732 states.push_back(EasyUnlockScreenlockStateHandler::STATE_PHONE_UNLOCKABLE); | 692 states.push_back(ScreenlockState::PHONE_UNSUPPORTED); |
733 states.push_back(EasyUnlockScreenlockStateHandler::STATE_PHONE_UNSUPPORTED); | 693 states.push_back(ScreenlockState::RSSI_TOO_LOW); |
734 states.push_back(EasyUnlockScreenlockStateHandler::STATE_RSSI_TOO_LOW); | 694 states.push_back(ScreenlockState::TX_POWER_TOO_HIGH); |
735 states.push_back(EasyUnlockScreenlockStateHandler::STATE_TX_POWER_TOO_HIGH); | 695 states.push_back(ScreenlockState::AUTHENTICATED); |
736 states.push_back(EasyUnlockScreenlockStateHandler::STATE_AUTHENTICATED); | |
737 | 696 |
738 for (size_t i = 0; i < states.size(); ++i) { | 697 for (size_t i = 0; i < states.size(); ++i) { |
739 state_handler_->ChangeState(states[i]); | 698 state_handler_->ChangeState(states[i]); |
740 EXPECT_EQ(proximity_auth::ScreenlockBridge::LockHandler::ONLINE_SIGN_IN, | 699 EXPECT_EQ(proximity_auth::ScreenlockBridge::LockHandler::ONLINE_SIGN_IN, |
741 lock_handler_->GetAuthType(user_email_)); | 700 lock_handler_->GetAuthType(user_email_)); |
742 EXPECT_FALSE(lock_handler_->HasCustomIcon()); | 701 EXPECT_FALSE(lock_handler_->HasCustomIcon()); |
743 } | 702 } |
744 | 703 |
745 std::vector<EasyUnlockScreenlockStateHandler::HardlockState> hardlock_states; | 704 std::vector<EasyUnlockScreenlockStateHandler::HardlockState> hardlock_states; |
746 hardlock_states.push_back(EasyUnlockScreenlockStateHandler::NO_HARDLOCK); | 705 hardlock_states.push_back(EasyUnlockScreenlockStateHandler::NO_HARDLOCK); |
(...skipping 27 matching lines...) Expand all Loading... |
774 state_handler_->RecordClickOnLockIcon(); | 733 state_handler_->RecordClickOnLockIcon(); |
775 histogram_tester.ExpectTotalCount("EasyUnlock.TrialRun.Events", 4); | 734 histogram_tester.ExpectTotalCount("EasyUnlock.TrialRun.Events", 4); |
776 histogram_tester.ExpectBucketCount("EasyUnlock.TrialRun.Events", | 735 histogram_tester.ExpectBucketCount("EasyUnlock.TrialRun.Events", |
777 EASY_UNLOCK_TRIAL_RUN_EVENT_LAUNCHED, 1); | 736 EASY_UNLOCK_TRIAL_RUN_EVENT_LAUNCHED, 1); |
778 histogram_tester.ExpectBucketCount( | 737 histogram_tester.ExpectBucketCount( |
779 "EasyUnlock.TrialRun.Events", | 738 "EasyUnlock.TrialRun.Events", |
780 EASY_UNLOCK_TRIAL_RUN_EVENT_CLICKED_LOCK_ICON, 3); | 739 EASY_UNLOCK_TRIAL_RUN_EVENT_CLICKED_LOCK_ICON, 3); |
781 } | 740 } |
782 | 741 |
783 } // namespace | 742 } // namespace |
OLD | NEW |