| 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 cae49ecb4df26f657bb1dd3acc3e271194b3f529..0c94126a202f2f408ea8b8abd2be69c17d9f8981 100644
|
| --- a/components/autofill/core/common/form_field_data_unittest.cc
|
| +++ b/components/autofill/core/common/form_field_data_unittest.cc
|
| @@ -49,6 +49,10 @@ void FillVersion6Fields(FormFieldData* data) {
|
| FieldPropertiesFlags::USER_TYPED | FieldPropertiesFlags::HAD_FOCUS;
|
| }
|
|
|
| +void FillVersion7Fields(FormFieldData* data) {
|
| + data->id = base::ASCIIToUTF16("id");
|
| +}
|
| +
|
| void WriteSection1(const FormFieldData& data, base::Pickle* pickle) {
|
| pickle->WriteString16(data.label);
|
| pickle->WriteString16(data.name);
|
| @@ -99,6 +103,10 @@ void WriteVersion6Specific(const FormFieldData& data, base::Pickle* pickle) {
|
| pickle->WriteUInt32(data.properties_mask);
|
| }
|
|
|
| +void WriteVersion7Specific(const FormFieldData& data, base::Pickle* pickle) {
|
| + pickle->WriteString16(data.id);
|
| +}
|
| +
|
| void SerializeInVersion1Format(const FormFieldData& data,
|
| base::Pickle* pickle) {
|
| WriteSection1(data, pickle);
|
| @@ -159,6 +167,19 @@ void SerializeInVersion6Format(const FormFieldData& data,
|
| WriteVersion6Specific(data, pickle);
|
| }
|
|
|
| +void SerializeInVersion7Format(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);
|
| + WriteVersion7Specific(data, pickle);
|
| +}
|
| +
|
| } // namespace
|
|
|
| TEST(FormFieldDataTest, SerializeAndDeserialize) {
|
| @@ -168,6 +189,7 @@ TEST(FormFieldDataTest, SerializeAndDeserialize) {
|
| FillVersion3Fields(&data);
|
| FillVersion5Fields(&data);
|
| FillVersion6Fields(&data);
|
| + FillVersion7Fields(&data);
|
|
|
| base::Pickle pickle;
|
| SerializeFormFieldData(data, &pickle);
|
| @@ -281,6 +303,26 @@ TEST(FormFieldDataTest, DeserializeVersion6) {
|
| EXPECT_TRUE(actual.SameFieldAs(data));
|
| }
|
|
|
| +TEST(FormFieldDataTest, DeserializeVersion7) {
|
| + FormFieldData data;
|
| + FillCommonFields(&data);
|
| + FillVersion2Fields(&data);
|
| + FillVersion3Fields(&data);
|
| + FillVersion5Fields(&data);
|
| + FillVersion6Fields(&data);
|
| + FillVersion7Fields(&data);
|
| +
|
| + base::Pickle pickle;
|
| + pickle.WriteInt(7);
|
| + SerializeInVersion7Format(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) {
|
|
|