Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(554)

Side by Side Diff: chromeos/login/login_state_unittest.cc

Issue 13495003: Add LoginState class to src/chromeos/login (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase Created 7 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "chromeos/login/login_state.h"
6
7 #include "base/message_loop.h"
8 #include "chromeos/dbus/dbus_thread_manager.h"
9 #include "testing/gtest/include/gtest/gtest.h"
10
11 namespace chromeos {
12
13 class LoginStateTest : public testing::Test,
14 public LoginState::Observer {
15 public:
16 LoginStateTest()
17 : login_state_(LoginState::LOGGED_IN_OOBE),
18 session_started_(false) {
19 }
20 virtual ~LoginStateTest() {
21 }
22
23 // testing::Test
24 virtual void SetUp() OVERRIDE {
25 // Initialize DBusThreadManager with a stub implementation.
26 DBusThreadManager::InitializeWithStub();
27 LoginState::Initialize();
28 LoginState::Get()->AddObserver(this);
29 }
30
31 virtual void TearDown() OVERRIDE {
32 LoginState::Get()->RemoveObserver(this);
33 LoginState::Shutdown();
34 DBusThreadManager::Shutdown();
35 }
36
37 // LoginState::Observer
38 virtual void LoginStateChanged(LoginState::State state) OVERRIDE {
39 login_state_ = state;
40 session_started_ = LoginState::Get()->IsSessionStarted();
41 }
42
43 protected:
44 MessageLoopForUI message_loop_;
45 LoginState::State login_state_;
46 bool session_started_;
47
48 private:
49 DISALLOW_COPY_AND_ASSIGN(LoginStateTest);
50 };
51
52 TEST_F(LoginStateTest, TestLoginState) {
53 EXPECT_EQ(LoginState::LOGGED_IN_OOBE, login_state_);
54 EXPECT_EQ(LoginState::LOGGED_IN_OOBE, LoginState::Get()->GetLoginState());
55 LoginState::Get()->SetLoginState(LoginState::LOGGED_IN_USER);
56 EXPECT_EQ(LoginState::LOGGED_IN_USER, LoginState::Get()->GetLoginState());
57 EXPECT_TRUE(LoginState::Get()->IsUserLoggedIn());
58 message_loop_.RunUntilIdle();
59 EXPECT_EQ(LoginState::LOGGED_IN_USER, login_state_);
60 // Lock the screen.
61 DBusThreadManager::Get()->GetSessionManagerClient()->RequestLockScreen();
62 message_loop_.RunUntilIdle();
63 EXPECT_EQ(LoginState::LOGGED_IN_LOCKED, LoginState::Get()->GetLoginState());
64 EXPECT_EQ(LoginState::LOGGED_IN_LOCKED, login_state_);
65 // UnLock the screen.
66 DBusThreadManager::Get()->GetSessionManagerClient()->RequestUnlockScreen();
67 message_loop_.RunUntilIdle();
68 EXPECT_EQ(LoginState::LOGGED_IN_USER, LoginState::Get()->GetLoginState());
69 EXPECT_EQ(LoginState::LOGGED_IN_USER, login_state_);
70 }
71
72 TEST_F(LoginStateTest, TestSessionStarted) {
73 EXPECT_FALSE(LoginState::Get()->IsSessionStarted());
74 EXPECT_FALSE(session_started_);
75 LoginState::Get()->SetSessionStarted(true);
76 message_loop_.RunUntilIdle();
77 EXPECT_TRUE(LoginState::Get()->IsSessionStarted());
78 EXPECT_TRUE(session_started_);
79 }
80
81 } // namespace
OLDNEW
« chrome/browser/chromeos/power/power_button_observer.cc ('K') | « chromeos/login/login_state.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698