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 0ea6086e00945182dcb6bdc735679f37958bcaf2..fce7ffe4ac12d384590c0ef2a8c9a28a918f6d6d 100644 |
--- a/components/autofill/core/common/form_field_data_unittest.cc |
+++ b/components/autofill/core/common/form_field_data_unittest.cc |
@@ -40,4 +40,51 @@ TEST(FormFieldDataTest, SerializeAndDeserialize) { |
EXPECT_TRUE(actual.SameFieldAs(data)); |
} |
+TEST(FormFieldDataTest, DeserializeVersion1) { |
+ FormFieldData data; |
+ data.label = base::ASCIIToUTF16("label"); |
+ data.name = base::ASCIIToUTF16("name"); |
+ data.value = base::ASCIIToUTF16("value"); |
+ data.form_control_type = "password"; |
+ data.autocomplete_attribute = "off"; |
+ data.max_length = 200; |
+ data.is_autofilled = true; |
+ data.is_checked = true; |
+ data.is_checkable = true; |
+ data.is_focusable = true; |
+ data.should_autocomplete = false; |
+ data.text_direction = base::i18n::RIGHT_TO_LEFT; |
+ data.option_values.push_back(base::ASCIIToUTF16("First")); |
+ data.option_values.push_back(base::ASCIIToUTF16("Second")); |
+ data.option_contents.push_back(base::ASCIIToUTF16("First")); |
+ data.option_contents.push_back(base::ASCIIToUTF16("Second")); |
+ |
+ Pickle pickle; |
+ pickle.WriteInt(1); |
+ pickle.WriteString16(data.label); |
+ pickle.WriteString16(data.name); |
+ pickle.WriteString16(data.value); |
+ pickle.WriteString(data.form_control_type); |
+ pickle.WriteString(data.autocomplete_attribute); |
+ pickle.WriteSizeT(data.max_length); |
+ pickle.WriteBool(data.is_autofilled); |
+ pickle.WriteBool(data.is_checked); |
+ pickle.WriteBool(data.is_checkable); |
+ pickle.WriteBool(data.is_focusable); |
+ pickle.WriteBool(data.should_autocomplete); |
+ pickle.WriteInt(data.text_direction); |
+ pickle.WriteInt(static_cast<int>(data.option_values.size())); |
+ for (auto s: data.option_values) |
+ pickle.WriteString16(s); |
+ pickle.WriteInt(static_cast<int>(data.option_contents.size())); |
+ for (auto s: data.option_contents) |
+ pickle.WriteString16(s); |
+ |
+ PickleIterator iter(pickle); |
+ FormFieldData actual; |
+ EXPECT_TRUE(DeserializeFormFieldData(&iter, &actual)); |
+ |
+ EXPECT_TRUE(actual.SameFieldAs(data)); |
+} |
+ |
} // namespace autofill |