summaryrefslogtreecommitdiff
path: root/chromium/ui/views/view_unittest.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/ui/views/view_unittest.cc')
-rw-r--r--chromium/ui/views/view_unittest.cc17
1 files changed, 17 insertions, 0 deletions
diff --git a/chromium/ui/views/view_unittest.cc b/chromium/ui/views/view_unittest.cc
index 82631bbd6ce..a294b7f2be1 100644
--- a/chromium/ui/views/view_unittest.cc
+++ b/chromium/ui/views/view_unittest.cc
@@ -323,6 +323,23 @@ TEST_F(ViewTest, LayoutCalledInvalidateAndOriginChanges) {
EXPECT_TRUE(child->did_layout_);
}
+// Tests that SizeToPreferredSize will trigger a Layout if the size has changed
+// or if layout is marked invalid.
+TEST_F(ViewTest, SizeToPreferredSizeInducesLayout) {
+ TestView example_view;
+ example_view.SetPreferredSize(gfx::Size(101, 102));
+ example_view.SizeToPreferredSize();
+ EXPECT_TRUE(example_view.did_layout_);
+
+ example_view.Reset();
+ example_view.SizeToPreferredSize();
+ EXPECT_FALSE(example_view.did_layout_);
+
+ example_view.InvalidateLayout();
+ example_view.SizeToPreferredSize();
+ EXPECT_TRUE(example_view.did_layout_);
+}
+
////////////////////////////////////////////////////////////////////////////////
// OnBoundsChanged
////////////////////////////////////////////////////////////////////////////////