summaryrefslogtreecommitdiffstats
path: root/chromium/ui/views/layout/grid_layout_unittest.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/ui/views/layout/grid_layout_unittest.cc')
-rw-r--r--chromium/ui/views/layout/grid_layout_unittest.cc33
1 files changed, 30 insertions, 3 deletions
diff --git a/chromium/ui/views/layout/grid_layout_unittest.cc b/chromium/ui/views/layout/grid_layout_unittest.cc
index 71988d870b6..ea7d231f04b 100644
--- a/chromium/ui/views/layout/grid_layout_unittest.cc
+++ b/chromium/ui/views/layout/grid_layout_unittest.cc
@@ -24,7 +24,7 @@ class SettableSizeView : public View {
pref_ = pref;
}
- virtual gfx::Size GetPreferredSize() OVERRIDE {
+ virtual gfx::Size GetPreferredSize() const OVERRIDE {
return pref_;
}
@@ -39,11 +39,11 @@ class FlexibleView : public View {
circumference_ = circumference;
}
- virtual gfx::Size GetPreferredSize() OVERRIDE {
+ virtual gfx::Size GetPreferredSize() const OVERRIDE {
return gfx::Size(0, circumference_ / 2);
}
- virtual int GetHeightForWidth(int width) OVERRIDE {
+ virtual int GetHeightForWidth(int width) const OVERRIDE {
return std::max(0, circumference_ / 2 - width);
}
@@ -346,6 +346,33 @@ TEST_F(GridLayoutTest, HorizontalResizeTest2) {
RemoveAll();
}
+// Tests that space leftover due to rounding is distributed to the last
+// resizable column.
+TEST_F(GridLayoutTest, HorizontalResizeTest3) {
+ SettableSizeView v1(gfx::Size(10, 10));
+ SettableSizeView v2(gfx::Size(10, 10));
+ SettableSizeView v3(gfx::Size(10, 10));
+ ColumnSet* c1 = layout.AddColumnSet(0);
+ c1->AddColumn(GridLayout::FILL, GridLayout::LEADING,
+ 1, GridLayout::USE_PREF, 0, 0);
+ c1->AddColumn(GridLayout::FILL, GridLayout::LEADING,
+ 1, GridLayout::USE_PREF, 0, 0);
+ c1->AddColumn(GridLayout::TRAILING, GridLayout::LEADING,
+ 0, GridLayout::USE_PREF, 0, 0);
+ layout.StartRow(0, 0);
+ layout.AddView(&v1);
+ layout.AddView(&v2);
+ layout.AddView(&v3);
+
+ host.SetBounds(0, 0, 31, 10);
+ layout.Layout(&host);
+ ExpectViewBoundsEquals(0, 0, 10, 10, &v1);
+ ExpectViewBoundsEquals(10, 0, 11, 10, &v2);
+ ExpectViewBoundsEquals(21, 0, 10, 10, &v3);
+
+ RemoveAll();
+}
+
TEST_F(GridLayoutTest, TestVerticalResize1) {
SettableSizeView v1(gfx::Size(50, 20));
SettableSizeView v2(gfx::Size(10, 10));