Index: components/autofill/core/browser/ui/card_unmask_prompt_controller_impl_unittest.cc |
diff --git a/chrome/browser/ui/autofill/card_unmask_prompt_controller_impl_unittest.cc b/components/autofill/core/browser/ui/card_unmask_prompt_controller_impl_unittest.cc |
similarity index 87% |
rename from chrome/browser/ui/autofill/card_unmask_prompt_controller_impl_unittest.cc |
rename to components/autofill/core/browser/ui/card_unmask_prompt_controller_impl_unittest.cc |
index 86f1c11a517861351b229df7d10067b3381765f9..f45e79e1c421447f7518329cc71ace509c511cbc 100644 |
--- a/chrome/browser/ui/autofill/card_unmask_prompt_controller_impl_unittest.cc |
+++ b/components/autofill/core/browser/ui/card_unmask_prompt_controller_impl_unittest.cc |
@@ -2,24 +2,19 @@ |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
-#include "chrome/browser/ui/autofill/card_unmask_prompt_controller_impl.h" |
+#include "components/autofill/core/browser/ui/card_unmask_prompt_controller_impl.h" |
#include "base/bind.h" |
-#include "base/message_loop/message_loop.h" |
-#include "base/prefs/pref_service.h" |
+#include "base/prefs/pref_registry_simple.h" |
+#include "base/prefs/testing_pref_service.h" |
#include "base/strings/utf_string_conversions.h" |
#include "base/test/histogram_tester.h" |
-#include "chrome/browser/autofill/risk_util.h" |
-#include "chrome/browser/ui/autofill/card_unmask_prompt_view.h" |
-#include "chrome/test/base/chrome_render_view_host_test_harness.h" |
#include "components/autofill/core/browser/autofill_client.h" |
#include "components/autofill/core/browser/autofill_metrics.h" |
#include "components/autofill/core/browser/autofill_test_utils.h" |
+#include "components/autofill/core/browser/ui/card_unmask_prompt_view.h" |
#include "components/autofill/core/common/autofill_pref_names.h" |
-#include "components/user_prefs/user_prefs.h" |
-#include "content/public/browser/browser_context.h" |
-#include "content/public/browser/web_contents.h" |
-#include "content/public/test/test_utils.h" |
+#include "testing/gtest/include/gtest/gtest.h" |
namespace autofill { |
@@ -52,32 +47,30 @@ class TestCardUnmaskDelegate : public CardUnmaskDelegate { |
class TestCardUnmaskPromptView : public CardUnmaskPromptView { |
public: |
+ void Show() override {} |
void ControllerGone() override {} |
void DisableAndWaitForVerification() override {} |
void GotVerificationResult(const base::string16& error_message, |
bool allow_retry) override {} |
}; |
+void TestGetRiskData(const base::Callback<void(const std::string&)>& callback) { |
+ callback.Run("some risk data"); |
+} |
+ |
class TestCardUnmaskPromptController : public CardUnmaskPromptControllerImpl { |
public: |
- TestCardUnmaskPromptController( |
- content::WebContents* contents, |
- TestCardUnmaskPromptView* test_unmask_prompt_view, |
- scoped_refptr<content::MessageLoopRunner> runner) |
- : CardUnmaskPromptControllerImpl(contents, |
- base::Bind(&LoadRiskData, 0, contents), |
- user_prefs::UserPrefs::Get(contents->GetBrowserContext()), false), |
- test_unmask_prompt_view_(test_unmask_prompt_view), |
+ explicit TestCardUnmaskPromptController( |
+ TestingPrefServiceSimple* pref_service) |
+ : CardUnmaskPromptControllerImpl( |
+ base::Bind(&TestGetRiskData), pref_service, false), |
can_store_locally_(true), |
- runner_(runner), |
weak_factory_(this) {} |
- CardUnmaskPromptView* CreateAndShowView() override { |
- return test_unmask_prompt_view_; |
- } |
void LoadRiskFingerprint() override { |
OnDidLoadRiskFingerprint("risk aversion"); |
} |
+ |
bool CanStoreLocally() const override { return can_store_locally_; } |
void set_can_store_locally(bool can) { can_store_locally_ = can; } |
@@ -87,40 +80,35 @@ class TestCardUnmaskPromptController : public CardUnmaskPromptControllerImpl { |
} |
private: |
- TestCardUnmaskPromptView* test_unmask_prompt_view_; |
bool can_store_locally_; |
- scoped_refptr<content::MessageLoopRunner> runner_; |
base::WeakPtrFactory<TestCardUnmaskPromptController> weak_factory_; |
DISALLOW_COPY_AND_ASSIGN(TestCardUnmaskPromptController); |
}; |
-class CardUnmaskPromptControllerImplTest |
- : public ChromeRenderViewHostTestHarness { |
+class CardUnmaskPromptControllerImplTest : public testing::Test { |
public: |
CardUnmaskPromptControllerImplTest() {} |
~CardUnmaskPromptControllerImplTest() override {} |
void SetUp() override { |
- ChromeRenderViewHostTestHarness::SetUp(); |
test_unmask_prompt_view_.reset(new TestCardUnmaskPromptView()); |
- controller_.reset(new TestCardUnmaskPromptController( |
- web_contents(), test_unmask_prompt_view_.get(), runner_)); |
+ pref_service_.reset(new TestingPrefServiceSimple()); |
+ controller_.reset(new TestCardUnmaskPromptController(pref_service_.get())); |
delegate_.reset(new TestCardUnmaskDelegate()); |
- SetImportCheckboxState(false); |
- } |
- |
- void TearDown() override { |
- ChromeRenderViewHostTestHarness::TearDown(); |
+ pref_service_->registry()->RegisterBooleanPref( |
+ prefs::kAutofillWalletImportStorageCheckboxState, false); |
} |
void ShowPrompt() { |
- controller_->ShowPrompt(test::GetMaskedServerCard(), |
+ controller_->ShowPrompt(test_unmask_prompt_view_.get(), |
+ test::GetMaskedServerCard(), |
delegate_->GetWeakPtr()); |
} |
void ShowPromptAmex() { |
- controller_->ShowPrompt(test::GetMaskedServerCardAmex(), |
+ controller_->ShowPrompt(test_unmask_prompt_view_.get(), |
+ test::GetMaskedServerCardAmex(), |
delegate_->GetWeakPtr()); |
} |
@@ -132,20 +120,18 @@ class CardUnmaskPromptControllerImplTest |
should_store_pan); |
EXPECT_EQ( |
should_store_pan, |
- user_prefs::UserPrefs::Get(web_contents()->GetBrowserContext()) |
- ->GetBoolean(prefs::kAutofillWalletImportStorageCheckboxState)); |
+ pref_service_->GetBoolean( |
+ prefs::kAutofillWalletImportStorageCheckboxState)); |
} |
protected: |
void SetImportCheckboxState(bool value) { |
- user_prefs::UserPrefs::Get(web_contents()->GetBrowserContext()) |
- ->SetBoolean(prefs::kAutofillWalletImportStorageCheckboxState, value); |
+ pref_service_->SetBoolean( |
+ prefs::kAutofillWalletImportStorageCheckboxState, value); |
} |
- // This member must outlive the controller. |
- scoped_refptr<content::MessageLoopRunner> runner_; |
- |
scoped_ptr<TestCardUnmaskPromptView> test_unmask_prompt_view_; |
+ scoped_ptr<TestingPrefServiceSimple> pref_service_; |
scoped_ptr<TestCardUnmaskPromptController> controller_; |
scoped_ptr<TestCardUnmaskDelegate> delegate_; |
@@ -197,8 +183,8 @@ TEST_F(CardUnmaskPromptControllerImplTest, LogClosedFailedToUnmaskRetriable) { |
1); |
} |
-TEST_F(CardUnmaskPromptControllerImplTest, LogClosedFailedToUnmaskNonRetriable) |
- { |
+TEST_F(CardUnmaskPromptControllerImplTest, |
+ LogClosedFailedToUnmaskNonRetriable) { |
ShowPromptAndSimulateResponse(false); |
controller_->OnVerificationResult(AutofillClient::PERMANENT_FAILURE); |
base::HistogramTester histogram_tester; |