OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 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 | 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/chromeos/kiosk_mode/kiosk_mode_screensaver.h" | 5 #include "chrome/browser/chromeos/kiosk_mode/kiosk_mode_screensaver.h" |
6 | 6 |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
8 #include "base/memory/scoped_ptr.h" | 8 #include "base/memory/scoped_ptr.h" |
9 #include "base/message_loop.h" | 9 #include "base/message_loop.h" |
10 #include "base/synchronization/waitable_event.h" | 10 #include "base/synchronization/waitable_event.h" |
(...skipping 23 matching lines...) Expand all Loading... |
34 } | 34 } |
35 | 35 |
36 virtual void TearDown() OVERRIDE { | 36 virtual void TearDown() OVERRIDE { |
37 delete screensaver_; | 37 delete screensaver_; |
38 DBusThreadManager::Shutdown(); | 38 DBusThreadManager::Shutdown(); |
39 } | 39 } |
40 | 40 |
41 bool LoginUserObserverRegistered() { | 41 bool LoginUserObserverRegistered() { |
42 return screensaver_->registrar_.IsRegistered( | 42 return screensaver_->registrar_.IsRegistered( |
43 screensaver_, | 43 screensaver_, |
44 chrome::NOTIFICATION_LOGIN_USER_CHANGED, | 44 chrome::NOTIFICATION_SESSION_STARTED, |
45 content::NotificationService::AllSources()); | 45 content::NotificationService::AllSources()); |
46 } | 46 } |
47 | 47 |
48 bool PowerManagerObserverRegistered() { | 48 bool PowerManagerObserverRegistered() { |
49 chromeos::PowerManagerClient* power_manager = | 49 chromeos::PowerManagerClient* power_manager = |
50 chromeos::DBusThreadManager::Get()->GetPowerManagerClient(); | 50 chromeos::DBusThreadManager::Get()->GetPowerManagerClient(); |
51 return power_manager->HasObserver(screensaver_); | 51 return power_manager->HasObserver(screensaver_); |
52 } | 52 } |
53 | 53 |
54 MessageLoopForUI message_loop_; | 54 MessageLoopForUI message_loop_; |
55 content::TestBrowserThread ui_thread_; | 55 content::TestBrowserThread ui_thread_; |
56 | 56 |
57 KioskModeScreensaver* screensaver_; | 57 KioskModeScreensaver* screensaver_; |
58 content::NotificationRegistrar registrar_; | 58 content::NotificationRegistrar registrar_; |
59 }; | 59 }; |
60 | 60 |
61 TEST_F(KioskModeScreensaverTest, CheckObservers) { | 61 TEST_F(KioskModeScreensaverTest, CheckObservers) { |
62 EXPECT_TRUE(LoginUserObserverRegistered()); | 62 EXPECT_TRUE(LoginUserObserverRegistered()); |
63 EXPECT_TRUE(PowerManagerObserverRegistered()); | 63 EXPECT_TRUE(PowerManagerObserverRegistered()); |
64 } | 64 } |
65 | 65 |
66 TEST_F(KioskModeScreensaverTest, CheckObserversAfterUserLogin) { | 66 TEST_F(KioskModeScreensaverTest, CheckObserversAfterUserLogin) { |
67 content::NotificationService::current()->Notify( | 67 content::NotificationService::current()->Notify( |
68 chrome::NOTIFICATION_LOGIN_USER_CHANGED, | 68 chrome::NOTIFICATION_SESSION_STARTED, |
69 content::Source<UserManager>(UserManager::Get()), | 69 content::Source<UserManager>(UserManager::Get()), |
70 // Ideally this should be the user logged in, but since we won't really be | |
71 // checking for the current logged in user in our observer anyway, giving | |
72 // NoDetails here is fine. | |
73 content::NotificationService::NoDetails()); | 70 content::NotificationService::NoDetails()); |
74 | 71 |
75 EXPECT_FALSE(PowerManagerObserverRegistered()); | 72 EXPECT_FALSE(PowerManagerObserverRegistered()); |
76 } | 73 } |
77 | 74 |
78 } // namespace chromeos | 75 } // namespace chromeos |
OLD | NEW |