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

Unified Diff: chrome/browser/password_manager/native_backend_libsecret_unittest.cc

Issue 891463002: Fill empty fields from keyring result with default values. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix comments. Created 5 years, 11 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/password_manager/native_backend_libsecret_unittest.cc
diff --git a/chrome/browser/password_manager/native_backend_libsecret_unittest.cc b/chrome/browser/password_manager/native_backend_libsecret_unittest.cc
index 88e63030e776f3f0fd164b2b6dd1c7ebc5652189..b7ae4be0ab034cf0484915a62bd5396cf6368b0e 100644
--- a/chrome/browser/password_manager/native_backend_libsecret_unittest.cc
+++ b/chrome/browser/password_manager/native_backend_libsecret_unittest.cc
@@ -48,6 +48,10 @@ struct MockSecretItem {
delete value;
g_hash_table_destroy(attributes);
}
+
+ void RemoveAttribute(const char* keyname) {
+ g_hash_table_remove(attributes, keyname);
+ }
};
bool Matches(MockSecretItem* item, GHashTable* query) {
@@ -818,4 +822,24 @@ TEST_F(NativeBackendLibsecretTest, RemoveLoginsSyncedBetween) {
CheckRemoveLoginsBetween(SYNCED);
}
+TEST_F(NativeBackendLibsecretTest, SomeKeyringAttributesAreMissing) {
+ // Absent attributes should be filled with default values.
+ NativeBackendLibsecret backend(42);
+
+ backend.AddLogin(form_google_);
+
+ EXPECT_EQ(1u, global_mock_libsecret_items.size());
+ // Remove a string attribute.
+ global_mock_libsecret_items[0]->RemoveAttribute("avatar_url");
+ // Remove an integer attribute.
+ global_mock_libsecret_items[0]->RemoveAttribute("ssl_valid");
+
+ ScopedVector<autofill::PasswordForm> form_list;
+ backend.GetAutofillableLogins(&form_list);
+
+ EXPECT_EQ(1u, form_list.size());
+ EXPECT_EQ(GURL(""), form_list[0]->avatar_url);
+ EXPECT_FALSE(form_list[0]->ssl_valid);
+}
+
// TODO(mdm): add more basic tests here at some point.

Powered by Google App Engine
This is Rietveld 408576698