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

Side by Side Diff: ash/desktop_background/desktop_background_controller_unittest.cc

Issue 210313004: ABANDONED: ash: Support changing default wallpaper at runtime. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 9 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
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 "ash/desktop_background/desktop_background_controller.h" 5 #include "ash/desktop_background/desktop_background_controller.h"
6 6
7 #include <cmath> 7 #include <cmath>
8 #include <cstdlib> 8 #include <cstdlib>
9 9
10 #include "ash/ash_switches.h" 10 #include "ash/ash_switches.h"
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
94 controller.StartThreadedAnimationsIfNeeded(); 94 controller.StartThreadedAnimationsIfNeeded();
95 base::TimeTicks step_time = controller.animator()->last_step_time(); 95 base::TimeTicks step_time = controller.animator()->last_step_time();
96 element->Step(step_time + base::TimeDelta::FromMilliseconds(1000)); 96 element->Step(step_time + base::TimeDelta::FromMilliseconds(1000));
97 } 97 }
98 } 98 }
99 99
100 } // namespace 100 } // namespace
101 101
102 class DesktopBackgroundControllerTest : public test::AshTestBase { 102 class DesktopBackgroundControllerTest : public test::AshTestBase {
103 public: 103 public:
104 DesktopBackgroundControllerTest() 104 DesktopBackgroundControllerTest() : controller_(NULL) {}
105 : command_line_(CommandLine::NO_PROGRAM),
106 controller_(NULL) {
107 }
108 virtual ~DesktopBackgroundControllerTest() {} 105 virtual ~DesktopBackgroundControllerTest() {}
109 106
110 virtual void SetUp() OVERRIDE { 107 virtual void SetUp() OVERRIDE {
111 test::AshTestBase::SetUp(); 108 test::AshTestBase::SetUp();
112 // Ash shell initialization creates wallpaper. Reset it so we can manually 109 // Ash shell initialization creates wallpaper. Reset it so we can manually
113 // control wallpaper creation and animation in our tests. 110 // control wallpaper creation and animation in our tests.
114 internal::RootWindowController* root_window_controller = 111 internal::RootWindowController* root_window_controller =
115 Shell::GetPrimaryRootWindowController(); 112 Shell::GetPrimaryRootWindowController();
116 root_window_controller->SetWallpaperController(NULL); 113 root_window_controller->SetWallpaperController(NULL);
117 root_window_controller->SetAnimatingWallpaperController(NULL); 114 root_window_controller->SetAnimatingWallpaperController(NULL);
118 controller_ = Shell::GetInstance()->desktop_background_controller(); 115 controller_ = Shell::GetInstance()->desktop_background_controller();
119 wallpaper_delegate_ = static_cast<test::TestUserWallpaperDelegate*>( 116 wallpaper_delegate_ = static_cast<test::TestUserWallpaperDelegate*>(
120 Shell::GetInstance()->user_wallpaper_delegate()); 117 Shell::GetInstance()->user_wallpaper_delegate());
121 controller_->set_wallpaper_reload_delay_for_test(0); 118 controller_->set_wallpaper_reload_delay_for_test(base::TimeDelta());
122 } 119 }
123 120
124 protected: 121 protected:
125 // Colors used for different default wallpapers by 122 // Colors used for different default wallpapers by
126 // WriteWallpapersAndSetFlags(). 123 // WriteWallpapersAndSetFlags().
127 static const SkColor kLargeWallpaperColor = SK_ColorRED; 124 static const SkColor kLargeWallpaperColor = SK_ColorRED;
128 static const SkColor kSmallWallpaperColor = SK_ColorGREEN; 125 static const SkColor kSmallWallpaperColor = SK_ColorGREEN;
129 static const SkColor kLargeGuestWallpaperColor = SK_ColorBLUE; 126 static const SkColor kLargeGuestWallpaperColor = SK_ColorBLUE;
130 static const SkColor kSmallGuestWallpaperColor = SK_ColorYELLOW; 127 static const SkColor kSmallGuestWallpaperColor = SK_ColorYELLOW;
131 128
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after
224 } 221 }
225 222
226 return true; 223 return true;
227 } 224 }
228 225
229 // Initializes |wallpaper_dir_|, writes JPEG wallpaper images to it, and 226 // Initializes |wallpaper_dir_|, writes JPEG wallpaper images to it, and
230 // passes |controller_| a command line instructing it to use the images. 227 // passes |controller_| a command line instructing it to use the images.
231 // Only needs to be called (once) by tests that want to test loading of 228 // Only needs to be called (once) by tests that want to test loading of
232 // default wallpapers. 229 // default wallpapers.
233 void WriteWallpapersAndSetFlags() { 230 void WriteWallpapersAndSetFlags() {
231 base::CommandLine cl(base::CommandLine::NO_PROGRAM);
232
234 wallpaper_dir_.reset(new base::ScopedTempDir); 233 wallpaper_dir_.reset(new base::ScopedTempDir);
235 ASSERT_TRUE(wallpaper_dir_->CreateUniqueTempDir()); 234 ASSERT_TRUE(wallpaper_dir_->CreateUniqueTempDir());
236 235
237 const base::FilePath kLargePath = 236 const base::FilePath kLargePath =
238 wallpaper_dir_->path().Append(FILE_PATH_LITERAL("large.jpg")); 237 wallpaper_dir_->path().Append(FILE_PATH_LITERAL("large.jpg"));
239 ASSERT_TRUE(WriteJPEGFile(kLargePath, kWallpaperSize, kWallpaperSize, 238 ASSERT_TRUE(WriteJPEGFile(kLargePath, kWallpaperSize, kWallpaperSize,
240 kLargeWallpaperColor)); 239 kLargeWallpaperColor));
241 command_line_.AppendSwitchPath( 240 cl.AppendSwitchPath(switches::kAshDefaultWallpaperLarge, kLargePath);
242 switches::kAshDefaultWallpaperLarge, kLargePath);
243 241
244 const base::FilePath kSmallPath = 242 const base::FilePath kSmallPath =
245 wallpaper_dir_->path().Append(FILE_PATH_LITERAL("small.jpg")); 243 wallpaper_dir_->path().Append(FILE_PATH_LITERAL("small.jpg"));
246 ASSERT_TRUE(WriteJPEGFile(kSmallPath, kWallpaperSize, kWallpaperSize, 244 ASSERT_TRUE(WriteJPEGFile(kSmallPath, kWallpaperSize, kWallpaperSize,
247 kSmallWallpaperColor)); 245 kSmallWallpaperColor));
248 command_line_.AppendSwitchPath( 246 cl.AppendSwitchPath(switches::kAshDefaultWallpaperSmall, kSmallPath);
249 switches::kAshDefaultWallpaperSmall, kSmallPath);
250 247
251 const base::FilePath kLargeGuestPath = 248 const base::FilePath kLargeGuestPath =
252 wallpaper_dir_->path().Append(FILE_PATH_LITERAL("guest_large.jpg")); 249 wallpaper_dir_->path().Append(FILE_PATH_LITERAL("guest_large.jpg"));
253 ASSERT_TRUE(WriteJPEGFile(kLargeGuestPath, kWallpaperSize, kWallpaperSize, 250 ASSERT_TRUE(WriteJPEGFile(kLargeGuestPath, kWallpaperSize, kWallpaperSize,
254 kLargeGuestWallpaperColor)); 251 kLargeGuestWallpaperColor));
255 command_line_.AppendSwitchPath( 252 cl.AppendSwitchPath(switches::kAshGuestWallpaperLarge, kLargeGuestPath);
256 switches::kAshGuestWallpaperLarge, kLargeGuestPath);
257 253
258 const base::FilePath kSmallGuestPath = 254 const base::FilePath kSmallGuestPath =
259 wallpaper_dir_->path().Append(FILE_PATH_LITERAL("guest_small.jpg")); 255 wallpaper_dir_->path().Append(FILE_PATH_LITERAL("guest_small.jpg"));
260 ASSERT_TRUE(WriteJPEGFile(kSmallGuestPath, kWallpaperSize, kWallpaperSize, 256 ASSERT_TRUE(WriteJPEGFile(kSmallGuestPath, kWallpaperSize, kWallpaperSize,
261 kSmallGuestWallpaperColor)); 257 kSmallGuestWallpaperColor));
262 command_line_.AppendSwitchPath( 258 cl.AppendSwitchPath(switches::kAshGuestWallpaperSmall, kSmallGuestPath);
263 switches::kAshGuestWallpaperSmall, kSmallGuestPath);
264 259
265 controller_->set_command_line_for_testing(&command_line_); 260 controller_->InitWallpaperPathsFromCommandLine(&cl);
266 } 261 }
267 262
268 // Custom command line passed to DesktopBackgroundController by
269 // WriteWallpapersAndSetFlags().
270 CommandLine command_line_;
271
272 // Directory created by WriteWallpapersAndSetFlags() to store default 263 // Directory created by WriteWallpapersAndSetFlags() to store default
273 // wallpaper images. 264 // wallpaper images.
274 scoped_ptr<base::ScopedTempDir> wallpaper_dir_; 265 scoped_ptr<base::ScopedTempDir> wallpaper_dir_;
275 266
276 DesktopBackgroundController* controller_; // Not owned. 267 DesktopBackgroundController* controller_; // Not owned.
277 268
278 test::TestUserWallpaperDelegate* wallpaper_delegate_; 269 test::TestUserWallpaperDelegate* wallpaper_delegate_;
279 270
280 private: 271 private:
281 DISALLOW_COPY_AND_ASSIGN(DesktopBackgroundControllerTest); 272 DISALLOW_COPY_AND_ASSIGN(DesktopBackgroundControllerTest);
(...skipping 405 matching lines...) Expand 10 before | Expand all | Expand 10 after
687 // new load task was started (since the previous one was interrupted by 678 // new load task was started (since the previous one was interrupted by
688 // SetCustomWallpaper()). See http://crbug.com/327443. 679 // SetCustomWallpaper()). See http://crbug.com/327443.
689 TestObserver observer(controller_); 680 TestObserver observer(controller_);
690 ASSERT_TRUE(controller_->SetDefaultWallpaper(false)); 681 ASSERT_TRUE(controller_->SetDefaultWallpaper(false));
691 observer.WaitForWallpaperDataChanged(); 682 observer.WaitForWallpaperDataChanged();
692 EXPECT_TRUE(ImageIsNearColor(controller_->GetWallpaper(), 683 EXPECT_TRUE(ImageIsNearColor(controller_->GetWallpaper(),
693 kSmallWallpaperColor)); 684 kSmallWallpaperColor));
694 } 685 }
695 686
696 } // namespace ash 687 } // namespace ash
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698