Chromium Code Reviews| Index: chrome/browser/password_manager/native_backend_gnome_x_unittest.cc |
| diff --git a/chrome/browser/password_manager/native_backend_gnome_x_unittest.cc b/chrome/browser/password_manager/native_backend_gnome_x_unittest.cc |
| index 13905592a384c9e30992b1ea3206658cee8d84d5..726ade03a6d67adebabf67075a6d01dd82e19c7d 100644 |
| --- a/chrome/browser/password_manager/native_backend_gnome_x_unittest.cc |
| +++ b/chrome/browser/password_manager/native_backend_gnome_x_unittest.cc |
| @@ -324,6 +324,12 @@ class NativeBackendGnomeTest : public testing::Test { |
| form_isc_.password_value = UTF8ToUTF16("ihazabukkit"); |
| form_isc_.submit_element = UTF8ToUTF16("login"); |
| form_isc_.signon_realm = "http://www.isc.org/"; |
| + |
| + basic_auth_.origin = GURL("http://www.example.com/"); |
| + basic_auth_.username_value = UTF8ToUTF16("username"); |
| + basic_auth_.password_value = UTF8ToUTF16("pass"); |
| + basic_auth_.signon_realm = "http://www.example.com/Realm"; |
| + basic_auth_.scheme = PasswordForm::SCHEME_BASIC; |
| } |
| virtual void TearDown() { |
| @@ -407,6 +413,7 @@ class NativeBackendGnomeTest : public testing::Test { |
| // derived from |credentials|.) |
| bool CheckCredentialAvailability(const PasswordForm& credentials, |
| const GURL& url, |
| + const std::string& realm, |
|
vabr (Chromium)
2014/05/07 07:57:38
Please explain the meaning of |realm| in the comme
Garrett Casto
2014/05/08 20:01:20
Done.
|
| PasswordForm* result) { |
| NativeBackendGnome backend(321); |
| backend.Init(); |
| @@ -421,6 +428,10 @@ class NativeBackendGnomeTest : public testing::Test { |
| PasswordForm target_form; |
| target_form.origin = url; |
| target_form.signon_realm = url.spec(); |
| + if (!realm.empty()) { |
| + target_form.signon_realm.append(realm); |
| + target_form.scheme = PasswordForm::SCHEME_BASIC; |
| + } |
| std::vector<PasswordForm*> form_list; |
| BrowserThread::PostTask( |
| BrowserThread::DB, |
| @@ -435,6 +446,7 @@ class NativeBackendGnomeTest : public testing::Test { |
| EXPECT_EQ(1u, mock_keyring_items.size()); |
| if (mock_keyring_items.size() > 0) |
| CheckMockKeyringItem(&mock_keyring_items[0], credentials, "chrome-321"); |
| + mock_keyring_items.clear(); |
| if (form_list.empty()) |
| return false; |
| @@ -572,6 +584,7 @@ class NativeBackendGnomeTest : public testing::Test { |
| PasswordForm form_google_; |
| PasswordForm form_facebook_; |
| PasswordForm form_isc_; |
| + PasswordForm basic_auth_; |
| }; |
| TEST_F(NativeBackendGnomeTest, BasicAddLogin) { |
| @@ -623,7 +636,8 @@ TEST_F(NativeBackendGnomeTest, PSLMatchingPositive) { |
| const GURL kMobileURL("http://m.facebook.com/"); |
| password_manager::PSLMatchingHelper helper; |
| ASSERT_TRUE(helper.IsMatchingEnabled()); |
| - EXPECT_TRUE(CheckCredentialAvailability(form_facebook_, kMobileURL, &result)); |
| + EXPECT_TRUE(CheckCredentialAvailability( |
| + form_facebook_, kMobileURL, "", &result)); |
| EXPECT_EQ(kMobileURL, result.origin); |
| EXPECT_EQ(kMobileURL.spec(), result.signon_realm); |
| } |
| @@ -634,7 +648,7 @@ TEST_F(NativeBackendGnomeTest, PSLMatchingNegativeDomainMismatch) { |
| password_manager::PSLMatchingHelper helper; |
| ASSERT_TRUE(helper.IsMatchingEnabled()); |
| EXPECT_FALSE(CheckCredentialAvailability( |
| - form_facebook_, GURL("http://m-facebook.com/"), NULL)); |
| + form_facebook_, GURL("http://m-facebook.com/"), "", NULL)); |
| } |
| // Test PSL matching is off for domains excluded from it. |
| @@ -642,7 +656,22 @@ TEST_F(NativeBackendGnomeTest, PSLMatchingDisabledDomains) { |
| password_manager::PSLMatchingHelper helper; |
| ASSERT_TRUE(helper.IsMatchingEnabled()); |
| EXPECT_FALSE(CheckCredentialAvailability( |
| - form_google_, GURL("http://one.google.com/"), NULL)); |
| + form_google_, GURL("http://one.google.com/"), "", NULL)); |
| +} |
| + |
| +// Make sure PSL matches aren't available for non-HTML forms. |
| +TEST_F(NativeBackendGnomeTest, PSLMatchingDisabledForNonHTMLForms) { |
|
vabr (Chromium)
2014/05/07 07:57:38
The code change applies to all possible schemes, b
Garrett Casto
2014/05/08 20:01:20
Done.
|
| + password_manager::PSLMatchingHelper helper; |
| + ASSERT_TRUE(helper.IsMatchingEnabled()); |
| + // Don't match basic auth form with an HTML form. |
| + EXPECT_FALSE(CheckCredentialAvailability( |
| + basic_auth_, GURL("http://www.example.com"), "", NULL)); |
| + // Don't match an HTML form with a basic auth form. |
| + EXPECT_FALSE(CheckCredentialAvailability( |
| + form_google_, GURL("http://www.google.com/"), "Realm", NULL)); |
| + // Don't match two different basic auth forms with different origin. |
| + EXPECT_FALSE(CheckCredentialAvailability( |
| + basic_auth_, GURL("http://first.example.com"), "Realm", NULL)); |
| } |
| TEST_F(NativeBackendGnomeTest, PSLUpdatingStrictUpdateLogin) { |