Index: components/autofill/core/common/form_field_data_unittest.cc |
diff --git a/components/autofill/core/common/form_field_data_unittest.cc b/components/autofill/core/common/form_field_data_unittest.cc |
index a2e55c771858beb311de4079d89ebf304de9b14e..79ae71751af4e55c3db581c6ed0f87b2cbe2d641 100644 |
--- a/components/autofill/core/common/form_field_data_unittest.cc |
+++ b/components/autofill/core/common/form_field_data_unittest.cc |
@@ -43,6 +43,11 @@ void FillVersion5Fields(FormFieldData* data) { |
data->css_classes = base::ASCIIToUTF16("class1 class2"); |
} |
+void FillVersion6Fields(FormFieldData* data) { |
+ data->properties_mask = |
+ FieldPropertiesFlags::USER_TYPED | FieldPropertiesFlags::HAD_FOCUS; |
+} |
+ |
void WriteSection1(const FormFieldData& data, base::Pickle* pickle) { |
pickle->WriteString16(data.label); |
pickle->WriteString16(data.name); |
@@ -89,6 +94,10 @@ void WriteVersion5Specific(const FormFieldData& data, base::Pickle* pickle) { |
pickle->WriteString16(data.css_classes); |
} |
+void WriteVersion6Specific(const FormFieldData& data, base::Pickle* pickle) { |
+ pickle->WriteUInt32(data.properties_mask); |
+} |
+ |
void SerializeInVersion1Format(const FormFieldData& data, |
base::Pickle* pickle) { |
WriteSection1(data, pickle); |
@@ -137,6 +146,18 @@ void SerializeInVersion5Format(const FormFieldData& data, |
WriteVersion5Specific(data, pickle); |
} |
+void SerializeInVersion6Format(const FormFieldData& data, |
+ base::Pickle* pickle) { |
+ WriteSection1(data, pickle); |
+ WriteSection4(data, pickle); |
+ WriteSection5(data, pickle); |
+ WriteVersion2Specific(data, pickle); |
+ WriteSection2(data, pickle); |
+ WriteVersion3Specific(data, pickle); |
+ WriteVersion5Specific(data, pickle); |
+ WriteVersion6Specific(data, pickle); |
+} |
+ |
} // namespace |
TEST(FormFieldDataTest, SerializeAndDeserialize) { |
@@ -145,6 +166,7 @@ TEST(FormFieldDataTest, SerializeAndDeserialize) { |
FillVersion2Fields(&data); |
FillVersion3Fields(&data); |
FillVersion5Fields(&data); |
+ FillVersion6Fields(&data); |
base::Pickle pickle; |
SerializeFormFieldData(data, &pickle); |
@@ -239,6 +261,25 @@ TEST(FormFieldDataTest, DeserializeVersion5) { |
EXPECT_TRUE(actual.SameFieldAs(data)); |
} |
+TEST(FormFieldDataTest, DeserializeVersion6) { |
+ FormFieldData data; |
+ FillCommonFields(&data); |
+ FillVersion2Fields(&data); |
+ FillVersion3Fields(&data); |
+ FillVersion5Fields(&data); |
+ FillVersion6Fields(&data); |
+ |
+ base::Pickle pickle; |
+ pickle.WriteInt(6); |
+ SerializeInVersion6Format(data, &pickle); |
+ |
+ base::PickleIterator iter(pickle); |
+ FormFieldData actual; |
+ EXPECT_TRUE(DeserializeFormFieldData(&iter, &actual)); |
+ |
+ EXPECT_TRUE(actual.SameFieldAs(data)); |
+} |
+ |
// Verify that if the data isn't valid, the FormFieldData isn't populated |
// during deserialization. |
TEST(FormFieldDataTest, DeserializeBadData) { |