Upstream version 7.36.149.0
[platform/framework/web/crosswalk.git] / src / components / password_manager / core / browser / password_manager_unittest.cc
index 44a5f39..4a4244b 100644 (file)
 #include "base/prefs/testing_pref_service.h"
 #include "base/strings/string_util.h"
 #include "base/strings/utf_string_conversions.h"
+#include "components/password_manager/core/browser/mock_password_manager_driver.h"
 #include "components/password_manager/core/browser/mock_password_store.h"
+#include "components/password_manager/core/browser/password_autofill_manager.h"
 #include "components/password_manager/core/browser/password_manager.h"
-#include "components/password_manager/core/browser/password_manager_client.h"
 #include "components/password_manager/core/browser/password_manager_driver.h"
 #include "components/password_manager/core/browser/password_store.h"
+#include "components/password_manager/core/browser/stub_password_manager_client.h"
 #include "components/password_manager/core/common/password_manager_pref_names.h"
 #include "testing/gmock/include/gmock/gmock.h"
 #include "testing/gtest/include/gtest/gtest.h"
@@ -34,38 +36,16 @@ namespace autofill {
 class AutofillManager;
 }
 
+namespace password_manager {
+
 namespace {
 
-class MockPasswordManagerClient : public PasswordManagerClient {
+class MockPasswordManagerClient : public StubPasswordManagerClient {
  public:
   MOCK_METHOD1(PromptUserToSavePassword, void(PasswordFormManager*));
   MOCK_METHOD0(GetPasswordStore, PasswordStore*());
   MOCK_METHOD0(GetPrefs, PrefService*());
   MOCK_METHOD0(GetDriver, PasswordManagerDriver*());
-  MOCK_METHOD1(GetProbabilityForExperiment,
-               base::FieldTrial::Probability(const std::string&));
-
-  // The following is required because GMock does not support move-only
-  // parameters.
-  MOCK_METHOD1(AuthenticateAutofillAndFillFormPtr,
-               void(autofill::PasswordFormFillData* fill_data));
-  virtual void AuthenticateAutofillAndFillForm(
-      scoped_ptr<autofill::PasswordFormFillData> fill_data) OVERRIDE {
-    return AuthenticateAutofillAndFillFormPtr(fill_data.release());
-  }
-};
-
-class MockPasswordManagerDriver : public PasswordManagerDriver {
- public:
-  MOCK_METHOD1(FillPasswordForm, void(const autofill::PasswordFormFillData&));
-  MOCK_METHOD0(DidLastPageLoadEncounterSSLErrors, bool());
-  MOCK_METHOD0(IsOffTheRecord, bool());
-  MOCK_METHOD0(GetPasswordGenerationManager, PasswordGenerationManager*());
-  MOCK_METHOD0(GetPasswordManager, PasswordManager*());
-  MOCK_METHOD0(GetAutofillManager, autofill::AutofillManager*());
-  MOCK_METHOD1(AllowPasswordGenerationForForm, void(autofill::PasswordForm*));
-  MOCK_METHOD1(AccountCreationFormsFound,
-               void(const std::vector<autofill::FormData>&));
 };
 
 ACTION_P(InvokeConsumer, forms) { arg0->OnGetPasswordStoreResults(forms); }
@@ -78,10 +58,6 @@ class TestPasswordManager : public PasswordManager {
       : PasswordManager(client) {}
   virtual ~TestPasswordManager() {}
 
-  virtual void OnPasswordFormSubmitted(const PasswordForm& form) OVERRIDE {
-    PasswordManager::OnPasswordFormSubmitted(form);
-  }
-
  private:
   DISALLOW_COPY_AND_ASSIGN(TestPasswordManager);
 };
@@ -102,6 +78,8 @@ class PasswordManagerTest : public testing::Test {
     EXPECT_CALL(client_, GetDriver()).WillRepeatedly(Return(&driver_));
 
     manager_.reset(new TestPasswordManager(&client_));
+    password_autofill_manager_.reset(
+        new PasswordAutofillManager(&client_, NULL));
 
     EXPECT_CALL(driver_, DidLastPageLoadEncounterSSLErrors())
         .WillRepeatedly(Return(false));
@@ -111,6 +89,8 @@ class PasswordManagerTest : public testing::Test {
     EXPECT_CALL(driver_, GetPasswordManager())
         .WillRepeatedly(Return(manager_.get()));
     EXPECT_CALL(driver_, AllowPasswordGenerationForForm(_)).Times(AnyNumber());
+    EXPECT_CALL(driver_, GetPasswordAutofillManager())
+        .WillRepeatedly(Return(password_autofill_manager_.get()));
 
     EXPECT_CALL(*store_, ReportMetricsImpl()).Times(AnyNumber());
   }
@@ -207,6 +187,7 @@ class PasswordManagerTest : public testing::Test {
   scoped_refptr<MockPasswordStore> store_;
   MockPasswordManagerClient client_;
   MockPasswordManagerDriver driver_;
+  scoped_ptr<PasswordAutofillManager> password_autofill_manager_;
   scoped_ptr<TestPasswordManager> manager_;
   PasswordForm submitted_form_;
 };
@@ -612,3 +593,5 @@ TEST_F(PasswordManagerTest, PasswordFormReappearance) {
   manager()->OnPasswordFormsParsed(observed);
   manager()->OnPasswordFormsRendered(observed);
 }
+
+}  // namespace password_manager