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

Unified Diff: chrome/browser/ui/views/frame/opaque_browser_frame_view_layout_unittest.cc

Issue 127253004: Support displaying the avatar label on the right side. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix test. Created 6 years, 11 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
Index: chrome/browser/ui/views/frame/opaque_browser_frame_view_layout_unittest.cc
diff --git a/chrome/browser/ui/views/frame/opaque_browser_frame_view_layout_unittest.cc b/chrome/browser/ui/views/frame/opaque_browser_frame_view_layout_unittest.cc
index 59cfc0b7810c8ec5a3219995fa93646067ee140f..f94c9e86d968630fea87aa76a495b4ba571575dc 100644
--- a/chrome/browser/ui/views/frame/opaque_browser_frame_view_layout_unittest.cc
+++ b/chrome/browser/ui/views/frame/opaque_browser_frame_view_layout_unittest.cc
@@ -7,6 +7,7 @@
#include "base/basictypes.h"
#include "base/command_line.h"
#include "base/strings/utf_string_conversions.h"
+#include "chrome/browser/ui/views/avatar_label.h"
#include "chrome/browser/ui/views/avatar_menu_button.h"
#include "chrome/browser/ui/views/tab_icon_view.h"
#include "chrome/browser/ui/views/tabs/tab.h"
@@ -223,7 +224,7 @@ class OpaqueBrowserFrameViewLayoutTest : public views::ViewsTestBase {
}
void AddAvatarLabel() {
- avatar_label_ = new views::MenuButton(NULL, base::string16(), NULL, false);
+ avatar_label_ = new AvatarLabel(NULL);
avatar_label_->set_id(VIEW_ID_AVATAR_LABEL);
root_view_->AddChildView(avatar_label_);
@@ -259,8 +260,8 @@ class OpaqueBrowserFrameViewLayoutTest : public views::ViewsTestBase {
TabIconView* tab_icon_view_;
views::Label* window_title_;
+ AvatarLabel* avatar_label_;
AvatarMenuButton* menu_button_;
- views::MenuButton* avatar_label_;
views::MenuButton* new_avatar_button_;
DISALLOW_COPY_AND_ASSIGN(OpaqueBrowserFrameViewLayoutTest);
@@ -434,7 +435,8 @@ TEST_F(OpaqueBrowserFrameViewLayoutTest, WindowWithAvatar) {
TEST_F(OpaqueBrowserFrameViewLayoutTest, WindowWithAvatarWithButtonsOnLeft) {
// Tests the layout of a chrome window with an avatar icon and caption buttons
// on the left. The avatar icon should therefore be on the right.
- AddAvatarButton();
+ // AddAvatarLabel() also adds the avatar button.
+ AddAvatarLabel();
std::vector<views::FrameButton> leading_buttons;
std::vector<views::FrameButton> trailing_buttons;
leading_buttons.push_back(views::FRAME_BUTTON_CLOSE);
@@ -450,11 +452,32 @@ TEST_F(OpaqueBrowserFrameViewLayoutTest, WindowWithAvatarWithButtonsOnLeft) {
// Check the location of the avatar
EXPECT_EQ("454,11 40x29", menu_button_->bounds().ToString());
- EXPECT_EQ("93,13 356x29",
- layout_manager_->GetBoundsForTabStrip(
- delegate_->GetTabstripPreferredSize(), kWidth).ToString());
+
+ // Check the tab strip bounds. These bounds depend on the avatar label, which
+ // can have a different width on Linux and Windows depending on the font size
+ // used.
+ int avatar_button_width = menu_button_->bounds().width();
+ int avatar_label_width = avatar_label_->bounds().width();
+ const int kAvatarIconToLabelSpacing = 2;
Peter Kasting 2014/01/15 02:06:26 There are a lot of magic numbers in here. It woul
Adrian Kuegel 2014/01/15 16:24:51 I tried to rewrite my changes to do only relative
+ int expected_width = 356 - (avatar_label_width - avatar_button_width) +
+ kAvatarIconToLabelSpacing;
+ gfx::Rect tab_strip_bounds = layout_manager_->GetBoundsForTabStrip(
+ delegate_->GetTabstripPreferredSize(), kWidth);
+ EXPECT_EQ(93, tab_strip_bounds.x());
+ EXPECT_EQ(13, tab_strip_bounds.y());
+ EXPECT_EQ(expected_width, tab_strip_bounds.width());
+ EXPECT_EQ(29, tab_strip_bounds.height());
EXPECT_EQ("261x73", layout_manager_->GetMinimumSize(kWidth).ToString());
+ // Check the relative location of the avatar label to the avatar. The right
+ // end of the avatar label should be slightly to the right of the right end of
+ // the avatar icon.
+ EXPECT_EQ(menu_button_->bounds().right() + kAvatarIconToLabelSpacing,
+ avatar_label_->bounds().right());
+ EXPECT_EQ(
+ menu_button_->bounds().bottom() - 3 - avatar_label_->bounds().height(),
+ avatar_label_->bounds().y());
+
// This means that the menu will pop out facing the left (if it were to face
// the right, it would go outside the window frame and be clipped).
EXPECT_TRUE(menu_button_->button_on_right());
@@ -518,13 +541,14 @@ TEST_F(OpaqueBrowserFrameViewLayoutTest, WindowWithNewAvatar) {
EXPECT_EQ("261x73", layout_manager_->GetMinimumSize(kWidth).ToString());
}
-TEST_F(OpaqueBrowserFrameViewLayoutTest, WindowWithAvatarLabelAndButton) {
+TEST_F(OpaqueBrowserFrameViewLayoutTest, WindowWithAvatarLabelAndButtonOnLeft) {
AddAvatarLabel();
root_view_->Layout();
ExpectBasicWindowBounds();
- // Check the location of the avatar label relative to the avatar button.
+ // Check the location of the avatar label relative to the avatar button if
+ // both are displayed on the left side.
// The label height and width depends on the font size and the text displayed.
// This may possibly change, so we don't test it here.
EXPECT_EQ(menu_button_->bounds().x() - 2, avatar_label_->bounds().x());

Powered by Google App Engine
This is Rietveld 408576698