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

Side by Side Diff: chrome/browser/ui/views/extensions/chooser_dialog_view_unittest.cc

Issue 2478863003: Fix the Web Bluetooth chooser when it is used on Chrome apps on non-Mac (Closed)
Patch Set: updated ChooserDialogViewTest Created 4 years, 1 month 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 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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 "chrome/browser/ui/views/extensions/chooser_dialog_view.h" 5 #include "chrome/browser/ui/views/extensions/chooser_dialog_view.h"
6 6
7 #include <memory> 7 #include <memory>
8 8
9 #include "base/macros.h" 9 #include "base/macros.h"
10 #include "base/strings/utf_string_conversions.h" 10 #include "base/strings/utf_string_conversions.h"
11 #include "chrome/browser/chooser_controller/mock_chooser_controller.h" 11 #include "chrome/browser/chooser_controller/mock_chooser_controller.h"
12 #include "chrome/browser/ui/views/chooser_content_view.h" 12 #include "chrome/browser/ui/views/chooser_content_view.h"
13 #include "chrome/grit/generated_resources.h" 13 #include "chrome/grit/generated_resources.h"
14 #include "testing/gmock/include/gmock/gmock.h" 14 #include "testing/gmock/include/gmock/gmock.h"
15 #include "ui/base/l10n/l10n_util.h" 15 #include "ui/base/l10n/l10n_util.h"
16 #include "ui/views/controls/button/label_button.h" 16 #include "ui/views/controls/button/label_button.h"
17 #include "ui/views/controls/styled_label.h" 17 #include "ui/views/controls/styled_label.h"
18 #include "ui/views/controls/table/table_view.h" 18 #include "ui/views/controls/table/table_view.h"
19 #include "ui/views/test/native_widget_factory.h"
19 #include "ui/views/test/views_test_base.h" 20 #include "ui/views/test/views_test_base.h"
20 #include "ui/views/widget/widget.h" 21 #include "ui/views/widget/widget.h"
21 #include "ui/views/window/dialog_client_view.h" 22 #include "ui/views/window/dialog_client_view.h"
22 23
23 class ChooserDialogViewTest : public views::ViewsTestBase { 24 class ChooserDialogViewTest : public views::ViewsTestBase {
24 public: 25 public:
25 ChooserDialogViewTest() {} 26 ChooserDialogViewTest() {}
26 ~ChooserDialogViewTest() override {} 27 ~ChooserDialogViewTest() override {}
27 28
28 // views::ViewsTestBase: 29 // views::ViewsTestBase:
29 void SetUp() override { 30 void SetUp() override {
30 views::ViewsTestBase::SetUp(); 31 views::ViewsTestBase::SetUp();
31 std::unique_ptr<MockChooserController> mock_chooser_controller( 32 std::unique_ptr<MockChooserController> mock_chooser_controller(
32 new MockChooserController(nullptr)); 33 new MockChooserController(nullptr));
33 mock_chooser_controller_ = mock_chooser_controller.get(); 34 mock_chooser_controller_ = mock_chooser_controller.get();
34 std::unique_ptr<ChooserDialogView> chooser_dialog_view( 35 std::unique_ptr<ChooserDialogView> chooser_dialog_view(
35 new ChooserDialogView(std::move(mock_chooser_controller))); 36 new ChooserDialogView(std::move(mock_chooser_controller)));
36 footnote_link_.reset(chooser_dialog_view->chooser_content_view_for_test()
37 ->CreateFootnoteView());
38 chooser_dialog_view_ = chooser_dialog_view.get(); 37 chooser_dialog_view_ = chooser_dialog_view.get();
39 table_view_ = 38 table_view_ =
40 chooser_dialog_view_->chooser_content_view_for_test()->table_view_; 39 chooser_dialog_view_->chooser_content_view_for_test()->table_view_;
41 ASSERT_TRUE(table_view_); 40 ASSERT_TRUE(table_view_);
41
42 views::Widget::InitParams params =
43 CreateParams(views::Widget::InitParams::TYPE_WINDOW);
44 params.bounds = gfx::Rect(0, 0, 600, 600);
45 params.ownership = views::Widget::InitParams::WIDGET_OWNS_NATIVE_WIDGET;
46 params.native_widget = views::test::CreatePlatformDesktopNativeWidgetImpl(
47 params, &parent_widget, nullptr);
48 parent_widget.Init(params);
49
42 dialog_ = views::DialogDelegate::CreateDialogWidget( 50 dialog_ = views::DialogDelegate::CreateDialogWidget(
43 chooser_dialog_view.release(), GetContext(), nullptr); 51 chooser_dialog_view.release(), GetContext(),
52 parent_widget.GetNativeView());
44 ASSERT_TRUE(dialog_); 53 ASSERT_TRUE(dialog_);
45 ok_button_ = chooser_dialog_view_->GetDialogClientView()->ok_button(); 54 ok_button_ = chooser_dialog_view_->GetDialogClientView()->ok_button();
46 ASSERT_TRUE(ok_button_); 55 ASSERT_TRUE(ok_button_);
47 cancel_button_ = 56 cancel_button_ =
48 chooser_dialog_view_->GetDialogClientView()->cancel_button(); 57 chooser_dialog_view_->GetDialogClientView()->cancel_button();
49 ASSERT_TRUE(cancel_button_); 58 ASSERT_TRUE(cancel_button_);
50 } 59 }
51 60
52 // views::ViewsTestBase: 61 // views::ViewsTestBase:
53 void TearDown() override { 62 void TearDown() override {
54 dialog_->CloseNow(); 63 dialog_->CloseNow();
64 parent_widget.CloseNow();
55 views::ViewsTestBase::TearDown(); 65 views::ViewsTestBase::TearDown();
56 } 66 }
57 67
58 protected: 68 protected:
59 MockChooserController* mock_chooser_controller_; 69 MockChooserController* mock_chooser_controller_;
60 ChooserDialogView* chooser_dialog_view_; 70 ChooserDialogView* chooser_dialog_view_;
61 std::unique_ptr<views::StyledLabel> footnote_link_; 71 views::Widget parent_widget;
sky 2016/11/09 17:55:47 parent_widget_. Also, I think it better to wrap th
juncai 2016/11/09 20:25:02 Done.
62 views::TableView* table_view_; 72 views::TableView* table_view_;
63 views::LabelButton* ok_button_; 73 views::LabelButton* ok_button_;
64 views::LabelButton* cancel_button_; 74 views::LabelButton* cancel_button_;
65 views::Widget* dialog_; 75 views::Widget* dialog_;
66 76
67 private: 77 private:
68 DISALLOW_COPY_AND_ASSIGN(ChooserDialogViewTest); 78 DISALLOW_COPY_AND_ASSIGN(ChooserDialogViewTest);
69 }; 79 };
70 80
71 TEST_F(ChooserDialogViewTest, InitialState) { 81 TEST_F(ChooserDialogViewTest, InitialState) {
(...skipping 300 matching lines...) Expand 10 before | Expand all | Expand 10 after
372 EXPECT_TRUE(cancel_button_->enabled()); 382 EXPECT_TRUE(cancel_button_->enabled());
373 table_view_->Select(0); 383 table_view_->Select(0);
374 EXPECT_TRUE(ok_button_->enabled()); 384 EXPECT_TRUE(ok_button_->enabled());
375 EXPECT_TRUE(cancel_button_->enabled()); 385 EXPECT_TRUE(cancel_button_->enabled());
376 386
377 mock_chooser_controller_->OnDiscoveryStateChanged( 387 mock_chooser_controller_->OnDiscoveryStateChanged(
378 content::BluetoothChooser::DiscoveryState::IDLE); 388 content::BluetoothChooser::DiscoveryState::IDLE);
379 EXPECT_TRUE(ok_button_->enabled()); 389 EXPECT_TRUE(ok_button_->enabled());
380 EXPECT_TRUE(cancel_button_->enabled()); 390 EXPECT_TRUE(cancel_button_->enabled());
381 } 391 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698