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

Side by Side Diff: ui/gfx/icon_util_unittest.cc

Issue 1868363002: Replace scoped_ptr with std::unique_ptr in //ui (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@scopedptrcc
Patch Set: scopedptrui: rebase-make_scoped_ptr Created 4 years, 8 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 | « ui/gfx/icon_util.cc ('k') | ui/gfx/image/image.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 "ui/gfx/icon_util.h" 5 #include "ui/gfx/icon_util.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <memory>
9 #include <vector> 10 #include <vector>
10 11
11 #include "base/files/file_util.h" 12 #include "base/files/file_util.h"
12 #include "base/files/scoped_temp_dir.h" 13 #include "base/files/scoped_temp_dir.h"
13 #include "base/memory/scoped_ptr.h"
14 #include "base/path_service.h" 14 #include "base/path_service.h"
15 #include "testing/gtest/include/gtest/gtest.h" 15 #include "testing/gtest/include/gtest/gtest.h"
16 #include "third_party/skia/include/core/SkBitmap.h" 16 #include "third_party/skia/include/core/SkBitmap.h"
17 #include "ui/gfx/geometry/size.h" 17 #include "ui/gfx/geometry/size.h"
18 #include "ui/gfx/gfx_paths.h" 18 #include "ui/gfx/gfx_paths.h"
19 #include "ui/gfx/icon_util_unittests_resource.h" 19 #include "ui/gfx/icon_util_unittests_resource.h"
20 #include "ui/gfx/image/image.h" 20 #include "ui/gfx/image/image.h"
21 #include "ui/gfx/image/image_family.h" 21 #include "ui/gfx/image/image_family.h"
22 22
23 namespace { 23 namespace {
(...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after
154 // Invalid size parameter. 154 // Invalid size parameter.
155 gfx::Size invalid_icon_size(kSmallIconHeight, 0); 155 gfx::Size invalid_icon_size(kSmallIconHeight, 0);
156 EXPECT_EQ(IconUtil::CreateSkBitmapFromHICON(icon.get(), invalid_icon_size), 156 EXPECT_EQ(IconUtil::CreateSkBitmapFromHICON(icon.get(), invalid_icon_size),
157 static_cast<SkBitmap*>(NULL)); 157 static_cast<SkBitmap*>(NULL));
158 158
159 // Invalid icon. 159 // Invalid icon.
160 EXPECT_EQ(IconUtil::CreateSkBitmapFromHICON(NULL, icon_size), 160 EXPECT_EQ(IconUtil::CreateSkBitmapFromHICON(NULL, icon_size),
161 static_cast<SkBitmap*>(NULL)); 161 static_cast<SkBitmap*>(NULL));
162 162
163 // The following code should succeed. 163 // The following code should succeed.
164 scoped_ptr<SkBitmap> bitmap; 164 std::unique_ptr<SkBitmap> bitmap;
165 bitmap.reset(IconUtil::CreateSkBitmapFromHICON(icon.get(), icon_size)); 165 bitmap.reset(IconUtil::CreateSkBitmapFromHICON(icon.get(), icon_size));
166 EXPECT_NE(bitmap.get(), static_cast<SkBitmap*>(NULL)); 166 EXPECT_NE(bitmap.get(), static_cast<SkBitmap*>(NULL));
167 } 167 }
168 168
169 // The following test case makes sure IconUtil::CreateHICONFromSkBitmap fails 169 // The following test case makes sure IconUtil::CreateHICONFromSkBitmap fails
170 // gracefully when called with invalid input parameters. 170 // gracefully when called with invalid input parameters.
171 TEST_F(IconUtilTest, TestBitmapToIconInvalidParameters) { 171 TEST_F(IconUtilTest, TestBitmapToIconInvalidParameters) {
172 ScopedHICON icon; 172 ScopedHICON icon;
173 scoped_ptr<SkBitmap> bitmap; 173 std::unique_ptr<SkBitmap> bitmap;
174 174
175 // Wrong bitmap format. 175 // Wrong bitmap format.
176 bitmap.reset(new SkBitmap); 176 bitmap.reset(new SkBitmap);
177 ASSERT_NE(bitmap.get(), static_cast<SkBitmap*>(NULL)); 177 ASSERT_NE(bitmap.get(), static_cast<SkBitmap*>(NULL));
178 bitmap->setInfo(SkImageInfo::MakeA8(kSmallIconWidth, kSmallIconHeight)); 178 bitmap->setInfo(SkImageInfo::MakeA8(kSmallIconWidth, kSmallIconHeight));
179 icon = IconUtil::CreateHICONFromSkBitmap(*bitmap); 179 icon = IconUtil::CreateHICONFromSkBitmap(*bitmap);
180 EXPECT_FALSE(icon.is_valid()); 180 EXPECT_FALSE(icon.is_valid());
181 181
182 // Invalid bitmap size. 182 // Invalid bitmap size.
183 bitmap.reset(new SkBitmap); 183 bitmap.reset(new SkBitmap);
184 ASSERT_NE(bitmap.get(), static_cast<SkBitmap*>(NULL)); 184 ASSERT_NE(bitmap.get(), static_cast<SkBitmap*>(NULL));
185 bitmap->setInfo(SkImageInfo::MakeN32Premul(0, 0)); 185 bitmap->setInfo(SkImageInfo::MakeN32Premul(0, 0));
186 icon = IconUtil::CreateHICONFromSkBitmap(*bitmap); 186 icon = IconUtil::CreateHICONFromSkBitmap(*bitmap);
187 EXPECT_FALSE(icon.is_valid()); 187 EXPECT_FALSE(icon.is_valid());
188 188
189 // Valid bitmap configuration but no pixels allocated. 189 // Valid bitmap configuration but no pixels allocated.
190 bitmap.reset(new SkBitmap); 190 bitmap.reset(new SkBitmap);
191 ASSERT_NE(bitmap.get(), static_cast<SkBitmap*>(NULL)); 191 ASSERT_NE(bitmap.get(), static_cast<SkBitmap*>(NULL));
192 bitmap->setInfo(SkImageInfo::MakeN32Premul(kSmallIconWidth, 192 bitmap->setInfo(SkImageInfo::MakeN32Premul(kSmallIconWidth,
193 kSmallIconHeight)); 193 kSmallIconHeight));
194 icon = IconUtil::CreateHICONFromSkBitmap(*bitmap); 194 icon = IconUtil::CreateHICONFromSkBitmap(*bitmap);
195 EXPECT_FALSE(icon.is_valid()); 195 EXPECT_FALSE(icon.is_valid());
196 } 196 }
197 197
198 // The following test case makes sure IconUtil::CreateIconFileFromImageFamily 198 // The following test case makes sure IconUtil::CreateIconFileFromImageFamily
199 // fails gracefully when called with invalid input parameters. 199 // fails gracefully when called with invalid input parameters.
200 TEST_F(IconUtilTest, TestCreateIconFileInvalidParameters) { 200 TEST_F(IconUtilTest, TestCreateIconFileInvalidParameters) {
201 scoped_ptr<SkBitmap> bitmap; 201 std::unique_ptr<SkBitmap> bitmap;
202 gfx::ImageFamily image_family; 202 gfx::ImageFamily image_family;
203 base::FilePath valid_icon_filename = temp_directory_.path().AppendASCII( 203 base::FilePath valid_icon_filename = temp_directory_.path().AppendASCII(
204 kTempIconFilename); 204 kTempIconFilename);
205 base::FilePath invalid_icon_filename = temp_directory_.path().AppendASCII( 205 base::FilePath invalid_icon_filename = temp_directory_.path().AppendASCII(
206 "<>?.ico"); 206 "<>?.ico");
207 207
208 // Wrong bitmap format. 208 // Wrong bitmap format.
209 bitmap.reset(new SkBitmap); 209 bitmap.reset(new SkBitmap);
210 ASSERT_NE(bitmap.get(), static_cast<SkBitmap*>(NULL)); 210 ASSERT_NE(bitmap.get(), static_cast<SkBitmap*>(NULL));
211 // Must allocate pixels or else ImageSkia will ignore the bitmap and just 211 // Must allocate pixels or else ImageSkia will ignore the bitmap and just
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
264 gfx::ImageFamily image_family; 264 gfx::ImageFamily image_family;
265 image_family.Add(gfx::Image()); 265 image_family.Add(gfx::Image());
266 EXPECT_FALSE(IconUtil::CreateIconFileFromImageFamily(image_family, 266 EXPECT_FALSE(IconUtil::CreateIconFileFromImageFamily(image_family,
267 icon_filename)); 267 icon_filename));
268 EXPECT_FALSE(base::PathExists(icon_filename)); 268 EXPECT_FALSE(base::PathExists(icon_filename));
269 } 269 }
270 270
271 // This test case makes sure that when we load an icon from disk and convert 271 // This test case makes sure that when we load an icon from disk and convert
272 // the HICON into a bitmap, the bitmap has the expected format and dimensions. 272 // the HICON into a bitmap, the bitmap has the expected format and dimensions.
273 TEST_F(IconUtilTest, TestCreateSkBitmapFromHICON) { 273 TEST_F(IconUtilTest, TestCreateSkBitmapFromHICON) {
274 scoped_ptr<SkBitmap> bitmap; 274 std::unique_ptr<SkBitmap> bitmap;
275 base::FilePath small_icon_filename = test_data_directory_.AppendASCII( 275 base::FilePath small_icon_filename = test_data_directory_.AppendASCII(
276 kSmallIconName); 276 kSmallIconName);
277 gfx::Size small_icon_size(kSmallIconWidth, kSmallIconHeight); 277 gfx::Size small_icon_size(kSmallIconWidth, kSmallIconHeight);
278 ScopedHICON small_icon(LoadIconFromFile( 278 ScopedHICON small_icon(LoadIconFromFile(
279 small_icon_filename, small_icon_size.width(), small_icon_size.height())); 279 small_icon_filename, small_icon_size.width(), small_icon_size.height()));
280 ASSERT_TRUE(small_icon.is_valid()); 280 ASSERT_TRUE(small_icon.is_valid());
281 bitmap.reset( 281 bitmap.reset(
282 IconUtil::CreateSkBitmapFromHICON(small_icon.get(), small_icon_size)); 282 IconUtil::CreateSkBitmapFromHICON(small_icon.get(), small_icon_size));
283 ASSERT_NE(bitmap.get(), static_cast<SkBitmap*>(NULL)); 283 ASSERT_NE(bitmap.get(), static_cast<SkBitmap*>(NULL));
284 EXPECT_EQ(bitmap->width(), small_icon_size.width()); 284 EXPECT_EQ(bitmap->width(), small_icon_size.width());
(...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after
398 image_family.clear(); 398 image_family.clear();
399 image_family.Add(gfx::Image()); 399 image_family.Add(gfx::Image());
400 image_family.Add(gfx::Image::CreateFrom1xBitmap(CreateBlackSkBitmap(16, 16))); 400 image_family.Add(gfx::Image::CreateFrom1xBitmap(CreateBlackSkBitmap(16, 16)));
401 ASSERT_TRUE(IconUtil::CreateIconFileFromImageFamily(image_family, 401 ASSERT_TRUE(IconUtil::CreateIconFileFromImageFamily(image_family,
402 icon_filename)); 402 icon_filename));
403 CheckAllIconSizes(icon_filename, 48); 403 CheckAllIconSizes(icon_filename, 48);
404 } 404 }
405 405
406 TEST_F(IconUtilTest, TestCreateImageFamilyFromIconResource) { 406 TEST_F(IconUtilTest, TestCreateImageFamilyFromIconResource) {
407 HMODULE module = GetModuleHandle(NULL); 407 HMODULE module = GetModuleHandle(NULL);
408 scoped_ptr<gfx::ImageFamily> family( 408 std::unique_ptr<gfx::ImageFamily> family(
409 IconUtil::CreateImageFamilyFromIconResource(module, IDR_MAINFRAME)); 409 IconUtil::CreateImageFamilyFromIconResource(module, IDR_MAINFRAME));
410 ASSERT_TRUE(family.get()); 410 ASSERT_TRUE(family.get());
411 EXPECT_FALSE(family->empty()); 411 EXPECT_FALSE(family->empty());
412 std::vector<gfx::Image> images; 412 std::vector<gfx::Image> images;
413 for (const auto& image : *family) 413 for (const auto& image : *family)
414 images.push_back(image); 414 images.push_back(image);
415 415
416 // Assert that the family contains all of the images from the icon resource. 416 // Assert that the family contains all of the images from the icon resource.
417 EXPECT_EQ(5u, images.size()); 417 EXPECT_EQ(5u, images.size());
418 EXPECT_EQ(16, images[0].Width()); 418 EXPECT_EQ(16, images[0].Width());
419 EXPECT_EQ(24, images[1].Width()); 419 EXPECT_EQ(24, images[1].Width());
420 EXPECT_EQ(32, images[2].Width()); 420 EXPECT_EQ(32, images[2].Width());
421 EXPECT_EQ(48, images[3].Width()); 421 EXPECT_EQ(48, images[3].Width());
422 EXPECT_EQ(256, images[4].Width()); 422 EXPECT_EQ(256, images[4].Width());
423 } 423 }
424 424
425 // This tests that kNumIconDimensionsUpToMediumSize has the correct value. 425 // This tests that kNumIconDimensionsUpToMediumSize has the correct value.
426 TEST_F(IconUtilTest, TestNumIconDimensionsUpToMediumSize) { 426 TEST_F(IconUtilTest, TestNumIconDimensionsUpToMediumSize) {
427 ASSERT_LE(IconUtil::kNumIconDimensionsUpToMediumSize, 427 ASSERT_LE(IconUtil::kNumIconDimensionsUpToMediumSize,
428 IconUtil::kNumIconDimensions); 428 IconUtil::kNumIconDimensions);
429 EXPECT_EQ(IconUtil::kMediumIconSize, 429 EXPECT_EQ(IconUtil::kMediumIconSize,
430 IconUtil::kIconDimensions[ 430 IconUtil::kIconDimensions[
431 IconUtil::kNumIconDimensionsUpToMediumSize - 1]); 431 IconUtil::kNumIconDimensionsUpToMediumSize - 1]);
432 } 432 }
OLDNEW
« no previous file with comments | « ui/gfx/icon_util.cc ('k') | ui/gfx/image/image.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698