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

Unified Diff: chrome/browser/autofill/password_autofill_manager_unittest.cc

Issue 9600038: Add Password Autofill Manager to New Autofill (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Adding password popup Created 8 years, 9 months 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/autofill/password_autofill_manager_unittest.cc
diff --git a/chrome/browser/autofill/password_autofill_manager_unittest.cc b/chrome/browser/autofill/password_autofill_manager_unittest.cc
new file mode 100644
index 0000000000000000000000000000000000000000..b0cd9939c32306840e51b2187bc8eaa7d0c102bc
--- /dev/null
+++ b/chrome/browser/autofill/password_autofill_manager_unittest.cc
@@ -0,0 +1,83 @@
+// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "base/compiler_specific.h"
+#include "base/utf_string_conversions.h"
+#include "chrome/browser/autofill/password_autofill_manager.h"
+#include "testing/gtest/include/gtest/gtest.h"
+
+namespace {
+
+// The name of the username/password element in the form.
+const char* const kUsernameName = "username";
+const char* const kPasswordName = "password";
+
+const char* const kAliceUsername = "alice";
+const char* const kAlicePassword = "password";
+
+const char* const kValue = "password";
+
+} // namespace
+
+class PasswordAutofillManagerTest : public testing::Test {
+ protected:
+ PasswordAutofillManagerTest() : password_autofill_manager_(NULL) {}
+
+ virtual void SetUp() OVERRIDE {
+ // Add a preferred login and an additional login to the FillData.
+ string16 username1 = ASCIIToUTF16(kAliceUsername);
+ string16 password1 = ASCIIToUTF16(kAlicePassword);
+
+ username_field_.name = ASCIIToUTF16(kUsernameName);
+ username_field_.value = username1;
+ fill_data_.basic_data.fields.push_back(username_field_);
+
+ webkit::forms::FormField password_field;
+ password_field.name = ASCIIToUTF16(kPasswordName);
+ password_field.value = password1;
+ fill_data_.basic_data.fields.push_back(password_field);
+
+ password_autofill_manager_.AddPasswordFormMapping(username_field_,
+ fill_data_);
+ }
+
+ PasswordAutofillManager* password_autofill_manager() {
+ return &password_autofill_manager_;
+ }
+
+ const webkit::forms::FormField& username_field() { return username_field_; }
+
+ private:
+ webkit::forms::PasswordFormFillData fill_data_;
+ webkit::forms::FormField username_field_;
+
+ PasswordAutofillManager password_autofill_manager_;
+};
+
+TEST_F(PasswordAutofillManagerTest, DidAcceptAutofillSuggestion) {
+ EXPECT_TRUE(password_autofill_manager()->DidAcceptAutofillSuggestion(
+ username_field(), ASCIIToUTF16(kValue)));
+
+ webkit::forms::FormField invalid_username;
+ invalid_username.name = ASCIIToUTF16(kUsernameName);
+ invalid_username.value = ASCIIToUTF16("no_user");
Ilya Sherman 2012/03/22 01:20:06 It looks like you've removed the test for the case
csharp 2012/03/23 15:25:24 Added back.
+
+ EXPECT_FALSE(password_autofill_manager()->DidAcceptAutofillSuggestion(
+ invalid_username, ASCIIToUTF16(kValue)));
+
+ password_autofill_manager()->Reset();
+
+ EXPECT_FALSE(password_autofill_manager()->DidAcceptAutofillSuggestion(
+ username_field(), ASCIIToUTF16(kValue)));
+}
+
+TEST_F(PasswordAutofillManagerTest, DidClearAutofillSelection) {
+ EXPECT_TRUE(password_autofill_manager()->DidClearAutofillSelection(
+ username_field()));
+
+ password_autofill_manager()->Reset();
+
+ EXPECT_FALSE(password_autofill_manager()->DidClearAutofillSelection(
+ username_field()));
+}

Powered by Google App Engine
This is Rietveld 408576698