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

Unified Diff: ui/views/bubble/bubble_border_unittest.cc

Issue 1802073002: Makes vertical alignment of location bar bubbles same (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Makes vertical alignment of location bar bubbles same (nits) Created 4 years, 9 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/bubble/bubble_border.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/views/bubble/bubble_border_unittest.cc
diff --git a/ui/views/bubble/bubble_border_unittest.cc b/ui/views/bubble/bubble_border_unittest.cc
index 19f6968fba5b2dc47bf3f9e79af0ccbde618b3a9..3132382293680c20e13354f7bbb00c70b5f7c36c 100644
--- a/ui/views/bubble/bubble_border_unittest.cc
+++ b/ui/views/bubble/bubble_border_unittest.cc
@@ -309,7 +309,7 @@ TEST_F(BubbleBorderTest, GetSizeForContentsSizeTest) {
border.GetSizeForContentsSize(cases[i].content));
border.set_paint_arrow(BubbleBorder::PAINT_TRANSPARENT);
- EXPECT_EQ(cases[i].expected_with_arrow,
+ EXPECT_EQ(cases[i].expected_without_arrow,
border.GetSizeForContentsSize(cases[i].content));
border.set_paint_arrow(BubbleBorder::PAINT_NONE);
@@ -347,17 +347,22 @@ TEST_F(BubbleBorderTest, GetBoundsOriginTest) {
const int kArrowOffsetForNotCenter =
kImages->border_thickness + (kImages->arrow_width / 2);
- const int kArrowSize =
- kImages->arrow_interior_thickness + BubbleBorder::kStroke -
- kImages->arrow_thickness;
-
- const int kTopHorizArrowY = kAnchor.y() + kAnchor.height() + kArrowSize;
+ const int kArrowThickness = kImages->arrow_interior_thickness;
+ const int kArrowShift =
+ kArrowThickness + BubbleBorder::kStroke - kImages->arrow_thickness;
+ const int kHeightDifference = kTotalSizeWithHorizArrow.height() -
+ kTotalSizeWithNoArrow.height();
+ const int kWidthDifference = kTotalSizeWithVertArrow.width() -
+ kTotalSizeWithNoArrow.width();
+ EXPECT_EQ(kHeightDifference, kWidthDifference);
+ EXPECT_EQ(kHeightDifference, kArrowThickness);
+
+ const int kTopHorizArrowY = kAnchor.y() + kAnchor.height() + kArrowShift;
const int kBottomHorizArrowY =
- kAnchor.y() - kArrowSize - kTotalSizeWithHorizArrow.height();
-
- const int kLeftVertArrowX = kAnchor.x() + kAnchor.width() + kArrowSize;
+ kAnchor.y() - kArrowShift - kTotalSizeWithHorizArrow.height();
+ const int kLeftVertArrowX = kAnchor.x() + kAnchor.width() + kArrowShift;
const int kRightVertArrowX =
- kAnchor.x() - kArrowSize - kTotalSizeWithVertArrow.width();
+ kAnchor.x() - kArrowShift - kTotalSizeWithVertArrow.width();
struct TestCase {
BubbleBorder::Arrow arrow;
@@ -408,12 +413,43 @@ TEST_F(BubbleBorderTest, GetBoundsOriginTest) {
for (size_t i = 0; i < arraysize(cases); ++i) {
SCOPED_TRACE(base::StringPrintf("i=%d arrow=%d alignment=%d",
static_cast<int>(i), cases[i].arrow, cases[i].alignment));
- border.set_arrow(cases[i].arrow);
+ const BubbleBorder::Arrow arrow = cases[i].arrow;
+ border.set_arrow(arrow);
border.set_alignment(cases[i].alignment);
+ border.set_paint_arrow(BubbleBorder::PAINT_NORMAL);
gfx::Point origin = border.GetBounds(kAnchor, kContentSize).origin();
- EXPECT_EQ(cases[i].expected_x, origin.x());
- EXPECT_EQ(cases[i].expected_y, origin.y());
+ int expected_x = cases[i].expected_x;
+ int expected_y = cases[i].expected_y;
+ EXPECT_EQ(expected_x, origin.x());
+ EXPECT_EQ(expected_y, origin.y());
+
+ border.set_paint_arrow(BubbleBorder::PAINT_TRANSPARENT);
+ origin = border.GetBounds(kAnchor, kContentSize).origin();
+ if (border.is_arrow_on_horizontal(arrow)) {
+ expected_y += BubbleBorder::is_arrow_on_top(arrow)
+ ? kArrowThickness : (-kArrowThickness + kHeightDifference);
+ } else if (BubbleBorder::has_arrow(arrow)) {
+ expected_x += BubbleBorder::is_arrow_on_left(arrow)
+ ? kArrowThickness : (-kArrowThickness + kWidthDifference);
+ }
+ EXPECT_EQ(expected_x, origin.x());
+ EXPECT_EQ(expected_y, origin.y());
+
+ border.set_paint_arrow(BubbleBorder::PAINT_NONE);
+ origin = border.GetBounds(kAnchor, kContentSize).origin();
+ expected_x = cases[i].expected_x;
+ expected_y = cases[i].expected_y;
+ if (border.is_arrow_on_horizontal(arrow) &&
+ !BubbleBorder::is_arrow_on_top(arrow)) {
+ expected_y += kHeightDifference;
+ } else if (BubbleBorder::has_arrow(arrow) &&
+ !border.is_arrow_on_horizontal(arrow) &&
+ !BubbleBorder::is_arrow_on_left(arrow)) {
+ expected_x += kWidthDifference;
+ }
+ EXPECT_EQ(expected_x, origin.x());
+ EXPECT_EQ(expected_y, origin.y());
}
}
« no previous file with comments | « ui/views/bubble/bubble_border.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698