| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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/translate/translate_bubble_view.h" | 5 #include "chrome/browser/ui/views/translate/translate_bubble_view.h" |
| 6 | 6 |
| 7 #include <memory> | 7 #include <memory> |
| 8 #include <utility> | 8 #include <utility> |
| 9 | 9 |
| 10 #include "base/strings/utf_string_conversions.h" | 10 #include "base/strings/utf_string_conversions.h" |
| 11 #include "base/test/scoped_feature_list.h" |
| 11 #include "chrome/browser/ui/translate/translate_bubble_model.h" | 12 #include "chrome/browser/ui/translate/translate_bubble_model.h" |
| 12 #include "chrome/browser/ui/translate/translate_bubble_view_state_transition.h" | 13 #include "chrome/browser/ui/translate/translate_bubble_view_state_transition.h" |
| 14 #include "components/translate/core/browser/translate_prefs.h" |
| 13 #include "testing/gtest/include/gtest/gtest.h" | 15 #include "testing/gtest/include/gtest/gtest.h" |
| 14 #include "ui/events/event_constants.h" | 16 #include "ui/events/event_constants.h" |
| 15 #include "ui/events/event_utils.h" | 17 #include "ui/events/event_utils.h" |
| 16 #include "ui/gfx/range/range.h" | 18 #include "ui/gfx/range/range.h" |
| 17 #include "ui/views/bubble/bubble_frame_view.h" | 19 #include "ui/views/bubble/bubble_frame_view.h" |
| 18 #include "ui/views/controls/button/checkbox.h" | 20 #include "ui/views/controls/button/checkbox.h" |
| 19 #include "ui/views/controls/combobox/combobox.h" | 21 #include "ui/views/controls/combobox/combobox.h" |
| 20 #include "ui/views/controls/styled_label.h" | 22 #include "ui/views/controls/styled_label.h" |
| 21 #include "ui/views/test/combobox_test_api.h" | 23 #include "ui/views/test/combobox_test_api.h" |
| 22 #include "ui/views/test/views_test_base.h" | 24 #include "ui/views/test/views_test_base.h" |
| (...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 147 views::Widget::InitParams params = | 149 views::Widget::InitParams params = |
| 148 CreateParams(views::Widget::InitParams::TYPE_WINDOW); | 150 CreateParams(views::Widget::InitParams::TYPE_WINDOW); |
| 149 params.ownership = views::Widget::InitParams::WIDGET_OWNS_NATIVE_WIDGET; | 151 params.ownership = views::Widget::InitParams::WIDGET_OWNS_NATIVE_WIDGET; |
| 150 | 152 |
| 151 anchor_widget_.reset(new views::Widget()); | 153 anchor_widget_.reset(new views::Widget()); |
| 152 anchor_widget_->Init(params); | 154 anchor_widget_->Init(params); |
| 153 anchor_widget_->Show(); | 155 anchor_widget_->Show(); |
| 154 | 156 |
| 155 mock_model_ = new MockTranslateBubbleModel( | 157 mock_model_ = new MockTranslateBubbleModel( |
| 156 TranslateBubbleModel::VIEW_STATE_BEFORE_TRANSLATE); | 158 TranslateBubbleModel::VIEW_STATE_BEFORE_TRANSLATE); |
| 157 | |
| 158 base::FeatureList::ClearInstanceForTesting(); | |
| 159 base::FeatureList::SetInstance(base::WrapUnique(new base::FeatureList)); | |
| 160 } | 159 } |
| 161 | 160 |
| 162 void TurnOnTranslate2016Q2UIFlag() { | 161 void TurnOnTranslate2016Q2UIFlag() { |
| 163 base::FeatureList::ClearInstanceForTesting(); | 162 scoped_feature_list_.InitAndEnableFeature(translate::kTranslateUI2016Q2); |
| 164 std::unique_ptr<base::FeatureList> feature_list(new base::FeatureList); | |
| 165 feature_list->InitializeFromCommandLine(translate::kTranslateUI2016Q2.name, | |
| 166 std::string()); | |
| 167 base::FeatureList::SetInstance(std::move(feature_list)); | |
| 168 } | 163 } |
| 169 | 164 |
| 170 void CreateAndShowBubble() { | 165 void CreateAndShowBubble() { |
| 171 std::unique_ptr<TranslateBubbleModel> model(mock_model_); | 166 std::unique_ptr<TranslateBubbleModel> model(mock_model_); |
| 172 bubble_ = new TranslateBubbleView(anchor_widget_->GetContentsView(), | 167 bubble_ = new TranslateBubbleView(anchor_widget_->GetContentsView(), |
| 173 std::move(model), | 168 std::move(model), |
| 174 translate::TranslateErrors::NONE, NULL); | 169 translate::TranslateErrors::NONE, NULL); |
| 175 views::BubbleDialogDelegateView::CreateBubble(bubble_)->Show(); | 170 views::BubbleDialogDelegateView::CreateBubble(bubble_)->Show(); |
| 176 } | 171 } |
| 177 | 172 |
| 178 void TearDown() override { | 173 void TearDown() override { |
| 179 bubble_->GetWidget()->CloseNow(); | 174 bubble_->GetWidget()->CloseNow(); |
| 180 anchor_widget_.reset(); | 175 anchor_widget_.reset(); |
| 181 | 176 |
| 182 views::ViewsTestBase::TearDown(); | 177 views::ViewsTestBase::TearDown(); |
| 183 } | 178 } |
| 184 | 179 |
| 185 views::Combobox* denial_combobox() { return bubble_->denial_combobox_; } | 180 views::Combobox* denial_combobox() { return bubble_->denial_combobox_; } |
| 186 bool denial_button_clicked() { return mock_model_->translation_declined_; } | 181 bool denial_button_clicked() { return mock_model_->translation_declined_; } |
| 187 | 182 |
| 188 std::unique_ptr<views::Widget> anchor_widget_; | 183 std::unique_ptr<views::Widget> anchor_widget_; |
| 189 MockTranslateBubbleModel* mock_model_; | 184 MockTranslateBubbleModel* mock_model_; |
| 190 TranslateBubbleView* bubble_; | 185 TranslateBubbleView* bubble_; |
| 186 base::test::ScopedFeatureList scoped_feature_list_; |
| 191 }; | 187 }; |
| 192 | 188 |
| 193 TEST_F(TranslateBubbleViewTest, TranslateButton) { | 189 TEST_F(TranslateBubbleViewTest, TranslateButton) { |
| 194 CreateAndShowBubble(); | 190 CreateAndShowBubble(); |
| 195 EXPECT_FALSE(mock_model_->translate_called_); | 191 EXPECT_FALSE(mock_model_->translate_called_); |
| 196 | 192 |
| 197 // Press the "Translate" button. | 193 // Press the "Translate" button. |
| 198 bubble_->HandleButtonPressed(TranslateBubbleView::BUTTON_ID_TRANSLATE); | 194 bubble_->HandleButtonPressed(TranslateBubbleView::BUTTON_ID_TRANSLATE); |
| 199 EXPECT_TRUE(mock_model_->translate_called_); | 195 EXPECT_TRUE(mock_model_->translate_called_); |
| 200 } | 196 } |
| (...skipping 261 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 462 TEST_F(TranslateBubbleViewTest, CancelButtonReturningError) { | 458 TEST_F(TranslateBubbleViewTest, CancelButtonReturningError) { |
| 463 CreateAndShowBubble(); | 459 CreateAndShowBubble(); |
| 464 bubble_->SwitchView(TranslateBubbleModel::VIEW_STATE_ERROR); | 460 bubble_->SwitchView(TranslateBubbleModel::VIEW_STATE_ERROR); |
| 465 bubble_->SwitchView(TranslateBubbleModel::VIEW_STATE_ADVANCED); | 461 bubble_->SwitchView(TranslateBubbleModel::VIEW_STATE_ADVANCED); |
| 466 | 462 |
| 467 // Click the "Cancel" button to go back. | 463 // Click the "Cancel" button to go back. |
| 468 EXPECT_EQ(TranslateBubbleModel::VIEW_STATE_ADVANCED, bubble_->GetViewState()); | 464 EXPECT_EQ(TranslateBubbleModel::VIEW_STATE_ADVANCED, bubble_->GetViewState()); |
| 469 bubble_->HandleButtonPressed(TranslateBubbleView::BUTTON_ID_CANCEL); | 465 bubble_->HandleButtonPressed(TranslateBubbleView::BUTTON_ID_CANCEL); |
| 470 EXPECT_EQ(TranslateBubbleModel::VIEW_STATE_ERROR, bubble_->GetViewState()); | 466 EXPECT_EQ(TranslateBubbleModel::VIEW_STATE_ERROR, bubble_->GetViewState()); |
| 471 } | 467 } |
| OLD | NEW |