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

Side by Side Diff: chrome/browser/password_manager/native_backend_gnome_x_unittest.cc

Issue 2565173002: Remove ScopedVector from PasswordStoreX (Closed)
Patch Set: back_inserter, no =nullptr, drop autofill:: Created 4 years 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include <stdarg.h> 5 #include <stdarg.h>
6 #include <stddef.h> 6 #include <stddef.h>
7 #include <stdint.h> 7 #include <stdint.h>
8 8
9 #include <map> 9 #include <map>
10 #include <utility> 10 #include <utility>
(...skipping 523 matching lines...) Expand 10 before | Expand all | Expand 10 after
534 base::Unretained(&backend), 534 base::Unretained(&backend),
535 credentials)); 535 credentials));
536 536
537 PasswordStore::FormDigest target_form = {scheme, url.spec(), url}; 537 PasswordStore::FormDigest target_form = {scheme, url.spec(), url};
538 if (scheme != PasswordForm::SCHEME_HTML) { 538 if (scheme != PasswordForm::SCHEME_HTML) {
539 // For non-HTML forms, the realm used for authentication 539 // For non-HTML forms, the realm used for authentication
540 // (http://tools.ietf.org/html/rfc1945#section-10.2) is appended to the 540 // (http://tools.ietf.org/html/rfc1945#section-10.2) is appended to the
541 // signon_realm. Just use a default value for now. 541 // signon_realm. Just use a default value for now.
542 target_form.signon_realm.append("Realm"); 542 target_form.signon_realm.append("Realm");
543 } 543 }
544 ScopedVector<autofill::PasswordForm> form_list; 544 std::vector<std::unique_ptr<PasswordForm>> form_list;
545 BrowserThread::PostTaskAndReplyWithResult( 545 BrowserThread::PostTaskAndReplyWithResult(
546 BrowserThread::DB, 546 BrowserThread::DB,
547 FROM_HERE, 547 FROM_HERE,
548 base::Bind(&NativeBackendGnome::GetLogins, 548 base::Bind(&NativeBackendGnome::GetLogins,
549 base::Unretained(&backend), 549 base::Unretained(&backend),
550 target_form, 550 target_form,
551 &form_list), 551 &form_list),
552 base::Bind(&CheckTrue)); 552 base::Bind(&CheckTrue));
553 553
554 RunBothThreads(); 554 RunBothThreads();
(...skipping 28 matching lines...) Expand all
583 base::Unretained(&backend), 583 base::Unretained(&backend),
584 form_facebook_), 584 form_facebook_),
585 base::Bind(&CheckPasswordChanges, 585 base::Bind(&CheckPasswordChanges,
586 PasswordStoreChangeList(1, PasswordStoreChange( 586 PasswordStoreChangeList(1, PasswordStoreChange(
587 PasswordStoreChange::ADD, form_facebook_)))); 587 PasswordStoreChange::ADD, form_facebook_))));
588 588
589 // Get the PSL-matched copy of the saved login for m.facebook. 589 // Get the PSL-matched copy of the saved login for m.facebook.
590 const GURL kMobileURL("http://m.facebook.com/"); 590 const GURL kMobileURL("http://m.facebook.com/");
591 PasswordStore::FormDigest m_facebook_lookup = { 591 PasswordStore::FormDigest m_facebook_lookup = {
592 PasswordForm::SCHEME_HTML, kMobileURL.spec(), kMobileURL}; 592 PasswordForm::SCHEME_HTML, kMobileURL.spec(), kMobileURL};
593 ScopedVector<autofill::PasswordForm> form_list; 593 std::vector<std::unique_ptr<PasswordForm>> form_list;
594 BrowserThread::PostTaskAndReplyWithResult( 594 BrowserThread::PostTaskAndReplyWithResult(
595 BrowserThread::DB, 595 BrowserThread::DB,
596 FROM_HERE, 596 FROM_HERE,
597 base::Bind(&NativeBackendGnome::GetLogins, 597 base::Bind(&NativeBackendGnome::GetLogins,
598 base::Unretained(&backend), 598 base::Unretained(&backend),
599 m_facebook_lookup, 599 m_facebook_lookup,
600 &form_list), 600 &form_list),
601 base::Bind(&CheckTrue)); 601 base::Bind(&CheckTrue));
602 RunBothThreads(); 602 RunBothThreads();
603 EXPECT_EQ(1u, mock_keyring_items.size()); 603 EXPECT_EQ(1u, mock_keyring_items.size());
(...skipping 216 matching lines...) Expand 10 before | Expand all | Expand 10 after
820 820
821 TEST_F(NativeBackendGnomeTest, BasicListLogins) { 821 TEST_F(NativeBackendGnomeTest, BasicListLogins) {
822 NativeBackendGnome backend(42); 822 NativeBackendGnome backend(42);
823 backend.Init(); 823 backend.Init();
824 824
825 BrowserThread::PostTask( 825 BrowserThread::PostTask(
826 BrowserThread::DB, FROM_HERE, 826 BrowserThread::DB, FROM_HERE,
827 base::Bind(base::IgnoreResult(&NativeBackendGnome::AddLogin), 827 base::Bind(base::IgnoreResult(&NativeBackendGnome::AddLogin),
828 base::Unretained(&backend), form_google_)); 828 base::Unretained(&backend), form_google_));
829 829
830 ScopedVector<autofill::PasswordForm> form_list; 830 std::vector<std::unique_ptr<PasswordForm>> form_list;
831 BrowserThread::PostTaskAndReplyWithResult( 831 BrowserThread::PostTaskAndReplyWithResult(
832 BrowserThread::DB, FROM_HERE, 832 BrowserThread::DB, FROM_HERE,
833 base::Bind(&NativeBackendGnome::GetAutofillableLogins, 833 base::Bind(&NativeBackendGnome::GetAutofillableLogins,
834 base::Unretained(&backend), &form_list), 834 base::Unretained(&backend), &form_list),
835 base::Bind(&CheckTrue)); 835 base::Bind(&CheckTrue));
836 836
837 RunBothThreads(); 837 RunBothThreads();
838 838
839 // Quick check that we got something back. 839 // Quick check that we got something back.
840 EXPECT_EQ(1u, form_list.size()); 840 EXPECT_EQ(1u, form_list.size());
(...skipping 172 matching lines...) Expand 10 before | Expand all | Expand 10 after
1013 // Attempt to remove a login that doesn't exist. 1013 // Attempt to remove a login that doesn't exist.
1014 PasswordStoreChangeList changes; 1014 PasswordStoreChangeList changes;
1015 BrowserThread::PostTaskAndReplyWithResult( 1015 BrowserThread::PostTaskAndReplyWithResult(
1016 BrowserThread::DB, FROM_HERE, 1016 BrowserThread::DB, FROM_HERE,
1017 base::Bind(&NativeBackendGnome::RemoveLogin, 1017 base::Bind(&NativeBackendGnome::RemoveLogin,
1018 base::Unretained(&backend), form_isc_, &changes), 1018 base::Unretained(&backend), form_isc_, &changes),
1019 base::Bind(&CheckPasswordChangesWithResult, 1019 base::Bind(&CheckPasswordChangesWithResult,
1020 base::Owned(new PasswordStoreChangeList), &changes)); 1020 base::Owned(new PasswordStoreChangeList), &changes));
1021 1021
1022 // Make sure we can still get the first form back. 1022 // Make sure we can still get the first form back.
1023 ScopedVector<autofill::PasswordForm> form_list; 1023 std::vector<std::unique_ptr<PasswordForm>> form_list;
1024 BrowserThread::PostTaskAndReplyWithResult( 1024 BrowserThread::PostTaskAndReplyWithResult(
1025 BrowserThread::DB, FROM_HERE, 1025 BrowserThread::DB, FROM_HERE,
1026 base::Bind(&NativeBackendGnome::GetAutofillableLogins, 1026 base::Bind(&NativeBackendGnome::GetAutofillableLogins,
1027 base::Unretained(&backend), &form_list), 1027 base::Unretained(&backend), &form_list),
1028 base::Bind(&CheckTrue)); 1028 base::Bind(&CheckTrue));
1029 1029
1030 RunBothThreads(); 1030 RunBothThreads();
1031 1031
1032 // Quick check that we got something back. 1032 // Quick check that we got something back.
1033 EXPECT_EQ(1u, form_list.size()); 1033 EXPECT_EQ(1u, form_list.size());
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after
1150 1150
1151 PasswordStore::FormDigest observed_android_form(saved_android_form); 1151 PasswordStore::FormDigest observed_android_form(saved_android_form);
1152 BrowserThread::PostTaskAndReplyWithResult( 1152 BrowserThread::PostTaskAndReplyWithResult(
1153 BrowserThread::DB, FROM_HERE, 1153 BrowserThread::DB, FROM_HERE,
1154 base::Bind(&NativeBackendGnome::AddLogin, 1154 base::Bind(&NativeBackendGnome::AddLogin,
1155 base::Unretained(&backend), saved_android_form), 1155 base::Unretained(&backend), saved_android_form),
1156 base::Bind(&CheckPasswordChanges, 1156 base::Bind(&CheckPasswordChanges,
1157 PasswordStoreChangeList(1, PasswordStoreChange( 1157 PasswordStoreChangeList(1, PasswordStoreChange(
1158 PasswordStoreChange::ADD, saved_android_form)))); 1158 PasswordStoreChange::ADD, saved_android_form))));
1159 1159
1160 ScopedVector<autofill::PasswordForm> form_list; 1160 std::vector<std::unique_ptr<PasswordForm>> form_list;
1161 BrowserThread::PostTaskAndReplyWithResult( 1161 BrowserThread::PostTaskAndReplyWithResult(
1162 BrowserThread::DB, FROM_HERE, 1162 BrowserThread::DB, FROM_HERE,
1163 base::Bind(&NativeBackendGnome::GetLogins, 1163 base::Bind(&NativeBackendGnome::GetLogins,
1164 base::Unretained(&backend), observed_android_form, 1164 base::Unretained(&backend), observed_android_form,
1165 &form_list), 1165 &form_list),
1166 base::Bind(&CheckTrue)); 1166 base::Bind(&CheckTrue));
1167 1167
1168 RunBothThreads(); 1168 RunBothThreads();
1169 1169
1170 EXPECT_EQ(1u, form_list.size()); 1170 EXPECT_EQ(1u, form_list.size());
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after
1256 MockKeyringItem::attribute_map::iterator it = 1256 MockKeyringItem::attribute_map::iterator it =
1257 mock_keyring_items[0].attributes.find("origin_url"); 1257 mock_keyring_items[0].attributes.find("origin_url");
1258 ASSERT_NE(mock_keyring_items[0].attributes.end(), it); 1258 ASSERT_NE(mock_keyring_items[0].attributes.end(), it);
1259 size_t position = it->second.value_string.find(unique_string); 1259 size_t position = it->second.value_string.find(unique_string);
1260 ASSERT_NE(std::string::npos, position) << it->second.value_string; 1260 ASSERT_NE(std::string::npos, position) << it->second.value_string;
1261 it->second.value_string.replace( 1261 it->second.value_string.replace(
1262 position, std::string(unique_string_replacement).length(), 1262 position, std::string(unique_string_replacement).length(),
1263 unique_string_replacement); 1263 unique_string_replacement);
1264 1264
1265 // Now test that GetAutofillableLogins returns only one form. 1265 // Now test that GetAutofillableLogins returns only one form.
1266 ScopedVector<autofill::PasswordForm> form_list; 1266 std::vector<std::unique_ptr<PasswordForm>> form_list;
1267 BrowserThread::PostTaskAndReplyWithResult( 1267 BrowserThread::PostTaskAndReplyWithResult(
1268 BrowserThread::DB, FROM_HERE, 1268 BrowserThread::DB, FROM_HERE,
1269 base::Bind(&NativeBackendGnome::GetAutofillableLogins, 1269 base::Bind(&NativeBackendGnome::GetAutofillableLogins,
1270 base::Unretained(&backend), &form_list), 1270 base::Unretained(&backend), &form_list),
1271 base::Bind(&CheckTrue)); 1271 base::Bind(&CheckTrue));
1272 RunBothThreads(); 1272 RunBothThreads();
1273 1273
1274 EXPECT_EQ(1u, form_list.size()); 1274 EXPECT_EQ(1u, form_list.size());
1275 EXPECT_EQ(form_google_, *form_list[0]); 1275 EXPECT_EQ(form_google_, *form_list[0]);
1276 1276
1277 EXPECT_EQ(1u, mock_keyring_items.size()); 1277 EXPECT_EQ(1u, mock_keyring_items.size());
1278 if (mock_keyring_items.size() > 0) 1278 if (mock_keyring_items.size() > 0)
1279 CheckMockKeyringItem(&mock_keyring_items[0], form_google_, "chrome-42"); 1279 CheckMockKeyringItem(&mock_keyring_items[0], form_google_, "chrome-42");
1280 } 1280 }
1281 1281
1282 TEST_F(NativeBackendGnomeTest, GetAllLogins) { 1282 TEST_F(NativeBackendGnomeTest, GetAllLogins) {
1283 NativeBackendGnome backend(42); 1283 NativeBackendGnome backend(42);
1284 backend.Init(); 1284 backend.Init();
1285 1285
1286 BrowserThread::PostTask( 1286 BrowserThread::PostTask(
1287 BrowserThread::DB, FROM_HERE, 1287 BrowserThread::DB, FROM_HERE,
1288 base::Bind(base::IgnoreResult(&NativeBackendGnome::AddLogin), 1288 base::Bind(base::IgnoreResult(&NativeBackendGnome::AddLogin),
1289 base::Unretained(&backend), form_google_)); 1289 base::Unretained(&backend), form_google_));
1290 1290
1291 BrowserThread::PostTask( 1291 BrowserThread::PostTask(
1292 BrowserThread::DB, FROM_HERE, 1292 BrowserThread::DB, FROM_HERE,
1293 base::Bind(base::IgnoreResult(&NativeBackendGnome::AddLogin), 1293 base::Bind(base::IgnoreResult(&NativeBackendGnome::AddLogin),
1294 base::Unretained(&backend), form_facebook_)); 1294 base::Unretained(&backend), form_facebook_));
1295 1295
1296 ScopedVector<autofill::PasswordForm> form_list; 1296 std::vector<std::unique_ptr<PasswordForm>> form_list;
1297 BrowserThread::PostTaskAndReplyWithResult( 1297 BrowserThread::PostTaskAndReplyWithResult(
1298 BrowserThread::DB, FROM_HERE, 1298 BrowserThread::DB, FROM_HERE,
1299 base::Bind(&NativeBackendGnome::GetAllLogins, base::Unretained(&backend), 1299 base::Bind(&NativeBackendGnome::GetAllLogins, base::Unretained(&backend),
1300 &form_list), 1300 &form_list),
1301 base::Bind(&CheckTrue)); 1301 base::Bind(&CheckTrue));
1302 1302
1303 RunBothThreads(); 1303 RunBothThreads();
1304 1304
1305 EXPECT_EQ(2u, form_list.size()); 1305 EXPECT_EQ(2u, form_list.size());
1306 EXPECT_THAT(form_list, UnorderedElementsAre(Pointee(form_google_), 1306 EXPECT_THAT(form_list, UnorderedElementsAre(Pointee(form_google_),
1307 Pointee(form_facebook_))); 1307 Pointee(form_facebook_)));
1308 } 1308 }
1309 1309
1310 // TODO(mdm): add more basic tests here at some point. 1310 // TODO(mdm): add more basic tests here at some point.
OLDNEW
« no previous file with comments | « chrome/browser/password_manager/native_backend_gnome_x.cc ('k') | chrome/browser/password_manager/native_backend_kwallet_x.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698