test_session_state_delegate.cc revision 90dce4d38c5ff5333bea97d859d4e484e27edf0c
1c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)// Copyright (c) 2013 The Chromium Authors. All rights reserved. 2c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 3c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)// found in the LICENSE file. 4c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 5c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)#include "ash/test/test_session_state_delegate.h" 6c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 790dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)#include "base/string16.h" 890dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)#include "base/utf_string_conversions.h" 990dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) 10c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)namespace ash { 11c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)namespace test { 12c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 13c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)TestSessionStateDelegate::TestSessionStateDelegate() 14c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) : has_active_user_(true), 15c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) active_user_session_started_(true), 16c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) can_lock_screen_(true), 1790dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) screen_locked_(false), 1890dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) logged_in_users_(1) { 19c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)} 20c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 21c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)TestSessionStateDelegate::~TestSessionStateDelegate() { 22c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)} 23c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 2490dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)int TestSessionStateDelegate::GetMaximumNumberOfLoggedInUsers() const { 2590dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) return 3; 2690dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)} 2790dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) 2890dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)int TestSessionStateDelegate::NumberOfLoggedInUsers() const { 2990dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) // TODO(skuhne): Add better test framework to test multiple profiles. 3090dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) return has_active_user_ ? logged_in_users_ : 0; 31c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)} 32c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 33c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)bool TestSessionStateDelegate::IsActiveUserSessionStarted() const { 34c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) return active_user_session_started_; 35c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)} 36c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 37c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)bool TestSessionStateDelegate::CanLockScreen() const { 38c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) return has_active_user_ && can_lock_screen_; 39c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)} 40c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 41c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)bool TestSessionStateDelegate::IsScreenLocked() const { 42c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) return screen_locked_; 43c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)} 44c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 45c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)void TestSessionStateDelegate::LockScreen() { 46c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) if (CanLockScreen()) 47c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) screen_locked_ = true; 48c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)} 49c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 50c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)void TestSessionStateDelegate::UnlockScreen() { 51c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) screen_locked_ = false; 52c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)} 53c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 54c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)void TestSessionStateDelegate::SetHasActiveUser(bool has_active_user) { 55c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) has_active_user_ = has_active_user; 56c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) if (!has_active_user) 57c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) active_user_session_started_ = false; 58c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)} 59c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 60c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)void TestSessionStateDelegate::SetActiveUserSessionStarted( 61c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) bool active_user_session_started) { 62c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) active_user_session_started_ = active_user_session_started; 63c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) if (active_user_session_started) 64c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) has_active_user_ = true; 65c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)} 66c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 67c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)void TestSessionStateDelegate::SetCanLockScreen(bool can_lock_screen) { 68c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) can_lock_screen_ = can_lock_screen; 69c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)} 70c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles) 7190dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)const base::string16 TestSessionStateDelegate::GetUserDisplayName( 7290dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) ash::MultiProfileIndex index) const { 7390dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) return UTF8ToUTF16("Über tray Über tray Über tray Über tray"); 7490dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)} 7590dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) 7690dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)const std::string TestSessionStateDelegate::GetUserEmail( 7790dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) ash::MultiProfileIndex index) const { 7890dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) switch (index) { 7990dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) case 0: return "first@tray"; 8090dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) case 1: return "second@tray"; 8190dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) case 2: return "third@tray"; 8290dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) default: return "someone@tray"; 8390dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) } 8490dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)} 8590dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) 8690dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)const gfx::ImageSkia& TestSessionStateDelegate::GetUserImage( 8790dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) ash::MultiProfileIndex index) const { 8890dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) return null_image_; 8990dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)} 9090dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) 9190dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)void TestSessionStateDelegate::GetLoggedInUsers(UserEmailList* users) { 9290dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)} 9390dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) 9490dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)void TestSessionStateDelegate::SwitchActiveUser(const std::string& email) { 9590dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) activated_user_ = email; 9690dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)} 9790dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) 9890dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) 99c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)} // namespace test 100c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)} // namespace ash 101