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

Unified Diff: ui/views/controls/single_split_view_unittest.cc

Issue 1702473002: Make SingleSplitView take borders into account. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Adapted unittest Created 4 years, 10 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
« no previous file with comments | « ui/views/controls/single_split_view.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/views/controls/single_split_view_unittest.cc
diff --git a/ui/views/controls/single_split_view_unittest.cc b/ui/views/controls/single_split_view_unittest.cc
index 3f3e6a086e6db82712f2a8341222f8df35a1e390..d2a588e0c747821d371c69aa0dce03b7a5956481 100644
--- a/ui/views/controls/single_split_view_unittest.cc
+++ b/ui/views/controls/single_split_view_unittest.cc
@@ -10,6 +10,7 @@
#include "base/macros.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "ui/events/event_utils.h"
+#include "ui/views/border.h"
#include "ui/views/controls/single_split_view_listener.h"
namespace {
@@ -31,15 +32,19 @@ static void VerifySplitViewLayout(const views::SingleSplitView& split) {
EXPECT_FALSE(leading->bounds().Intersects(trailing->bounds()));
if (split.orientation() == views::SingleSplitView::HORIZONTAL_SPLIT) {
- EXPECT_EQ(leading->bounds().height(), split.bounds().height());
- EXPECT_EQ(trailing->bounds().height(), split.bounds().height());
+ EXPECT_EQ(leading->bounds().height(),
+ split.bounds().height() - split.GetInsets().height());
+ EXPECT_EQ(trailing->bounds().height(),
+ split.bounds().height() - split.GetInsets().height());
EXPECT_LT(leading->bounds().width() + trailing->bounds().width(),
- split.bounds().width());
+ split.bounds().width() - split.GetInsets().width());
} else if (split.orientation() == views::SingleSplitView::VERTICAL_SPLIT) {
- EXPECT_EQ(leading->bounds().width(), split.bounds().width());
- EXPECT_EQ(trailing->bounds().width(), split.bounds().width());
+ EXPECT_EQ(leading->bounds().width(),
+ split.bounds().width() - split.GetInsets().width());
+ EXPECT_EQ(trailing->bounds().width(),
+ split.bounds().width() - split.GetInsets().width());
EXPECT_LT(leading->bounds().height() + trailing->bounds().height(),
- split.bounds().height());
+ split.bounds().height() - split.GetInsets().height());
} else {
NOTREACHED();
}
@@ -109,47 +114,59 @@ TEST(SingleSplitViewTest, Resize) {
SingleSplitView::VERTICAL_SPLIT
};
+ int borders[][4] = {
+ {0, 0, 0, 0}, {5, 5, 5, 5}, {10, 5, 5, 0},
+ };
+
for (size_t orientation = 0; orientation < arraysize(orientations);
++orientation) {
- // Create a split view.
- SingleSplitView split(
- new View(), new View(), orientations[orientation], NULL);
-
- // Set initial size and divider offset.
- EXPECT_EQ(test_cases[0].primary_axis_size,
- test_cases[0].secondary_axis_size);
- split.SetBounds(0, 0, test_cases[0].primary_axis_size,
- test_cases[0].secondary_axis_size);
- split.set_divider_offset(test_cases[0].divider_offset);
- split.Layout();
-
- // Run all test cases.
- for (size_t i = 0; i < arraysize(test_cases); ++i) {
- split.set_resize_leading_on_bounds_change(
- test_cases[i].resize_leading_on_bounds_change);
- if (split.orientation() == SingleSplitView::HORIZONTAL_SPLIT) {
- split.SetBounds(0, 0, test_cases[i].primary_axis_size,
- test_cases[i].secondary_axis_size);
- } else {
- split.SetBounds(0, 0, test_cases[i].secondary_axis_size,
- test_cases[i].primary_axis_size);
+ for (size_t border = 0; border < arraysize(borders); ++border) {
+ // Create a split view.
+ SingleSplitView split(new View(), new View(), orientations[orientation],
+ NULL);
+
+ // Set initial size and divider offset.
+ EXPECT_EQ(test_cases[0].primary_axis_size,
+ test_cases[0].secondary_axis_size);
+ split.SetBounds(0, 0, test_cases[0].primary_axis_size,
+ test_cases[0].secondary_axis_size);
+
+ if (border != 0)
+ split.SetBorder(
+ Border::CreateEmptyBorder(borders[border][0], borders[border][1],
+ borders[border][2], borders[border][3]));
+
+ split.set_divider_offset(test_cases[0].divider_offset);
+ split.Layout();
+
+ // Run all test cases.
+ for (size_t i = 0; i < arraysize(test_cases); ++i) {
+ split.set_resize_leading_on_bounds_change(
+ test_cases[i].resize_leading_on_bounds_change);
+ if (split.orientation() == SingleSplitView::HORIZONTAL_SPLIT) {
+ split.SetBounds(0, 0, test_cases[i].primary_axis_size,
+ test_cases[i].secondary_axis_size);
+ } else {
+ split.SetBounds(0, 0, test_cases[i].secondary_axis_size,
+ test_cases[i].primary_axis_size);
+ }
+
+ EXPECT_EQ(test_cases[i].divider_offset, split.divider_offset());
+ VerifySplitViewLayout(split);
}
- EXPECT_EQ(test_cases[i].divider_offset, split.divider_offset());
- VerifySplitViewLayout(split);
- }
+ // Special cases, one of the child views is hidden.
+ split.child_at(0)->SetVisible(false);
+ split.Layout();
- // Special cases, one of the child views is hidden.
- split.child_at(0)->SetVisible(false);
- split.Layout();
+ EXPECT_EQ(split.GetContentsBounds().size(), split.child_at(1)->size());
- EXPECT_EQ(split.size(), split.child_at(1)->size());
+ split.child_at(0)->SetVisible(true);
+ split.child_at(1)->SetVisible(false);
+ split.Layout();
- split.child_at(0)->SetVisible(true);
- split.child_at(1)->SetVisible(false);
- split.Layout();
-
- EXPECT_EQ(split.size(), split.child_at(0)->size());
+ EXPECT_EQ(split.GetContentsBounds().size(), split.child_at(0)->size());
+ }
}
}
« no previous file with comments | « ui/views/controls/single_split_view.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698