diff options
Diffstat (limited to 'chromium/ui/views/view_unittest.cc')
-rw-r--r-- | chromium/ui/views/view_unittest.cc | 17 |
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 //////////////////////////////////////////////////////////////////////////////// |