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 | 5 |
6 #include <vector> | 6 #include <vector> |
7 | 7 |
8 #include "ash/desktop_background/desktop_background_controller.h" | 8 #include "ash/desktop_background/desktop_background_controller.h" |
9 #include "ash/shell.h" | 9 #include "ash/shell.h" |
10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
70 void OnWallpaperAnimationFinished(const std::string&) override { | 70 void OnWallpaperAnimationFinished(const std::string&) override { |
71 finished_ = true; | 71 finished_ = true; |
72 base::MessageLoop::current()->QuitWhenIdle(); | 72 base::MessageLoop::current()->QuitWhenIdle(); |
73 } | 73 } |
74 | 74 |
75 void WaitForWallpaperAnimationFinished() { | 75 void WaitForWallpaperAnimationFinished() { |
76 while (!finished_) | 76 while (!finished_) |
77 base::RunLoop().Run(); | 77 base::RunLoop().Run(); |
78 } | 78 } |
79 | 79 |
| 80 static void WaitForWallpaperAnimated() { |
| 81 TestWallpaperObserver observer(WallpaperManager::Get()); |
| 82 observer.WaitForWallpaperAnimationFinished(); |
| 83 } |
| 84 |
80 private: | 85 private: |
81 bool finished_; | 86 bool finished_; |
82 WallpaperManager* wallpaper_manager_; | 87 WallpaperManager* wallpaper_manager_; |
83 | 88 |
84 DISALLOW_COPY_AND_ASSIGN(TestWallpaperObserver); | 89 DISALLOW_COPY_AND_ASSIGN(TestWallpaperObserver); |
85 }; | 90 }; |
86 | 91 |
87 } // namespace | 92 } // namespace |
88 | 93 |
89 // This is helper class for net::FakeURLFetcherFactory. | 94 // This is helper class for net::FakeURLFetcherFactory. |
(...skipping 163 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
253 // wallpaper images. | 258 // wallpaper images. |
254 scoped_ptr<base::ScopedTempDir> cmdline_wallpaper_dir_; | 259 scoped_ptr<base::ScopedTempDir> cmdline_wallpaper_dir_; |
255 | 260 |
256 private: | 261 private: |
257 DISALLOW_COPY_AND_ASSIGN(CustomizationWallpaperDownloaderBrowserTest); | 262 DISALLOW_COPY_AND_ASSIGN(CustomizationWallpaperDownloaderBrowserTest); |
258 }; | 263 }; |
259 | 264 |
260 IN_PROC_BROWSER_TEST_F(CustomizationWallpaperDownloaderBrowserTest, | 265 IN_PROC_BROWSER_TEST_F(CustomizationWallpaperDownloaderBrowserTest, |
261 OEMWallpaperIsPresent) { | 266 OEMWallpaperIsPresent) { |
262 CreateCmdlineWallpapers(); | 267 CreateCmdlineWallpapers(); |
| 268 TestWallpaperObserver::WaitForWallpaperAnimated(); |
| 269 |
263 WallpaperManager::Get()->SetDefaultWallpaperNow(std::string()); | 270 WallpaperManager::Get()->SetDefaultWallpaperNow(std::string()); |
264 wallpaper_manager_test_utils::WaitAsyncWallpaperLoadFinished(); | 271 TestWallpaperObserver::WaitForWallpaperAnimated(); |
265 EXPECT_TRUE(wallpaper_manager_test_utils::ImageIsNearColor( | 272 EXPECT_TRUE(wallpaper_manager_test_utils::ImageIsNearColor( |
266 controller_->GetWallpaper(), | 273 controller_->GetWallpaper(), |
267 wallpaper_manager_test_utils::kSmallDefaultWallpaperColor)); | 274 wallpaper_manager_test_utils::kSmallDefaultWallpaperColor)); |
268 | 275 |
269 WallpaperImageFetcherFactory url_factory( | 276 WallpaperImageFetcherFactory url_factory( |
270 GURL(kOEMWallpaperURL), | 277 GURL(kOEMWallpaperURL), |
271 wallpaper_manager_test_utils::kWallpaperSize, | 278 wallpaper_manager_test_utils::kWallpaperSize, |
272 wallpaper_manager_test_utils::kWallpaperSize, | 279 wallpaper_manager_test_utils::kWallpaperSize, |
273 wallpaper_manager_test_utils::kCustomWallpaperColor, | 280 wallpaper_manager_test_utils::kCustomWallpaperColor, |
274 0 /* require_retries */); | 281 0 /* require_retries */); |
275 | 282 |
276 TestWallpaperObserver observer(WallpaperManager::Get()); | 283 TestWallpaperObserver observer(WallpaperManager::Get()); |
277 chromeos::ServicesCustomizationDocument* customization = | 284 chromeos::ServicesCustomizationDocument* customization = |
278 chromeos::ServicesCustomizationDocument::GetInstance(); | 285 chromeos::ServicesCustomizationDocument::GetInstance(); |
279 EXPECT_TRUE( | 286 EXPECT_TRUE( |
280 customization->LoadManifestFromString(std::string(kServicesManifest))); | 287 customization->LoadManifestFromString(std::string(kServicesManifest))); |
281 | 288 |
282 observer.WaitForWallpaperAnimationFinished(); | 289 observer.WaitForWallpaperAnimationFinished(); |
283 EXPECT_TRUE(wallpaper_manager_test_utils::ImageIsNearColor( | 290 EXPECT_TRUE(wallpaper_manager_test_utils::ImageIsNearColor( |
284 controller_->GetWallpaper(), | 291 controller_->GetWallpaper(), |
285 wallpaper_manager_test_utils::kCustomWallpaperColor)); | 292 wallpaper_manager_test_utils::kCustomWallpaperColor)); |
286 EXPECT_EQ(1U, url_factory.num_attempts()); | 293 EXPECT_EQ(1U, url_factory.num_attempts()); |
287 } | 294 } |
288 | 295 |
289 IN_PROC_BROWSER_TEST_F(CustomizationWallpaperDownloaderBrowserTest, | 296 IN_PROC_BROWSER_TEST_F(CustomizationWallpaperDownloaderBrowserTest, |
290 OEMWallpaperRetryFetch) { | 297 OEMWallpaperRetryFetch) { |
291 CreateCmdlineWallpapers(); | 298 CreateCmdlineWallpapers(); |
| 299 TestWallpaperObserver::WaitForWallpaperAnimated(); |
| 300 |
| 301 TestWallpaperObserver observer2(WallpaperManager::Get()); |
292 WallpaperManager::Get()->SetDefaultWallpaperNow(std::string()); | 302 WallpaperManager::Get()->SetDefaultWallpaperNow(std::string()); |
293 wallpaper_manager_test_utils::WaitAsyncWallpaperLoadFinished(); | 303 TestWallpaperObserver::WaitForWallpaperAnimated(); |
294 EXPECT_TRUE(wallpaper_manager_test_utils::ImageIsNearColor( | 304 EXPECT_TRUE(wallpaper_manager_test_utils::ImageIsNearColor( |
295 controller_->GetWallpaper(), | 305 controller_->GetWallpaper(), |
296 wallpaper_manager_test_utils::kSmallDefaultWallpaperColor)); | 306 wallpaper_manager_test_utils::kSmallDefaultWallpaperColor)); |
297 | 307 |
298 WallpaperImageFetcherFactory url_factory( | 308 WallpaperImageFetcherFactory url_factory( |
299 GURL(kOEMWallpaperURL), | 309 GURL(kOEMWallpaperURL), |
300 wallpaper_manager_test_utils::kWallpaperSize, | 310 wallpaper_manager_test_utils::kWallpaperSize, |
301 wallpaper_manager_test_utils::kWallpaperSize, | 311 wallpaper_manager_test_utils::kWallpaperSize, |
302 wallpaper_manager_test_utils::kCustomWallpaperColor, | 312 wallpaper_manager_test_utils::kCustomWallpaperColor, |
303 1 /* require_retries */); | 313 1 /* require_retries */); |
304 | 314 |
305 TestWallpaperObserver observer(WallpaperManager::Get()); | |
306 chromeos::ServicesCustomizationDocument* customization = | 315 chromeos::ServicesCustomizationDocument* customization = |
307 chromeos::ServicesCustomizationDocument::GetInstance(); | 316 chromeos::ServicesCustomizationDocument::GetInstance(); |
308 EXPECT_TRUE( | 317 EXPECT_TRUE( |
309 customization->LoadManifestFromString(std::string(kServicesManifest))); | 318 customization->LoadManifestFromString(std::string(kServicesManifest))); |
310 | 319 |
311 observer.WaitForWallpaperAnimationFinished(); | 320 TestWallpaperObserver::WaitForWallpaperAnimated(); |
312 EXPECT_TRUE(wallpaper_manager_test_utils::ImageIsNearColor( | 321 EXPECT_TRUE(wallpaper_manager_test_utils::ImageIsNearColor( |
313 controller_->GetWallpaper(), | 322 controller_->GetWallpaper(), |
314 wallpaper_manager_test_utils::kCustomWallpaperColor)); | 323 wallpaper_manager_test_utils::kCustomWallpaperColor)); |
315 | 324 |
316 EXPECT_EQ(2U, url_factory.num_attempts()); | 325 EXPECT_EQ(2U, url_factory.num_attempts()); |
317 } | 326 } |
318 | 327 |
319 } // namespace chromeos | 328 } // namespace chromeos |
OLD | NEW |