Index: chrome/browser/autofill/autofill_manager_unittest.cc |
=================================================================== |
--- chrome/browser/autofill/autofill_manager_unittest.cc (revision 71419) |
+++ chrome/browser/autofill/autofill_manager_unittest.cc (working copy) |
@@ -1586,3 +1586,45 @@ |
prefs::kAutoFillAuxiliaryProfilesEnabled)); |
#endif |
} |
+ |
+TEST_F(AutoFillManagerTest, DataPresence) { |
+ std::vector<uint8> presence_bitfield; |
+ |
+ presence_bitfield.resize((MAX_VALID_FIELD_TYPE + 0x7) >> 3); |
+ for (size_t i = 0; i < presence_bitfield.size(); ++i) |
+ presence_bitfield[i] = 0; |
+ |
+ EXPECT_EQ("", |
+ autofill_manager_->ConvertPresenceBitsToString(presence_bitfield)); |
+ autofill_manager_->SetPresenceBit(UNKNOWN_TYPE, &presence_bitfield); |
+ EXPECT_EQ("40", |
+ autofill_manager_->ConvertPresenceBitsToString(presence_bitfield)); |
+ presence_bitfield[0] = 0; |
+ autofill_manager_->SetPresenceBit(PHONE_HOME_WHOLE_NUMBER, |
+ &presence_bitfield); |
+ EXPECT_EQ("0002", |
+ autofill_manager_->ConvertPresenceBitsToString(presence_bitfield)); |
+ autofill_manager_->SetPresenceBit(UNKNOWN_TYPE, &presence_bitfield); |
+ EXPECT_EQ("4002", |
+ autofill_manager_->ConvertPresenceBitsToString(presence_bitfield)); |
+ autofill_manager_->SetPresenceBit(ADDRESS_BILLING_LINE1, &presence_bitfield); |
+ autofill_manager_->SetPresenceBit(ADDRESS_BILLING_LINE2, &presence_bitfield); |
+ autofill_manager_->SetPresenceBit(ADDRESS_BILLING_CITY, &presence_bitfield); |
+ autofill_manager_->SetPresenceBit(ADDRESS_BILLING_STATE, &presence_bitfield); |
+ autofill_manager_->SetPresenceBit(ADDRESS_BILLING_ZIP, &presence_bitfield); |
+ EXPECT_EQ("4002000006e0", |
+ autofill_manager_->ConvertPresenceBitsToString(presence_bitfield)); |
+ autofill_manager_->SetPresenceBit(CREDIT_CARD_NUMBER, &presence_bitfield); |
+ autofill_manager_->SetPresenceBit(COMPANY_NAME, &presence_bitfield); |
+ EXPECT_EQ("4002000006e00808", |
+ autofill_manager_->ConvertPresenceBitsToString(presence_bitfield)); |
+ |
+ for (size_t i = 0; i < MAX_VALID_FIELD_TYPE; ++i) { |
+ autofill_manager_->SetPresenceBit(static_cast<AutoFillFieldType>(i), |
+ &presence_bitfield); |
+ } |
+ |
+ EXPECT_EQ("fffffffffffffff8", |
+ autofill_manager_->ConvertPresenceBitsToString(presence_bitfield)); |
+} |
+ |