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

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

Issue 1228213003: Just set borders once when creating a views::LabelButton (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix BookmarkBarViewTest and GlobalErrorServiceBrowserTest Created 5 years, 5 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/blue_button_unittest.cc
diff --git a/ui/views/controls/button/blue_button_unittest.cc b/ui/views/controls/button/blue_button_unittest.cc
index d2f92a3e4a1cfaf916787122ba8e077f22a42082..78792ffd6adcfb1ce948afb6a6d96985286f6a33 100644
--- a/ui/views/controls/button/blue_button_unittest.cc
+++ b/ui/views/controls/button/blue_button_unittest.cc
@@ -9,7 +9,7 @@
#include "ui/gfx/canvas.h"
#include "ui/gfx/skia_util.h"
#include "ui/views/controls/button/label_button_border.h"
-#include "ui/views/test/views_test_base.h"
+#include "ui/views/test/widget_test.h"
namespace views {
@@ -28,32 +28,40 @@ class TestBlueButton : public BlueButton {
} // namespace
-typedef ViewsTestBase BlueButtonTest;
+using BlueButtonTest = test::WidgetTest;
TEST_F(BlueButtonTest, Border) {
+ Widget* widget = CreateTopLevelPlatformWidget();
+
// Compared to a normal LabelButton...
- LabelButton button(NULL, base::ASCIIToUTF16("foo"));
- button.SetBoundsRect(gfx::Rect(gfx::Point(0, 0), button.GetPreferredSize()));
- gfx::Canvas button_canvas(button.bounds().size(), 1.0, true);
- button.border()->Paint(button, &button_canvas);
+ LabelButton* button = new LabelButton(NULL, base::ASCIIToUTF16("foo"));
+
msw 2015/07/10 18:35:50 nit: remove blank line
tapted 2015/07/13 07:41:22 Done.
+ // Add to a Widget to pick up a native theme.
msw 2015/07/10 18:35:50 nit: move this comment above the |widget| decl and
tapted 2015/07/13 07:41:22 Done.
+ widget->GetContentsView()->AddChildView(button);
+ button->SizeToPreferredSize();
+ gfx::Canvas button_canvas(button->size(), 1.0, true);
+ button->border()->Paint(*button, &button_canvas);
// ... a special blue border should be used.
- TestBlueButton blue_button;
- blue_button.SetBoundsRect(gfx::Rect(gfx::Point(0, 0),
- blue_button.GetPreferredSize()));
- gfx::Canvas canvas(blue_button.bounds().size(), 1.0, true);
- blue_button.border()->Paint(blue_button, &canvas);
- EXPECT_EQ(button.GetText(), blue_button.GetText());
+ TestBlueButton* blue_button = new TestBlueButton();
+ widget->GetContentsView()->AddChildView(blue_button);
+ blue_button->SizeToPreferredSize();
+
+ gfx::Canvas canvas(blue_button->size(), 1.0, true);
+ blue_button->border()->Paint(*blue_button, &canvas);
+ EXPECT_EQ(button->GetText(), blue_button->GetText());
EXPECT_FALSE(gfx::BitmapsAreEqual(button_canvas.ExtractImageRep().sk_bitmap(),
msw 2015/07/10 18:35:50 This test is somewhat ridiculous... it should at l
tapted 2015/07/13 07:41:22 You are right to accuse it :). The size actually d
canvas.ExtractImageRep().sk_bitmap()));
// Make sure it's still used after the native theme "changes".
msw 2015/07/10 18:35:50 nit: maybe remove this second check now?
tapted 2015/07/13 07:41:22 Done.
- blue_button.OnNativeThemeChanged(NULL);
- gfx::Canvas canvas2(blue_button.bounds().size(), 1.0, true);
- blue_button.border()->Paint(blue_button, &canvas2);
+ blue_button->OnNativeThemeChanged(nullptr);
+ gfx::Canvas canvas2(blue_button->size(), 1.0, true);
+ blue_button->border()->Paint(*blue_button, &canvas2);
EXPECT_TRUE(gfx::BitmapsAreEqual(canvas.ExtractImageRep().sk_bitmap(),
canvas2.ExtractImageRep().sk_bitmap()));
+
+ widget->CloseNow();
}
} // namespace views

Powered by Google App Engine
This is Rietveld 408576698