| 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 |