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

Unified Diff: ui/views/controls/button/image_button_unittest.cc

Issue 583843003: views::ImageButton: Added SetMinimumImageSize; removed SetPreferredSize. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Delete usage of SetPreferredSize entirely -- these had no effect. Created 6 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 side-by-side diff with in-line comments
Download patch
Index: ui/views/controls/button/image_button_unittest.cc
diff --git a/ui/views/controls/button/image_button_unittest.cc b/ui/views/controls/button/image_button_unittest.cc
index ea35af6d671155887ec2bc2b275fe5b8eab0b076..9ea71644a3f36a91fade82873f05395adab1463a 100644
--- a/ui/views/controls/button/image_button_unittest.cc
+++ b/ui/views/controls/button/image_button_unittest.cc
@@ -28,12 +28,13 @@ TEST_F(ImageButtonTest, Basics) {
// Our image to paint starts empty.
EXPECT_TRUE(button.GetImageToPaint().isNull());
- // Without a theme, buttons are 16x14 by default.
+ // Without an image, buttons are 16x14 by default.
EXPECT_EQ("16x14", button.GetPreferredSize().ToString());
- // We can set a preferred size when we have no image.
- button.SetPreferredSize(gfx::Size(5, 15));
- EXPECT_EQ("5x15", button.GetPreferredSize().ToString());
+ // The minimum image size should be applied even when there is no image.
+ button.SetMinimumImageSize(gfx::Size(5, 15));
+ EXPECT_EQ("5x15", button.minimum_image_size().ToString());
+ EXPECT_EQ("16x15", button.GetPreferredSize().ToString());
// Set a normal image.
gfx::ImageSkia normal_image = CreateTestImage(10, 20);
@@ -59,6 +60,14 @@ TEST_F(ImageButtonTest, Basics) {
EXPECT_FALSE(button.GetImageToPaint().isNull());
EXPECT_EQ(10, button.GetImageToPaint().width());
EXPECT_EQ(20, button.GetImageToPaint().height());
+
+ // The minimum image size should make the preferred size bigger.
+ button.SetMinimumImageSize(gfx::Size(15, 5));
+ EXPECT_EQ("15x5", button.minimum_image_size().ToString());
+ EXPECT_EQ("15x20", button.GetPreferredSize().ToString());
+ button.SetMinimumImageSize(gfx::Size(15, 25));
+ EXPECT_EQ("15x25", button.minimum_image_size().ToString());
+ EXPECT_EQ("15x25", button.GetPreferredSize().ToString());
}
TEST_F(ImageButtonTest, SetAndGetImage) {
@@ -112,6 +121,13 @@ TEST_F(ImageButtonTest, ImagePositionWithBorder) {
button.SetBorder(views::Border::CreateEmptyBorder(10, 10, 0, 0));
EXPECT_EQ(gfx::Point(20, 15).ToString(),
button.ComputeImagePaintPosition(image).ToString());
+
+ // The entire button's size should take the border into account.
+ EXPECT_EQ(gfx::Size(30, 40).ToString(), button.GetPreferredSize().ToString());
+
+ // The border should be added on top of the minimum image size.
+ button.SetMinimumImageSize(gfx::Size(30, 5));
+ EXPECT_EQ(gfx::Size(40, 40).ToString(), button.GetPreferredSize().ToString());
}
TEST_F(ImageButtonTest, LeftAlignedMirrored) {
« ui/views/controls/button/image_button.cc ('K') | « ui/views/controls/button/image_button.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698