Chromium Code Reviews| 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 6f2426f96576a35e91d77b1ac2b44ff3ef475c5d..034d0fb875f0fb4de4e3d1bc9c891b43402f6745 100644 |
| --- a/components/autofill/core/common/form_field_data_unittest.cc |
| +++ b/components/autofill/core/common/form_field_data_unittest.cc |
| @@ -21,8 +21,7 @@ void FillCommonFields(FormFieldData* data) { |
| data->autocomplete_attribute = "off"; |
| data->max_length = 200; |
| data->is_autofilled = true; |
| - data->is_checked = true; |
| - data->is_checkable = true; |
| + data->check_status = FormFieldData::CheckStatus::CHECKED; |
| data->is_focusable = true; |
| data->should_autocomplete = false; |
| data->text_direction = base::i18n::RIGHT_TO_LEFT; |
| @@ -48,8 +47,8 @@ void WriteCommonSection1(const FormFieldData& data, base::Pickle* pickle) { |
| pickle->WriteString(data.autocomplete_attribute); |
| pickle->WriteUInt64(data.max_length); |
| pickle->WriteBool(data.is_autofilled); |
| - pickle->WriteBool(data.is_checked); |
| - pickle->WriteBool(data.is_checkable); |
| + pickle->WriteBool(IsChecked(data.check_status)); |
| + pickle->WriteBool(IsCheckable(data.check_status)); |
| pickle->WriteBool(data.is_focusable); |
| pickle->WriteBool(data.should_autocomplete); |
| } |
| @@ -68,6 +67,10 @@ void WriteVersion2Specific(const FormFieldData& data, base::Pickle* pickle) { |
| pickle->WriteInt(data.role); |
| } |
| +void WriteVersion3Specific(const FormFieldData& data, base::Pickle* pickle) { |
| + pickle->WriteString16(data.placeholder); |
| +} |
| + |
| void SerializeInVersion1Format(const FormFieldData& data, |
| base::Pickle* pickle) { |
| WriteCommonSection1(data, pickle); |
| @@ -81,6 +84,14 @@ void SerializeInVersion2Format(const FormFieldData& data, |
| WriteCommonSection2(data, pickle); |
| } |
| +void SerializeInVersion3Format(const FormFieldData& data, |
| + base::Pickle* pickle) { |
| + WriteCommonSection1(data, pickle); |
| + WriteVersion2Specific(data, pickle); |
| + WriteCommonSection2(data, pickle); |
| + WriteVersion3Specific(data, pickle); |
| +} |
| + |
| } // namespace |
| TEST(FormFieldDataTest, SerializeAndDeserialize) { |
| @@ -130,6 +141,22 @@ TEST(FormFieldDataTest, DeserializeVersion2) { |
| EXPECT_TRUE(actual.SameFieldAs(data)); |
| } |
| +TEST(FormFieldDataTest, DeserializeVersion3) { |
|
vabr (Chromium)
2016/06/06 12:39:30
Thanks for adding the version 3 test!
|
| + FormFieldData data; |
| + FillCommonFields(&data); |
| + FillVersion2Fields(&data); |
|
vabr (Chromium)
2016/06/06 12:39:30
You should also call
FillVersion3Fields(&data);
af
|
| + |
| + base::Pickle pickle; |
| + pickle.WriteInt(3); |
| + SerializeInVersion3Format(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) { |