summaryrefslogtreecommitdiff
path: root/chromium/components/autofill/core/common/form_data_unittest.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/components/autofill/core/common/form_data_unittest.cc')
-rw-r--r--chromium/components/autofill/core/common/form_data_unittest.cc35
1 files changed, 33 insertions, 2 deletions
diff --git a/chromium/components/autofill/core/common/form_data_unittest.cc b/chromium/components/autofill/core/common/form_data_unittest.cc
index ee174b715eb..c6dee3bec05 100644
--- a/chromium/components/autofill/core/common/form_data_unittest.cc
+++ b/chromium/components/autofill/core/common/form_data_unittest.cc
@@ -87,6 +87,21 @@ void SerializeInVersion5Format(const FormData& form_data,
pickle->WriteBool(form_data.is_formless_checkout);
}
+void SerializeInVersion6Format(const FormData& form_data,
+ base::Pickle* pickle) {
+ pickle->WriteInt(6);
+ pickle->WriteString16(form_data.name);
+ pickle->WriteString(form_data.origin.spec());
+ pickle->WriteString(form_data.action.spec());
+ pickle->WriteInt(static_cast<int>(form_data.fields.size()));
+ for (size_t i = 0; i < form_data.fields.size(); ++i) {
+ SerializeFormFieldData(form_data.fields[i], pickle);
+ }
+ pickle->WriteBool(form_data.is_form_tag);
+ pickle->WriteBool(form_data.is_formless_checkout);
+ pickle->WriteString(form_data.main_frame_origin.spec());
+}
+
// This function serializes the form data into the pickle in incorrect format
// (no version number).
void SerializeIncorrectFormat(const FormData& form_data, base::Pickle* pickle) {
@@ -102,8 +117,9 @@ void SerializeIncorrectFormat(const FormData& form_data, base::Pickle* pickle) {
void FillInDummyFormData(FormData* data) {
data->name = base::ASCIIToUTF16("name");
- data->origin = GURL("origin");
- data->action = GURL("action");
+ data->origin = GURL("https://example.com");
+ data->action = GURL("https://example.com/action");
+ data->main_frame_origin = GURL("https://origin-example.com");
data->is_form_tag = true; // Default value.
data->is_formless_checkout = false; // Default value.
@@ -249,6 +265,21 @@ TEST(FormDataTest, Serialize_v5_Deserialize_vCurrent) {
EXPECT_TRUE(actual.SameFormAs(data));
}
+TEST(FormDataTest, Serialize_v6_Deserialize_vCurrent) {
+ FormData data;
+ FillInDummyFormData(&data);
+ data.is_formless_checkout = true;
+
+ base::Pickle pickle;
+ SerializeInVersion6Format(data, &pickle);
+
+ base::PickleIterator iter(pickle);
+ FormData actual;
+ EXPECT_TRUE(DeserializeFormData(&iter, &actual));
+
+ EXPECT_TRUE(actual.SameFormAs(data));
+}
+
TEST(FormDataTest, SerializeIncorrectFormatAndDeserialize) {
FormData data;
FillInDummyFormData(&data);