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

Unified Diff: components/autofill/browser/personal_data_manager_unittest.cc

Issue 14392005: Allowing PersonalDataManagerFactory to create a service while incognito. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 7 years, 8 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
« no previous file with comments | « components/autofill/browser/personal_data_manager.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: components/autofill/browser/personal_data_manager_unittest.cc
diff --git a/components/autofill/browser/personal_data_manager_unittest.cc b/components/autofill/browser/personal_data_manager_unittest.cc
index 99ad37422e6b87e699a82b8f44a19eaa68d0993a..9a513afa57f003bcaa2ff30e2f89f81bb9d70e00 100644
--- a/components/autofill/browser/personal_data_manager_unittest.cc
+++ b/components/autofill/browser/personal_data_manager_unittest.cc
@@ -103,6 +103,10 @@ class PersonalDataManagerTest : public testing::Test {
MessageLoop::current()->Run();
}
+ void MakeProfileIncognito() {
+ profile_->set_incognito(true);
+ }
+
MessageLoopForUI message_loop_;
content::TestBrowserThread ui_thread_;
content::TestBrowserThread db_thread_;
@@ -2039,4 +2043,74 @@ TEST_F(PersonalDataManagerTest, CaseInsensitiveMultiValueAggregation) {
EXPECT_EQ(0, expected.Compare(*results2[0]));
}
+TEST_F(PersonalDataManagerTest, IncognitoReadOnly) {
+ ASSERT_TRUE(personal_data_->GetProfiles().empty());
+ ASSERT_TRUE(personal_data_->credit_cards().empty());
+
+ AutofillProfile steve_jobs;
+ test::SetProfileInfo(&steve_jobs, "Steven", "Paul", "Jobs", "sjobs@apple.com",
+ "Apple Computer, Inc.", "1 Infinite Loop", "", "Cupertino", "CA", "95014",
+ "US", "(800) 275-2273");
+ personal_data_->AddProfile(steve_jobs);
+
+ CreditCard bill_gates;
+ test::SetCreditCardInfo(
+ &bill_gates, "William H. Gates", "5555555555554444", "1", "2020");
+ personal_data_->AddCreditCard(bill_gates);
+
+ ResetPersonalDataManager();
+ ASSERT_EQ(1U, personal_data_->GetProfiles().size());
+ ASSERT_EQ(1U, personal_data_->credit_cards().size());
+
+ // After this point no adds, saves, or updates should take effect.
+ MakeProfileIncognito();
+ EXPECT_CALL(personal_data_observer_, OnPersonalDataChanged()).Times(0);
+
+ // Add profiles or credit card shouldn't work.
+ personal_data_->AddProfile(test::GetFullProfile());
+
+ CreditCard larry_page;
+ test::SetCreditCardInfo(
+ &larry_page, "Lawrence Page", "4111111111111111", "10", "2025");
+ personal_data_->AddCreditCard(larry_page);
+
+ ResetPersonalDataManager();
+ EXPECT_EQ(1U, personal_data_->GetProfiles().size());
+ EXPECT_EQ(1U, personal_data_->credit_cards().size());
+
+ // Saving or creating profiles from imported profiles shouldn't work.
+ steve_jobs.SetRawInfo(NAME_FIRST, ASCIIToUTF16("Steve"));
+ personal_data_->SaveImportedProfile(steve_jobs);
+
+ bill_gates.SetRawInfo(CREDIT_CARD_NAME, ASCIIToUTF16("Bill Gates"));
+ personal_data_->SaveImportedCreditCard(bill_gates);
+
+ ResetPersonalDataManager();
+ EXPECT_EQ(ASCIIToUTF16("Steven"),
+ personal_data_->GetProfiles()[0]->GetRawInfo(NAME_FIRST));
+ EXPECT_EQ(ASCIIToUTF16("William H. Gates"),
+ personal_data_->credit_cards()[0]->GetRawInfo(CREDIT_CARD_NAME));
+
+ // Updating existing profiles shouldn't work.
+ steve_jobs.SetRawInfo(NAME_FIRST, ASCIIToUTF16("Steve"));
+ personal_data_->UpdateProfile(steve_jobs);
+
+ bill_gates.SetRawInfo(CREDIT_CARD_NAME, ASCIIToUTF16("Bill Gates"));
+ personal_data_->UpdateCreditCard(bill_gates);
+
+ ResetPersonalDataManager();
+ EXPECT_EQ(ASCIIToUTF16("Steven"),
+ personal_data_->GetProfiles()[0]->GetRawInfo(NAME_FIRST));
+ EXPECT_EQ(ASCIIToUTF16("William H. Gates"),
+ personal_data_->credit_cards()[0]->GetRawInfo(CREDIT_CARD_NAME));
+
+ // Removing shouldn't work.
+ personal_data_->RemoveByGUID(steve_jobs.guid());
+ personal_data_->RemoveByGUID(bill_gates.guid());
+
+ ResetPersonalDataManager();
+ EXPECT_EQ(1U, personal_data_->GetProfiles().size());
+ EXPECT_EQ(1U, personal_data_->credit_cards().size());
+}
+
} // namespace autofill
« no previous file with comments | « components/autofill/browser/personal_data_manager.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698