OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 "ui/views/controls/menu/menu_runner.h" | 5 #include "ui/views/controls/menu/menu_runner.h" |
6 | 6 |
| 7 #include <stdint.h> |
| 8 |
| 9 #include "base/macros.h" |
7 #include "base/memory/scoped_ptr.h" | 10 #include "base/memory/scoped_ptr.h" |
8 #include "ui/base/ui_base_types.h" | 11 #include "ui/base/ui_base_types.h" |
9 #include "ui/views/controls/menu/menu_delegate.h" | 12 #include "ui/views/controls/menu/menu_delegate.h" |
10 #include "ui/views/controls/menu/menu_item_view.h" | 13 #include "ui/views/controls/menu/menu_item_view.h" |
11 #include "ui/views/controls/menu/menu_types.h" | 14 #include "ui/views/controls/menu/menu_types.h" |
12 #include "ui/views/test/views_test_base.h" | 15 #include "ui/views/test/views_test_base.h" |
13 #include "ui/views/widget/widget.h" | 16 #include "ui/views/widget/widget.h" |
14 | 17 |
15 namespace views { | 18 namespace views { |
16 namespace test { | 19 namespace test { |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
56 on_menu_closed_run_result_ = result; | 59 on_menu_closed_run_result_ = result; |
57 } | 60 } |
58 | 61 |
59 class MenuRunnerTest : public ViewsTestBase { | 62 class MenuRunnerTest : public ViewsTestBase { |
60 public: | 63 public: |
61 MenuRunnerTest(); | 64 MenuRunnerTest(); |
62 ~MenuRunnerTest() override; | 65 ~MenuRunnerTest() override; |
63 | 66 |
64 // Initializes a MenuRunner with |run_types|. It takes ownership of | 67 // Initializes a MenuRunner with |run_types|. It takes ownership of |
65 // |menu_item_view_|. | 68 // |menu_item_view_|. |
66 void InitMenuRunner(int32 run_types); | 69 void InitMenuRunner(int32_t run_types); |
67 | 70 |
68 MenuItemView* menu_item_view() { return menu_item_view_; } | 71 MenuItemView* menu_item_view() { return menu_item_view_; } |
69 TestMenuDelegate* menu_delegate() { return menu_delegate_.get(); } | 72 TestMenuDelegate* menu_delegate() { return menu_delegate_.get(); } |
70 MenuRunner* menu_runner() { return menu_runner_.get(); } | 73 MenuRunner* menu_runner() { return menu_runner_.get(); } |
71 Widget* owner() { return owner_.get(); } | 74 Widget* owner() { return owner_.get(); } |
72 | 75 |
73 // ViewsTestBase: | 76 // ViewsTestBase: |
74 void SetUp() override; | 77 void SetUp() override; |
75 void TearDown() override; | 78 void TearDown() override; |
76 | 79 |
77 private: | 80 private: |
78 // Owned by MenuRunner. | 81 // Owned by MenuRunner. |
79 MenuItemView* menu_item_view_; | 82 MenuItemView* menu_item_view_; |
80 | 83 |
81 scoped_ptr<TestMenuDelegate> menu_delegate_; | 84 scoped_ptr<TestMenuDelegate> menu_delegate_; |
82 scoped_ptr<MenuRunner> menu_runner_; | 85 scoped_ptr<MenuRunner> menu_runner_; |
83 scoped_ptr<Widget> owner_; | 86 scoped_ptr<Widget> owner_; |
84 | 87 |
85 DISALLOW_COPY_AND_ASSIGN(MenuRunnerTest); | 88 DISALLOW_COPY_AND_ASSIGN(MenuRunnerTest); |
86 }; | 89 }; |
87 | 90 |
88 MenuRunnerTest::MenuRunnerTest() {} | 91 MenuRunnerTest::MenuRunnerTest() {} |
89 | 92 |
90 MenuRunnerTest::~MenuRunnerTest() {} | 93 MenuRunnerTest::~MenuRunnerTest() {} |
91 | 94 |
92 void MenuRunnerTest::InitMenuRunner(int32 run_types) { | 95 void MenuRunnerTest::InitMenuRunner(int32_t run_types) { |
93 menu_runner_.reset(new MenuRunner(menu_item_view_, run_types)); | 96 menu_runner_.reset(new MenuRunner(menu_item_view_, run_types)); |
94 } | 97 } |
95 | 98 |
96 void MenuRunnerTest::SetUp() { | 99 void MenuRunnerTest::SetUp() { |
97 ViewsTestBase::SetUp(); | 100 ViewsTestBase::SetUp(); |
98 menu_delegate_.reset(new TestMenuDelegate); | 101 menu_delegate_.reset(new TestMenuDelegate); |
99 menu_item_view_ = new MenuItemView(menu_delegate_.get()); | 102 menu_item_view_ = new MenuItemView(menu_delegate_.get()); |
100 | 103 |
101 owner_.reset(new Widget); | 104 owner_.reset(new Widget); |
102 Widget::InitParams params = CreateParams(Widget::InitParams::TYPE_POPUP); | 105 Widget::InitParams params = CreateParams(Widget::InitParams::TYPE_POPUP); |
(...skipping 21 matching lines...) Expand all Loading... |
124 runner->Cancel(); | 127 runner->Cancel(); |
125 EXPECT_FALSE(runner->IsRunning()); | 128 EXPECT_FALSE(runner->IsRunning()); |
126 TestMenuDelegate* delegate = menu_delegate(); | 129 TestMenuDelegate* delegate = menu_delegate(); |
127 EXPECT_EQ(1, delegate->on_menu_closed_called()); | 130 EXPECT_EQ(1, delegate->on_menu_closed_called()); |
128 EXPECT_EQ(nullptr, delegate->on_menu_closed_menu()); | 131 EXPECT_EQ(nullptr, delegate->on_menu_closed_menu()); |
129 EXPECT_EQ(MenuRunner::NORMAL_EXIT, delegate->on_menu_closed_run_result()); | 132 EXPECT_EQ(MenuRunner::NORMAL_EXIT, delegate->on_menu_closed_run_result()); |
130 } | 133 } |
131 | 134 |
132 } // namespace test | 135 } // namespace test |
133 } // namespace views | 136 } // namespace views |
OLD | NEW |