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

Side by Side Diff: components/wallpaper/wallpaper_resizer_unittest.cc

Issue 2338363002: Replace single-threaded SequencedWorkerPool with base::Thread in WallpaperResizerTest. (Closed)
Patch Set: Created 4 years, 3 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
« no previous file with comments | « components/wallpaper/wallpaper_resizer.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 "components/wallpaper/wallpaper_resizer.h" 5 #include "components/wallpaper/wallpaper_resizer.h"
6 6
7 #include <stdint.h> 7 #include <stdint.h>
8 8
9 #include <memory> 9 #include <memory>
10 10
11 #include "base/macros.h" 11 #include "base/macros.h"
12 #include "base/message_loop/message_loop.h" 12 #include "base/message_loop/message_loop.h"
13 #include "base/run_loop.h" 13 #include "base/run_loop.h"
14 #include "base/test/sequenced_worker_pool_owner.h" 14 #include "base/threading/thread.h"
15 #include "components/wallpaper/wallpaper_resizer_observer.h" 15 #include "components/wallpaper/wallpaper_resizer_observer.h"
16 #include "testing/gtest/include/gtest/gtest.h" 16 #include "testing/gtest/include/gtest/gtest.h"
17 #include "ui/gfx/image/image_skia_rep.h" 17 #include "ui/gfx/image/image_skia_rep.h"
18 18
19 namespace { 19 namespace {
20 20
21 const int kTestImageWidth = 5; 21 const int kTestImageWidth = 5;
22 const int kTestImageHeight = 2; 22 const int kTestImageHeight = 2;
23 const int kTargetWidth = 1; 23 const int kTargetWidth = 1;
24 const int kTargetHeight = 1; 24 const int kTargetHeight = 1;
(...skipping 30 matching lines...) Expand all
55 return *image_bitmap->getAddr32(0, 0) == expect; 55 return *image_bitmap->getAddr32(0, 0) == expect;
56 } 56 }
57 57
58 } // namespace 58 } // namespace
59 59
60 namespace wallpaper { 60 namespace wallpaper {
61 61
62 class WallpaperResizerTest : public testing::Test, 62 class WallpaperResizerTest : public testing::Test,
63 public WallpaperResizerObserver { 63 public WallpaperResizerObserver {
64 public: 64 public:
65 WallpaperResizerTest() : worker_pool_owner_(1, "WallpaperResizerTest") {} 65 WallpaperResizerTest() : worker_thread_("WallpaperResizerTest") {}
66 ~WallpaperResizerTest() override {} 66 ~WallpaperResizerTest() override {}
67 67
68 void SetUp() override {
69 ASSERT_TRUE(worker_thread_.Start());
70 }
71
68 gfx::ImageSkia Resize(const gfx::ImageSkia& image, 72 gfx::ImageSkia Resize(const gfx::ImageSkia& image,
69 const gfx::Size& target_size, 73 const gfx::Size& target_size,
70 WallpaperLayout layout) { 74 WallpaperLayout layout) {
71 std::unique_ptr<WallpaperResizer> resizer; 75 std::unique_ptr<WallpaperResizer> resizer;
72 resizer.reset( 76 resizer.reset(
73 new WallpaperResizer(image, target_size, layout, worker_pool())); 77 new WallpaperResizer(image, target_size, layout, task_runner()));
74 resizer->AddObserver(this); 78 resizer->AddObserver(this);
75 resizer->StartResize(); 79 resizer->StartResize();
76 WaitForResize(); 80 WaitForResize();
77 resizer->RemoveObserver(this); 81 resizer->RemoveObserver(this);
78 return resizer->image(); 82 return resizer->image();
79 } 83 }
80 84
81 base::SequencedWorkerPool* worker_pool() { 85 scoped_refptr<base::TaskRunner> task_runner() {
82 return worker_pool_owner_.pool().get(); 86 return worker_thread_.task_runner();
83 } 87 }
84 88
85 void WaitForResize() { base::RunLoop().Run(); } 89 void WaitForResize() { base::RunLoop().Run(); }
86 90
87 void OnWallpaperResized() override { message_loop_.QuitWhenIdle(); } 91 void OnWallpaperResized() override { message_loop_.QuitWhenIdle(); }
88 92
89 private: 93 private:
90 base::MessageLoop message_loop_; 94 base::MessageLoop message_loop_;
91 base::SequencedWorkerPoolOwner worker_pool_owner_; 95 base::Thread worker_thread_;
92 96
93 DISALLOW_COPY_AND_ASSIGN(WallpaperResizerTest); 97 DISALLOW_COPY_AND_ASSIGN(WallpaperResizerTest);
94 }; 98 };
95 99
96 TEST_F(WallpaperResizerTest, BasicResize) { 100 TEST_F(WallpaperResizerTest, BasicResize) {
97 // Keeps in sync with WallpaperLayout enum. 101 // Keeps in sync with WallpaperLayout enum.
98 WallpaperLayout layouts[4] = { 102 WallpaperLayout layouts[4] = {
99 WALLPAPER_LAYOUT_CENTER, 103 WALLPAPER_LAYOUT_CENTER,
100 WALLPAPER_LAYOUT_CENTER_CROPPED, 104 WALLPAPER_LAYOUT_CENTER_CROPPED,
101 WALLPAPER_LAYOUT_STRETCH, 105 WALLPAPER_LAYOUT_STRETCH,
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
142 EXPECT_TRUE(IsColor(tile, kExpectedTile)); 146 EXPECT_TRUE(IsColor(tile, kExpectedTile));
143 } 147 }
144 148
145 TEST_F(WallpaperResizerTest, ImageId) { 149 TEST_F(WallpaperResizerTest, ImageId) {
146 gfx::ImageSkia image = 150 gfx::ImageSkia image =
147 CreateTestImage(gfx::Size(kTestImageWidth, kTestImageHeight)); 151 CreateTestImage(gfx::Size(kTestImageWidth, kTestImageHeight));
148 152
149 // Create a WallpaperResizer and check that it reports an original image ID 153 // Create a WallpaperResizer and check that it reports an original image ID
150 // both pre- and post-resize that matches the ID returned by GetImageId(). 154 // both pre- and post-resize that matches the ID returned by GetImageId().
151 WallpaperResizer resizer(image, gfx::Size(10, 20), WALLPAPER_LAYOUT_STRETCH, 155 WallpaperResizer resizer(image, gfx::Size(10, 20), WALLPAPER_LAYOUT_STRETCH,
152 worker_pool()); 156 task_runner());
153 EXPECT_EQ(WallpaperResizer::GetImageId(image), resizer.original_image_id()); 157 EXPECT_EQ(WallpaperResizer::GetImageId(image), resizer.original_image_id());
154 resizer.AddObserver(this); 158 resizer.AddObserver(this);
155 resizer.StartResize(); 159 resizer.StartResize();
156 WaitForResize(); 160 WaitForResize();
157 resizer.RemoveObserver(this); 161 resizer.RemoveObserver(this);
158 EXPECT_EQ(WallpaperResizer::GetImageId(image), resizer.original_image_id()); 162 EXPECT_EQ(WallpaperResizer::GetImageId(image), resizer.original_image_id());
159 } 163 }
160 164
161 } // namespace ash 165 } // namespace ash
OLDNEW
« no previous file with comments | « components/wallpaper/wallpaper_resizer.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698