| 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) {
|
|
|