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/sync/sync_error_notifier_ash.h" | 5 #include "chrome/browser/sync/sync_error_notifier_ash.h" |
6 | 6 |
7 #include "ash/test/ash_test_base.h" | 7 #include "ash/test/ash_test_base.h" |
8 #include "base/memory/scoped_ptr.h" | 8 #include "base/memory/scoped_ptr.h" |
9 #include "chrome/browser/browser_process.h" | 9 #include "chrome/browser/browser_process.h" |
10 #include "chrome/browser/notifications/notification.h" | 10 #include "chrome/browser/notifications/notification.h" |
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
101 profile_ = profile_manager_->CreateTestingProfile(kTestAccountId); | 101 profile_ = profile_manager_->CreateTestingProfile(kTestAccountId); |
102 | 102 |
103 TestingBrowserProcess::GetGlobal(); | 103 TestingBrowserProcess::GetGlobal(); |
104 AshTestBase::SetUp(); | 104 AshTestBase::SetUp(); |
105 | 105 |
106 // Set up a desktop screen for Windows to hold native widgets, used when | 106 // Set up a desktop screen for Windows to hold native widgets, used when |
107 // adding desktop widgets (i.e., message center notifications). | 107 // adding desktop widgets (i.e., message center notifications). |
108 #if defined(OS_WIN) | 108 #if defined(OS_WIN) |
109 test_screen_.reset(aura::TestScreen::Create(gfx::Size())); | 109 test_screen_.reset(aura::TestScreen::Create(gfx::Size())); |
110 gfx::Screen::SetScreenInstance(gfx::SCREEN_TYPE_NATIVE, test_screen_.get()); | 110 gfx::Screen::SetScreenInstance(gfx::SCREEN_TYPE_NATIVE, test_screen_.get()); |
111 gfx::Screen::SetScreenTypeDelegate(new ScreenTypeDelegateDesktop); | 111 gfx::Screen::SetScreenTypeDelegate(&screen_type_delegate_); |
112 #endif | 112 #endif |
113 | 113 |
114 service_.reset(new NiceMock<ProfileSyncServiceMock>(profile_)); | 114 service_.reset(new NiceMock<ProfileSyncServiceMock>(profile_)); |
115 | 115 |
116 FakeLoginUIService* login_ui_service = static_cast<FakeLoginUIService*>( | 116 FakeLoginUIService* login_ui_service = static_cast<FakeLoginUIService*>( |
117 LoginUIServiceFactory::GetInstance()->SetTestingFactoryAndUse( | 117 LoginUIServiceFactory::GetInstance()->SetTestingFactoryAndUse( |
118 profile_, BuildMockLoginUIService)); | 118 profile_, BuildMockLoginUIService)); |
119 login_ui_service->SetLoginUI(&login_ui_); | 119 login_ui_service->SetLoginUI(&login_ui_); |
120 | 120 |
121 error_controller_.reset(new SyncErrorController(service_.get())); | 121 error_controller_.reset(new SyncErrorController(service_.get())); |
122 error_notifier_.reset(new SyncErrorNotifier(error_controller_.get(), | 122 error_notifier_.reset(new SyncErrorNotifier(error_controller_.get(), |
123 profile_)); | 123 profile_)); |
124 | 124 |
125 notification_ui_manager_ = g_browser_process->notification_ui_manager(); | 125 notification_ui_manager_ = g_browser_process->notification_ui_manager(); |
126 } | 126 } |
127 | 127 |
128 void TearDown() override { | 128 void TearDown() override { |
129 error_notifier_->Shutdown(); | 129 error_notifier_->Shutdown(); |
130 service_.reset(); | 130 service_.reset(); |
131 #if defined(OS_WIN) | 131 #if defined(OS_WIN) |
| 132 gfx::Screen::SetScreenInstance(gfx::SCREEN_TYPE_NATIVE, nullptr); |
| 133 gfx::Screen::SetScreenTypeDelegate(nullptr); |
132 test_screen_.reset(); | 134 test_screen_.reset(); |
133 #endif | 135 #endif |
134 profile_manager_.reset(); | 136 profile_manager_.reset(); |
135 | 137 |
136 AshTestBase::TearDown(); | 138 AshTestBase::TearDown(); |
137 } | 139 } |
138 | 140 |
139 protected: | 141 protected: |
140 // Utility function to test that SyncErrorNotifier behaves correctly for the | 142 // Utility function to test that SyncErrorNotifier behaves correctly for the |
141 // given error condition. | 143 // given error condition. |
(...skipping 17 matching lines...) Expand all Loading... |
159 ASSERT_TRUE(notification); | 161 ASSERT_TRUE(notification); |
160 ASSERT_FALSE(notification->title().empty()); | 162 ASSERT_FALSE(notification->title().empty()); |
161 ASSERT_FALSE(notification->title().empty()); | 163 ASSERT_FALSE(notification->title().empty()); |
162 ASSERT_EQ((size_t)1, notification->buttons().size()); | 164 ASSERT_EQ((size_t)1, notification->buttons().size()); |
163 } else { | 165 } else { |
164 ASSERT_FALSE(notification); | 166 ASSERT_FALSE(notification); |
165 } | 167 } |
166 } | 168 } |
167 | 169 |
168 #if defined(OS_WIN) | 170 #if defined(OS_WIN) |
| 171 ScreenTypeDelegateDesktop screen_type_delegate_; |
169 scoped_ptr<gfx::Screen> test_screen_; | 172 scoped_ptr<gfx::Screen> test_screen_; |
170 #endif | 173 #endif |
171 scoped_ptr<TestingProfileManager> profile_manager_; | 174 scoped_ptr<TestingProfileManager> profile_manager_; |
172 scoped_ptr<SyncErrorController> error_controller_; | 175 scoped_ptr<SyncErrorController> error_controller_; |
173 scoped_ptr<SyncErrorNotifier> error_notifier_; | 176 scoped_ptr<SyncErrorNotifier> error_notifier_; |
174 scoped_ptr<NiceMock<ProfileSyncServiceMock> > service_; | 177 scoped_ptr<NiceMock<ProfileSyncServiceMock> > service_; |
175 TestingProfile* profile_; | 178 TestingProfile* profile_; |
176 FakeLoginUI login_ui_; | 179 FakeLoginUI login_ui_; |
177 NotificationUIManager* notification_ui_manager_; | 180 NotificationUIManager* notification_ui_manager_; |
178 | 181 |
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
229 SCOPED_TRACE("Not expecting notification since sync setup is incomplete"); | 232 SCOPED_TRACE("Not expecting notification since sync setup is incomplete"); |
230 VerifySyncErrorNotifierResult( | 233 VerifySyncErrorNotifierResult( |
231 GoogleServiceAuthError::INVALID_GAIA_CREDENTIALS, | 234 GoogleServiceAuthError::INVALID_GAIA_CREDENTIALS, |
232 false /* not signed in */, | 235 false /* not signed in */, |
233 false /* no error */); | 236 false /* no error */); |
234 } | 237 } |
235 } | 238 } |
236 | 239 |
237 } // namespace test | 240 } // namespace test |
238 } // namespace ash | 241 } // namespace ash |
OLD | NEW |