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

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

Issue 1809933003: Port BubbleDelegate tests to BubbleDialogDelegate (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: msw review 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_dialog_delegate.cc ('k') | ui/views/bubble/bubble_frame_view.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/views/bubble/bubble_dialog_delegate_unittest.cc
diff --git a/ui/views/bubble/bubble_delegate_unittest.cc b/ui/views/bubble/bubble_dialog_delegate_unittest.cc
similarity index 65%
copy from ui/views/bubble/bubble_delegate_unittest.cc
copy to ui/views/bubble/bubble_dialog_delegate_unittest.cc
index f7656f061511f617a6db4a26f9840ebefc6ee956..6c43388c9444573a328a3ef49e7f0cd77db84762 100644
--- a/ui/views/bubble/bubble_delegate_unittest.cc
+++ b/ui/views/bubble/bubble_dialog_delegate_unittest.cc
@@ -1,13 +1,14 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Copyright 2016 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
+#include "ui/views/bubble/bubble_dialog_delegate.h"
+
#include <stddef.h>
#include "base/macros.h"
#include "ui/base/hit_test.h"
#include "ui/events/event_utils.h"
-#include "ui/views/bubble/bubble_delegate.h"
#include "ui/views/bubble/bubble_frame_view.h"
#include "ui/views/controls/button/label_button.h"
#include "ui/views/test/test_widget_observer.h"
@@ -19,42 +20,33 @@ namespace views {
namespace {
-class TestBubbleDelegateView : public BubbleDelegateView {
+class TestBubbleDialogDelegateView : public BubbleDialogDelegateView {
public:
- TestBubbleDelegateView(View* anchor_view)
- : BubbleDelegateView(anchor_view, BubbleBorder::TOP_LEFT),
+ TestBubbleDialogDelegateView(View* anchor_view)
+ : BubbleDialogDelegateView(anchor_view, BubbleBorder::TOP_LEFT),
view_(new View()) {
view_->SetFocusable(true);
AddChildView(view_);
}
- ~TestBubbleDelegateView() override {}
-
- void SetAnchorRectForTest(gfx::Rect rect) {
- SetAnchorRect(rect);
- }
-
- void SetAnchorViewForTest(View* view) {
- SetAnchorView(view);
- }
+ ~TestBubbleDialogDelegateView() override {}
- // BubbleDelegateView overrides:
+ // BubbleDialogDelegateView overrides:
View* GetInitiallyFocusedView() override { return view_; }
gfx::Size GetPreferredSize() const override { return gfx::Size(200, 200); }
- BubbleFrameView* GetBubbleFrameViewForTest() const {
- return GetBubbleFrameView();
- }
+ using BubbleDialogDelegateView::SetAnchorRect;
+ using BubbleDialogDelegateView::GetBubbleFrameView;
private:
View* view_;
- DISALLOW_COPY_AND_ASSIGN(TestBubbleDelegateView);
+ DISALLOW_COPY_AND_ASSIGN(TestBubbleDialogDelegateView);
};
-class BubbleDelegateTest : public ViewsTestBase {
+class BubbleDialogDelegateTest : public ViewsTestBase {
public:
- BubbleDelegateTest() {}
- ~BubbleDelegateTest() override {}
+ BubbleDialogDelegateTest() {}
+ ~BubbleDialogDelegateTest() override {}
// Creates a test widget that owns its native widget.
Widget* CreateTestWidget() {
@@ -66,17 +58,18 @@ class BubbleDelegateTest : public ViewsTestBase {
}
private:
- DISALLOW_COPY_AND_ASSIGN(BubbleDelegateTest);
+ DISALLOW_COPY_AND_ASSIGN(BubbleDialogDelegateTest);
};
} // namespace
-TEST_F(BubbleDelegateTest, CreateDelegate) {
+TEST_F(BubbleDialogDelegateTest, CreateDelegate) {
scoped_ptr<Widget> anchor_widget(CreateTestWidget());
- BubbleDelegateView* bubble_delegate = new BubbleDelegateView(
- anchor_widget->GetContentsView(), BubbleBorder::NONE);
+ TestBubbleDialogDelegateView* bubble_delegate =
+ new TestBubbleDialogDelegateView(anchor_widget->GetContentsView());
bubble_delegate->set_color(SK_ColorGREEN);
- Widget* bubble_widget = BubbleDelegateView::CreateBubble(bubble_delegate);
+ Widget* bubble_widget =
+ BubbleDialogDelegateView::CreateBubble(bubble_delegate);
EXPECT_EQ(bubble_delegate, bubble_widget->widget_delegate());
EXPECT_EQ(bubble_widget, bubble_delegate->GetWidget());
test::TestWidgetObserver bubble_observer(bubble_widget);
@@ -91,13 +84,14 @@ TEST_F(BubbleDelegateTest, CreateDelegate) {
EXPECT_TRUE(bubble_observer.widget_closed());
}
-TEST_F(BubbleDelegateTest, CloseAnchorWidget) {
+TEST_F(BubbleDialogDelegateTest, CloseAnchorWidget) {
scoped_ptr<Widget> anchor_widget(CreateTestWidget());
- BubbleDelegateView* bubble_delegate = new BubbleDelegateView(
- anchor_widget->GetContentsView(), BubbleBorder::NONE);
+ BubbleDialogDelegateView* bubble_delegate =
+ new TestBubbleDialogDelegateView(anchor_widget->GetContentsView());
// Preventing close on deactivate should not prevent closing with the anchor.
bubble_delegate->set_close_on_deactivate(false);
- Widget* bubble_widget = BubbleDelegateView::CreateBubble(bubble_delegate);
+ Widget* bubble_widget =
+ BubbleDialogDelegateView::CreateBubble(bubble_delegate);
EXPECT_EQ(bubble_delegate, bubble_widget->widget_delegate());
EXPECT_EQ(bubble_widget, bubble_delegate->GetWidget());
EXPECT_EQ(anchor_widget.get(), bubble_delegate->anchor_widget());
@@ -121,23 +115,24 @@ TEST_F(BubbleDelegateTest, CloseAnchorWidget) {
// This test checks that the bubble delegate is capable to handle an early
// destruction of the used anchor view. (Animations and delayed closure of the
// bubble will call upon the anchor view to get its location).
-TEST_F(BubbleDelegateTest, CloseAnchorViewTest) {
+TEST_F(BubbleDialogDelegateTest, CloseAnchorViewTest) {
// Create an anchor widget and add a view to be used as an anchor view.
scoped_ptr<Widget> anchor_widget(CreateTestWidget());
scoped_ptr<View> anchor_view(new View());
anchor_widget->GetContentsView()->AddChildView(anchor_view.get());
- TestBubbleDelegateView* bubble_delegate = new TestBubbleDelegateView(
- anchor_view.get());
+ TestBubbleDialogDelegateView* bubble_delegate =
+ new TestBubbleDialogDelegateView(anchor_view.get());
// Prevent flakes by avoiding closing on activation changes.
bubble_delegate->set_close_on_deactivate(false);
- Widget* bubble_widget = BubbleDelegateView::CreateBubble(bubble_delegate);
+ Widget* bubble_widget =
+ BubbleDialogDelegateView::CreateBubble(bubble_delegate);
// Check that the anchor view is correct and set up an anchor view rect.
// Make sure that this rect will get ignored (as long as the anchor view is
// attached).
EXPECT_EQ(anchor_view.get(), bubble_delegate->GetAnchorView());
const gfx::Rect set_anchor_rect = gfx::Rect(10, 10, 100, 100);
- bubble_delegate->SetAnchorRectForTest(set_anchor_rect);
+ bubble_delegate->SetAnchorRect(set_anchor_rect);
const gfx::Rect view_rect = bubble_delegate->GetAnchorRect();
EXPECT_NE(view_rect.ToString(), set_anchor_rect.ToString());
@@ -154,12 +149,12 @@ TEST_F(BubbleDelegateTest, CloseAnchorViewTest) {
}
// Testing that a move of the anchor view will lead to new bubble locations.
-TEST_F(BubbleDelegateTest, TestAnchorRectMovesWithViewTest) {
+TEST_F(BubbleDialogDelegateTest, TestAnchorRectMovesWithViewTest) {
// Create an anchor widget and add a view to be used as anchor view.
scoped_ptr<Widget> anchor_widget(CreateTestWidget());
- TestBubbleDelegateView* bubble_delegate = new TestBubbleDelegateView(
- anchor_widget->GetContentsView());
- BubbleDelegateView::CreateBubble(bubble_delegate);
+ TestBubbleDialogDelegateView* bubble_delegate =
+ new TestBubbleDialogDelegateView(anchor_widget->GetContentsView());
+ BubbleDialogDelegateView::CreateBubble(bubble_delegate);
anchor_widget->GetContentsView()->SetBounds(10, 10, 100, 100);
const gfx::Rect view_rect = bubble_delegate->GetAnchorRect();
@@ -169,10 +164,10 @@ TEST_F(BubbleDelegateTest, TestAnchorRectMovesWithViewTest) {
EXPECT_NE(view_rect.ToString(), view_rect_2.ToString());
}
-TEST_F(BubbleDelegateTest, ResetAnchorWidget) {
+TEST_F(BubbleDialogDelegateTest, ResetAnchorWidget) {
scoped_ptr<Widget> anchor_widget(CreateTestWidget());
- BubbleDelegateView* bubble_delegate = new BubbleDelegateView(
- anchor_widget->GetContentsView(), BubbleBorder::NONE);
+ BubbleDialogDelegateView* bubble_delegate =
+ new TestBubbleDialogDelegateView(anchor_widget->GetContentsView());
// Make sure the bubble widget is parented to a widget other than the anchor
// widget so that closing the anchor widget does not close the bubble widget.
@@ -180,7 +175,8 @@ TEST_F(BubbleDelegateTest, ResetAnchorWidget) {
bubble_delegate->set_parent_window(parent_widget->GetNativeView());
// Preventing close on deactivate should not prevent closing with the parent.
bubble_delegate->set_close_on_deactivate(false);
- Widget* bubble_widget = BubbleDelegateView::CreateBubble(bubble_delegate);
+ Widget* bubble_widget =
+ BubbleDialogDelegateView::CreateBubble(bubble_delegate);
EXPECT_EQ(bubble_delegate, bubble_widget->widget_delegate());
EXPECT_EQ(bubble_widget, bubble_delegate->GetWidget());
EXPECT_EQ(anchor_widget.get(), bubble_delegate->anchor_widget());
@@ -209,21 +205,23 @@ TEST_F(BubbleDelegateTest, ResetAnchorWidget) {
EXPECT_TRUE(bubble_observer.widget_closed());
}
-TEST_F(BubbleDelegateTest, InitiallyFocusedView) {
+TEST_F(BubbleDialogDelegateTest, InitiallyFocusedView) {
scoped_ptr<Widget> anchor_widget(CreateTestWidget());
- BubbleDelegateView* bubble_delegate = new BubbleDelegateView(
- anchor_widget->GetContentsView(), BubbleBorder::NONE);
- Widget* bubble_widget = BubbleDelegateView::CreateBubble(bubble_delegate);
+ BubbleDialogDelegateView* bubble_delegate =
+ new TestBubbleDialogDelegateView(anchor_widget->GetContentsView());
+ Widget* bubble_widget =
+ BubbleDialogDelegateView::CreateBubble(bubble_delegate);
+ bubble_widget->Show();
EXPECT_EQ(bubble_delegate->GetInitiallyFocusedView(),
bubble_widget->GetFocusManager()->GetFocusedView());
bubble_widget->CloseNow();
}
-TEST_F(BubbleDelegateTest, NonClientHitTest) {
+TEST_F(BubbleDialogDelegateTest, NonClientHitTest) {
scoped_ptr<Widget> anchor_widget(CreateTestWidget());
- TestBubbleDelegateView* bubble_delegate =
- new TestBubbleDelegateView(anchor_widget->GetContentsView());
- BubbleDelegateView::CreateBubble(bubble_delegate);
+ TestBubbleDialogDelegateView* bubble_delegate =
+ new TestBubbleDialogDelegateView(anchor_widget->GetContentsView());
+ BubbleDialogDelegateView::CreateBubble(bubble_delegate);
BubbleFrameView* frame = bubble_delegate->GetBubbleFrameView();
const int border = frame->bubble_border()->GetBorderThickness();
@@ -231,9 +229,7 @@ TEST_F(BubbleDelegateTest, NonClientHitTest) {
const int point;
const int hit;
} cases[] = {
- { border, HTNOWHERE },
- { border + 50, HTCLIENT },
- { 1000, HTNOWHERE },
+ {border, HTNOWHERE}, {border + 50, HTCLIENT}, {1000, HTNOWHERE},
};
for (size_t i = 0; i < arraysize(cases); ++i) {
@@ -243,11 +239,12 @@ TEST_F(BubbleDelegateTest, NonClientHitTest) {
}
}
-TEST_F(BubbleDelegateTest, VisibleWhenAnchorWidgetBoundsChanged) {
+TEST_F(BubbleDialogDelegateTest, VisibleWhenAnchorWidgetBoundsChanged) {
scoped_ptr<Widget> anchor_widget(CreateTestWidget());
- BubbleDelegateView* bubble_delegate = new BubbleDelegateView(
- anchor_widget->GetContentsView(), BubbleBorder::NONE);
- Widget* bubble_widget = BubbleDelegateView::CreateBubble(bubble_delegate);
+ BubbleDialogDelegateView* bubble_delegate =
+ new TestBubbleDialogDelegateView(anchor_widget->GetContentsView());
+ Widget* bubble_widget =
+ BubbleDialogDelegateView::CreateBubble(bubble_delegate);
test::TestWidgetObserver bubble_observer(bubble_widget);
EXPECT_FALSE(bubble_observer.widget_closed());
@@ -259,64 +256,60 @@ TEST_F(BubbleDelegateTest, VisibleWhenAnchorWidgetBoundsChanged) {
}
// Test that setting WidgetDelegate::set_can_activate() to false makes the
-// widget created via BubbleDelegateView::CreateBubble() not activatable.
-TEST_F(BubbleDelegateTest, NotActivatable) {
+// widget created via BubbleDialogDelegateView::CreateBubble() not activatable.
+TEST_F(BubbleDialogDelegateTest, NotActivatable) {
scoped_ptr<Widget> anchor_widget(CreateTestWidget());
- BubbleDelegateView* bubble_delegate = new BubbleDelegateView(
- anchor_widget->GetContentsView(), BubbleBorder::NONE);
+ BubbleDialogDelegateView* bubble_delegate =
+ new TestBubbleDialogDelegateView(anchor_widget->GetContentsView());
bubble_delegate->set_can_activate(false);
- Widget* bubble_widget = BubbleDelegateView::CreateBubble(bubble_delegate);
+ Widget* bubble_widget =
+ BubbleDialogDelegateView::CreateBubble(bubble_delegate);
bubble_widget->Show();
EXPECT_FALSE(bubble_widget->CanActivate());
}
-TEST_F(BubbleDelegateTest, CloseReasons) {
+TEST_F(BubbleDialogDelegateTest, CloseMethods) {
{
scoped_ptr<Widget> anchor_widget(CreateTestWidget());
- BubbleDelegateView* bubble_delegate = new BubbleDelegateView(
- anchor_widget->GetContentsView(), BubbleBorder::NONE);
+ BubbleDialogDelegateView* bubble_delegate =
+ new TestBubbleDialogDelegateView(anchor_widget->GetContentsView());
bubble_delegate->set_close_on_deactivate(true);
- Widget* bubble_widget = BubbleDelegateView::CreateBubble(bubble_delegate);
+ Widget* bubble_widget =
+ BubbleDialogDelegateView::CreateBubble(bubble_delegate);
anchor_widget->Show();
bubble_widget->Show();
anchor_widget->Activate();
EXPECT_TRUE(bubble_widget->IsClosed());
- EXPECT_EQ(BubbleDelegateView::CloseReason::DEACTIVATION,
- bubble_delegate->close_reason());
}
{
scoped_ptr<Widget> anchor_widget(CreateTestWidget());
- BubbleDelegateView* bubble_delegate = new BubbleDelegateView(
- anchor_widget->GetContentsView(), BubbleBorder::NONE);
- bubble_delegate->set_close_on_esc(true);
- Widget* bubble_widget = BubbleDelegateView::CreateBubble(bubble_delegate);
+ BubbleDialogDelegateView* bubble_delegate =
+ new TestBubbleDialogDelegateView(anchor_widget->GetContentsView());
+ Widget* bubble_widget =
+ BubbleDialogDelegateView::CreateBubble(bubble_delegate);
bubble_widget->Show();
- // Cast as a test hack to access AcceleratorPressed() (which is protected
- // in BubbleDelegate).
- static_cast<View*>(bubble_delegate)
- ->AcceleratorPressed(ui::Accelerator(ui::VKEY_ESCAPE, ui::EF_NONE));
+
+ ui::KeyEvent escape_event(ui::ET_KEY_PRESSED, ui::VKEY_ESCAPE, ui::EF_NONE);
+ bubble_widget->OnKeyEvent(&escape_event);
EXPECT_TRUE(bubble_widget->IsClosed());
- EXPECT_EQ(BubbleDelegateView::CloseReason::ESCAPE,
- bubble_delegate->close_reason());
}
{
scoped_ptr<Widget> anchor_widget(CreateTestWidget());
- TestBubbleDelegateView* bubble_delegate =
- new TestBubbleDelegateView(anchor_widget->GetContentsView());
- Widget* bubble_widget = BubbleDelegateView::CreateBubble(bubble_delegate);
+ TestBubbleDialogDelegateView* bubble_delegate =
+ new TestBubbleDialogDelegateView(anchor_widget->GetContentsView());
+ Widget* bubble_widget =
+ BubbleDialogDelegateView::CreateBubble(bubble_delegate);
bubble_widget->Show();
- BubbleFrameView* frame_view = bubble_delegate->GetBubbleFrameViewForTest();
+ BubbleFrameView* frame_view = bubble_delegate->GetBubbleFrameView();
LabelButton* close_button = frame_view->close_;
ASSERT_TRUE(close_button);
frame_view->ButtonPressed(
close_button,
- ui::MouseEvent(ui::ET_MOUSE_PRESSED, gfx::Point(0, 0), gfx::Point(0, 0),
+ ui::MouseEvent(ui::ET_MOUSE_PRESSED, gfx::Point(), gfx::Point(),
ui::EventTimeForNow(), ui::EF_NONE, ui::EF_NONE));
EXPECT_TRUE(bubble_widget->IsClosed());
- EXPECT_EQ(BubbleDelegateView::CloseReason::CLOSE_BUTTON,
- bubble_delegate->close_reason());
}
}
« no previous file with comments | « ui/views/bubble/bubble_dialog_delegate.cc ('k') | ui/views/bubble/bubble_frame_view.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698