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

Side by Side Diff: ui/views/bubble/bubble_delegate_unittest.cc

Issue 1782773002: MacViews: Fix ViewTest.HandleAccelerator by faking window activation (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Delay the activatableness 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include <stddef.h> 5 #include <stddef.h>
6 6
7 #include "base/macros.h" 7 #include "base/macros.h"
8 #include "ui/base/hit_test.h" 8 #include "ui/base/hit_test.h"
9 #include "ui/events/event_utils.h" 9 #include "ui/events/event_utils.h"
10 #include "ui/views/bubble/bubble_delegate.h" 10 #include "ui/views/bubble/bubble_delegate.h"
11 #include "ui/views/bubble/bubble_frame_view.h" 11 #include "ui/views/bubble/bubble_frame_view.h"
12 #include "ui/views/controls/button/label_button.h" 12 #include "ui/views/controls/button/label_button.h"
13 #include "ui/views/test/test_widget_observer.h" 13 #include "ui/views/test/test_widget_observer.h"
14 #include "ui/views/test/views_test_base.h" 14 #include "ui/views/test/views_test_base.h"
15 #include "ui/views/widget/widget.h" 15 #include "ui/views/widget/widget.h"
16 #include "ui/views/widget/widget_observer.h" 16 #include "ui/views/widget/widget_observer.h"
17 17
18 #if defined(OS_MACOSX)
19 #include "ui/base/test/scoped_fake_nswindow_focus.h"
20 #endif
21
22 namespace views { 18 namespace views {
23 19
24 namespace { 20 namespace {
25 21
26 class TestBubbleDelegateView : public BubbleDelegateView { 22 class TestBubbleDelegateView : public BubbleDelegateView {
27 public: 23 public:
28 TestBubbleDelegateView(View* anchor_view) 24 TestBubbleDelegateView(View* anchor_view)
29 : BubbleDelegateView(anchor_view, BubbleBorder::TOP_LEFT), 25 : BubbleDelegateView(anchor_view, BubbleBorder::TOP_LEFT),
30 view_(new View()) { 26 view_(new View()) {
31 view_->SetFocusable(true); 27 view_->SetFocusable(true);
(...skipping 30 matching lines...) Expand all
62 58
63 // Creates a test widget that owns its native widget. 59 // Creates a test widget that owns its native widget.
64 Widget* CreateTestWidget() { 60 Widget* CreateTestWidget() {
65 Widget* widget = new Widget(); 61 Widget* widget = new Widget();
66 Widget::InitParams params = CreateParams(Widget::InitParams::TYPE_WINDOW); 62 Widget::InitParams params = CreateParams(Widget::InitParams::TYPE_WINDOW);
67 params.ownership = views::Widget::InitParams::WIDGET_OWNS_NATIVE_WIDGET; 63 params.ownership = views::Widget::InitParams::WIDGET_OWNS_NATIVE_WIDGET;
68 widget->Init(params); 64 widget->Init(params);
69 return widget; 65 return widget;
70 } 66 }
71 67
68 void SetUp() override {
69 ViewsTestBase::SetUp();
70 EnableMacFakeWindowActivation();
71 }
72
72 private: 73 private:
73 #if defined(OS_MACOSX)
74 // Ensure tests running in parallel don't steal focus from the Widget on Mac.
75 ui::test::ScopedFakeNSWindowFocus fake_focus_;
76 #endif
77
78 DISALLOW_COPY_AND_ASSIGN(BubbleDelegateTest); 74 DISALLOW_COPY_AND_ASSIGN(BubbleDelegateTest);
79 }; 75 };
80 76
81 } // namespace 77 } // namespace
82 78
83 TEST_F(BubbleDelegateTest, CreateDelegate) { 79 TEST_F(BubbleDelegateTest, CreateDelegate) {
84 scoped_ptr<Widget> anchor_widget(CreateTestWidget()); 80 scoped_ptr<Widget> anchor_widget(CreateTestWidget());
85 BubbleDelegateView* bubble_delegate = new BubbleDelegateView( 81 BubbleDelegateView* bubble_delegate = new BubbleDelegateView(
86 anchor_widget->GetContentsView(), BubbleBorder::NONE); 82 anchor_widget->GetContentsView(), BubbleBorder::NONE);
87 bubble_delegate->set_color(SK_ColorGREEN); 83 bubble_delegate->set_color(SK_ColorGREEN);
(...skipping 235 matching lines...) Expand 10 before | Expand all | Expand 10 after
323 close_button, 319 close_button,
324 ui::MouseEvent(ui::ET_MOUSE_PRESSED, gfx::Point(0, 0), gfx::Point(0, 0), 320 ui::MouseEvent(ui::ET_MOUSE_PRESSED, gfx::Point(0, 0), gfx::Point(0, 0),
325 ui::EventTimeForNow(), ui::EF_NONE, ui::EF_NONE)); 321 ui::EventTimeForNow(), ui::EF_NONE, ui::EF_NONE));
326 EXPECT_TRUE(bubble_widget->IsClosed()); 322 EXPECT_TRUE(bubble_widget->IsClosed());
327 EXPECT_EQ(BubbleDelegateView::CloseReason::CLOSE_BUTTON, 323 EXPECT_EQ(BubbleDelegateView::CloseReason::CLOSE_BUTTON,
328 bubble_delegate->close_reason()); 324 bubble_delegate->close_reason());
329 } 325 }
330 } 326 }
331 327
332 } // namespace views 328 } // namespace views
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698