Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(67)

Unified Diff: components/autofill/core/browser/form_structure_unittest.cc

Issue 1141133003: [Autofill] Control using Variations the sending of Autofill field metadata (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « components/autofill/core/browser/form_structure.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: components/autofill/core/browser/form_structure_unittest.cc
diff --git a/components/autofill/core/browser/form_structure_unittest.cc b/components/autofill/core/browser/form_structure_unittest.cc
index afec3f429f87af7a306c9a2780882ae4a5854458..73f146f9492136fc94bb14d06db76ddf00f2259c 100644
--- a/components/autofill/core/browser/form_structure_unittest.cc
+++ b/components/autofill/core/browser/form_structure_unittest.cc
@@ -6,12 +6,14 @@
#include "base/command_line.h"
#include "base/memory/scoped_ptr.h"
+#include "base/metrics/field_trial.h"
#include "base/strings/string_util.h"
#include "base/strings/utf_string_conversions.h"
#include "components/autofill/core/common/autofill_switches.h"
#include "components/autofill/core/common/form_data.h"
#include "components/autofill/core/common/form_field_data.h"
#include "components/rappor/test_rappor_service.h"
+#include "components/variations/entropy_provider.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "url/gurl.h"
@@ -42,14 +44,38 @@ std::ostream& operator<<(std::ostream& os, const FormData& form) {
} // namespace content
-class FormStructureTest {
+class FormStructureTest : public testing::Test {
public:
static std::string Hash64Bit(const std::string& str) {
return FormStructure::Hash64Bit(str);
}
+
+ void SetUp() override {
+ // By default this trial is enabled on tests.
+ EnableAutofillMetadataFieldTrial();
+ }
+
+ protected:
+ void DisableAutofillMetadataFieldTrial() {
+ field_trial_list_.reset(NULL);
+ }
+
+ private:
+ void EnableAutofillMetadataFieldTrial() {
+ // Clear the existing |field_trial_list_| to avoid firing a DCHECK.
+ field_trial_list_.reset(NULL);
+ field_trial_list_.reset(
+ new base::FieldTrialList(new metrics::SHA1EntropyProvider("foo")));
+ field_trial_ = base::FieldTrialList::CreateFieldTrial(
+ "AutofillFieldMetadata", "Enabled");
+ field_trial_->group();
+ }
+
+ scoped_ptr<base::FieldTrialList> field_trial_list_;
+ scoped_refptr<base::FieldTrial> field_trial_;
};
-TEST(FormStructureTest, FieldCount) {
+TEST_F(FormStructureTest, FieldCount) {
scoped_ptr<FormStructure> form_structure;
FormData form;
@@ -81,7 +107,7 @@ TEST(FormStructureTest, FieldCount) {
EXPECT_EQ(4U, form_structure->field_count());
}
-TEST(FormStructureTest, AutofillCount) {
+TEST_F(FormStructureTest, AutofillCount) {
scoped_ptr<FormStructure> form_structure;
FormData form;
@@ -134,7 +160,7 @@ TEST(FormStructureTest, AutofillCount) {
EXPECT_EQ(4U, form_structure->autofill_count());
}
-TEST(FormStructureTest, SourceURL) {
+TEST_F(FormStructureTest, SourceURL) {
FormData form;
form.origin = GURL("http://www.foo.com/");
FormStructure form_structure(form);
@@ -142,7 +168,7 @@ TEST(FormStructureTest, SourceURL) {
EXPECT_EQ(form.origin, form_structure.source_url());
}
-TEST(FormStructureTest, IsAutofillable) {
+TEST_F(FormStructureTest, IsAutofillable) {
scoped_ptr<FormStructure> form_structure;
FormData form;
@@ -206,7 +232,7 @@ TEST(FormStructureTest, IsAutofillable) {
EXPECT_TRUE(form_structure->IsAutofillable());
}
-TEST(FormStructureTest, ShouldBeParsed) {
+TEST_F(FormStructureTest, ShouldBeParsed) {
scoped_ptr<FormStructure> form_structure;
FormData form;
@@ -287,7 +313,7 @@ TEST(FormStructureTest, ShouldBeParsed) {
EXPECT_FALSE(form_structure->ShouldBeParsed());
}
-TEST(FormStructureTest, HeuristicsContactInfo) {
+TEST_F(FormStructureTest, HeuristicsContactInfo) {
scoped_ptr<FormStructure> form_structure;
FormData form;
@@ -355,7 +381,7 @@ TEST(FormStructureTest, HeuristicsContactInfo) {
}
// Verify that we can correctly process the |autocomplete| attribute.
-TEST(FormStructureTest, HeuristicsAutocompleteAttribute) {
+TEST_F(FormStructureTest, HeuristicsAutocompleteAttribute) {
scoped_ptr<FormStructure> form_structure;
FormData form;
@@ -395,7 +421,7 @@ TEST(FormStructureTest, HeuristicsAutocompleteAttribute) {
// Verify that we can correctly process the 'autocomplete' attribute for phone
// number types (especially phone prefixes and suffixes).
-TEST(FormStructureTest, HeuristicsAutocompleteAttributePhoneTypes) {
+TEST_F(FormStructureTest, HeuristicsAutocompleteAttributePhoneTypes) {
scoped_ptr<FormStructure> form_structure;
FormData form;
@@ -437,7 +463,7 @@ TEST(FormStructureTest, HeuristicsAutocompleteAttributePhoneTypes) {
// If at least one field includes type hints in the 'autocomplete' attribute, we
// should not try to apply any other heuristics.
-TEST(FormStructureTest, AutocompleteAttributeOverridesOtherHeuristics) {
+TEST_F(FormStructureTest, AutocompleteAttributeOverridesOtherHeuristics) {
scoped_ptr<FormStructure> form_structure;
FormData form;
@@ -488,7 +514,7 @@ TEST(FormStructureTest, AutocompleteAttributeOverridesOtherHeuristics) {
// return true if the structure contains a password field, since there are
// no local heuristics to depend upon in this case. Fields will still not be
// considered autofillable though.
-TEST(FormStructureTest, PasswordFormShouldBeCrowdsourced) {
+TEST_F(FormStructureTest, PasswordFormShouldBeCrowdsourced) {
FormData form;
// Start with a regular contact form.
@@ -520,7 +546,7 @@ TEST(FormStructureTest, PasswordFormShouldBeCrowdsourced) {
// Verify that we can correctly process sections listed in the |autocomplete|
// attribute.
-TEST(FormStructureTest, HeuristicsAutocompleteAttributeWithSections) {
+TEST_F(FormStructureTest, HeuristicsAutocompleteAttributeWithSections) {
FormData form;
FormFieldData field;
@@ -583,7 +609,8 @@ TEST(FormStructureTest, HeuristicsAutocompleteAttributeWithSections) {
// Verify that we can correctly process a degenerate section listed in the
// |autocomplete| attribute.
-TEST(FormStructureTest, HeuristicsAutocompleteAttributeWithSectionsDegenerate) {
+TEST_F(FormStructureTest,
+ HeuristicsAutocompleteAttributeWithSectionsDegenerate) {
FormData form;
FormFieldData field;
@@ -626,7 +653,7 @@ TEST(FormStructureTest, HeuristicsAutocompleteAttributeWithSectionsDegenerate) {
// Verify that we can correctly process repeated sections listed in the
// |autocomplete| attribute.
-TEST(FormStructureTest, HeuristicsAutocompleteAttributeWithSectionsRepeated) {
+TEST_F(FormStructureTest, HeuristicsAutocompleteAttributeWithSectionsRepeated) {
FormData form;
FormFieldData field;
@@ -655,7 +682,7 @@ TEST(FormStructureTest, HeuristicsAutocompleteAttributeWithSectionsRepeated) {
// Verify that we do not override the author-specified sections from a form with
// local heuristics.
-TEST(FormStructureTest, HeuristicsDontOverrideAutocompleteAttributeSections) {
+TEST_F(FormStructureTest, HeuristicsDontOverrideAutocompleteAttributeSections) {
FormData form;
FormFieldData field;
@@ -690,7 +717,7 @@ TEST(FormStructureTest, HeuristicsDontOverrideAutocompleteAttributeSections) {
form_structure.field(3)->section());
}
-TEST(FormStructureTest, HeuristicsSample8) {
+TEST_F(FormStructureTest, HeuristicsSample8) {
scoped_ptr<FormStructure> form_structure;
FormData form;
@@ -767,7 +794,7 @@ TEST(FormStructureTest, HeuristicsSample8) {
EXPECT_EQ(UNKNOWN_TYPE, form_structure->field(9)->heuristic_type());
}
-TEST(FormStructureTest, HeuristicsSample6) {
+TEST_F(FormStructureTest, HeuristicsSample6) {
scoped_ptr<FormStructure> form_structure;
FormData form;
@@ -829,7 +856,7 @@ TEST(FormStructureTest, HeuristicsSample6) {
// Tests a sequence of FormFields where only labels are supplied to heuristics
// for matching. This works because FormFieldData labels are matched in the
// case that input element ids (or |name| fields) are missing.
-TEST(FormStructureTest, HeuristicsLabelsOnly) {
+TEST_F(FormStructureTest, HeuristicsLabelsOnly) {
scoped_ptr<FormStructure> form_structure;
FormData form;
@@ -894,7 +921,7 @@ TEST(FormStructureTest, HeuristicsLabelsOnly) {
EXPECT_EQ(UNKNOWN_TYPE, form_structure->field(7)->heuristic_type());
}
-TEST(FormStructureTest, HeuristicsCreditCardInfo) {
+TEST_F(FormStructureTest, HeuristicsCreditCardInfo) {
scoped_ptr<FormStructure> form_structure;
FormData form;
@@ -948,7 +975,7 @@ TEST(FormStructureTest, HeuristicsCreditCardInfo) {
EXPECT_EQ(UNKNOWN_TYPE, form_structure->field(5)->heuristic_type());
}
-TEST(FormStructureTest, HeuristicsCreditCardInfoWithUnknownCardField) {
+TEST_F(FormStructureTest, HeuristicsCreditCardInfoWithUnknownCardField) {
scoped_ptr<FormStructure> form_structure;
FormData form;
@@ -1010,7 +1037,7 @@ TEST(FormStructureTest, HeuristicsCreditCardInfoWithUnknownCardField) {
EXPECT_EQ(UNKNOWN_TYPE, form_structure->field(6)->heuristic_type());
}
-TEST(FormStructureTest, ThreeAddressLines) {
+TEST_F(FormStructureTest, ThreeAddressLines) {
scoped_ptr<FormStructure> form_structure;
FormData form;
@@ -1050,7 +1077,7 @@ TEST(FormStructureTest, ThreeAddressLines) {
}
// Numbered address lines after line two are ignored.
-TEST(FormStructureTest, SurplusAddressLinesIgnored) {
+TEST_F(FormStructureTest, SurplusAddressLinesIgnored) {
scoped_ptr<FormStructure> form_structure;
FormData form;
@@ -1093,7 +1120,7 @@ TEST(FormStructureTest, SurplusAddressLinesIgnored) {
// test was written). We interpret this as address line 2. And the following
// "Street address second line" we interpret as address line 3.
// See http://crbug.com/48197 for details.
-TEST(FormStructureTest, ThreeAddressLinesExpedia) {
+TEST_F(FormStructureTest, ThreeAddressLinesExpedia) {
scoped_ptr<FormStructure> form_structure;
FormData form;
@@ -1135,7 +1162,7 @@ TEST(FormStructureTest, ThreeAddressLinesExpedia) {
// This example comes from ebay.com where the word "suite" appears in the label
// and the name "address2" clearly indicates that this is the address line 2.
// See http://crbug.com/48197 for details.
-TEST(FormStructureTest, TwoAddressLinesEbay) {
+TEST_F(FormStructureTest, TwoAddressLinesEbay) {
scoped_ptr<FormStructure> form_structure;
FormData form;
@@ -1168,7 +1195,7 @@ TEST(FormStructureTest, TwoAddressLinesEbay) {
EXPECT_EQ(ADDRESS_HOME_CITY, form_structure->field(2)->heuristic_type());
}
-TEST(FormStructureTest, HeuristicsStateWithProvince) {
+TEST_F(FormStructureTest, HeuristicsStateWithProvince) {
scoped_ptr<FormStructure> form_structure;
FormData form;
@@ -1202,7 +1229,7 @@ TEST(FormStructureTest, HeuristicsStateWithProvince) {
}
// This example comes from lego.com's checkout page.
-TEST(FormStructureTest, HeuristicsWithBilling) {
+TEST_F(FormStructureTest, HeuristicsWithBilling) {
scoped_ptr<FormStructure> form_structure;
FormData form;
@@ -1273,7 +1300,7 @@ TEST(FormStructureTest, HeuristicsWithBilling) {
EXPECT_EQ(EMAIL_ADDRESS, form_structure->field(10)->heuristic_type());
}
-TEST(FormStructureTest, ThreePartPhoneNumber) {
+TEST_F(FormStructureTest, ThreePartPhoneNumber) {
scoped_ptr<FormStructure> form_structure;
FormData form;
@@ -1320,7 +1347,7 @@ TEST(FormStructureTest, ThreePartPhoneNumber) {
EXPECT_EQ(UNKNOWN_TYPE, form_structure->field(3)->heuristic_type());
}
-TEST(FormStructureTest, HeuristicsInfernoCC) {
+TEST_F(FormStructureTest, HeuristicsInfernoCC) {
scoped_ptr<FormStructure> form_structure;
FormData form;
@@ -1368,7 +1395,7 @@ TEST(FormStructureTest, HeuristicsInfernoCC) {
form_structure->field(4)->heuristic_type());
}
-TEST(FormStructureTest, CVCCodeClash) {
+TEST_F(FormStructureTest, CVCCodeClash) {
scoped_ptr<FormStructure> form_structure;
FormData form;
@@ -1423,7 +1450,7 @@ TEST(FormStructureTest, CVCCodeClash) {
form_structure->field(5)->heuristic_type());
}
-TEST(FormStructureTest, EncodeQueryRequest) {
+TEST_F(FormStructureTest, EncodeQueryRequest) {
FormData form;
FormFieldData field;
@@ -1551,7 +1578,7 @@ TEST(FormStructureTest, EncodeQueryRequest) {
EXPECT_EQ("", encoded_xml);
}
-TEST(FormStructureTest, EncodeUploadRequest) {
+TEST_F(FormStructureTest, EncodeUploadRequest) {
scoped_ptr<FormStructure> form_structure;
std::vector<ServerFieldTypeSet> possible_field_types;
FormData form;
@@ -1728,7 +1755,7 @@ TEST(FormStructureTest, EncodeUploadRequest) {
&encoded_xml));
}
-TEST(FormStructureTest, EncodeUploadRequestWithAutocomplete) {
+TEST_F(FormStructureTest, EncodeUploadRequestWithAutocomplete) {
scoped_ptr<FormStructure> form_structure;
std::vector<ServerFieldTypeSet> possible_field_types;
FormData form;
@@ -1787,7 +1814,7 @@ TEST(FormStructureTest, EncodeUploadRequestWithAutocomplete) {
encoded_xml);
}
-TEST(FormStructureTest, EncodeUploadRequestPartialMetadata) {
+TEST_F(FormStructureTest, EncodeUploadRequestPartialMetadata) {
scoped_ptr<FormStructure> form_structure;
std::vector<ServerFieldTypeSet> possible_field_types;
FormData form;
@@ -1844,7 +1871,66 @@ TEST(FormStructureTest, EncodeUploadRequestPartialMetadata) {
encoded_xml);
}
-TEST(FormStructureTest, EncodeFieldAssignments) {
+// Sending field metadata to the server is disabled.
+TEST_F(FormStructureTest, EncodeUploadRequest_DisabledMetadataTrial) {
+ DisableAutofillMetadataFieldTrial();
+
+ scoped_ptr<FormStructure> form_structure;
+ std::vector<ServerFieldTypeSet> possible_field_types;
+ FormData form;
+ form_structure.reset(new FormStructure(form));
+ form_structure->DetermineHeuristicTypes();
+
+ FormFieldData field;
+ field.form_control_type = "text";
+
+ field.label = ASCIIToUTF16("First Name");
+ field.name = ASCIIToUTF16("firstname");
+ field.autocomplete_attribute = "given-name";
+ form.fields.push_back(field);
+ possible_field_types.push_back(ServerFieldTypeSet());
+ possible_field_types.back().insert(NAME_FIRST);
+
+ field.label = ASCIIToUTF16("Last Name");
+ field.name = ASCIIToUTF16("lastname");
+ field.autocomplete_attribute = "family-name";
+ form.fields.push_back(field);
+ possible_field_types.push_back(ServerFieldTypeSet());
+ possible_field_types.back().insert(NAME_LAST);
+
+ field.label = ASCIIToUTF16("Email");
+ field.name = ASCIIToUTF16("email");
+ field.form_control_type = "email";
+ field.autocomplete_attribute = "email";
+ form.fields.push_back(field);
+ possible_field_types.push_back(ServerFieldTypeSet());
+ possible_field_types.back().insert(EMAIL_ADDRESS);
+
+ form_structure.reset(new FormStructure(form));
+
+ ASSERT_EQ(form_structure->field_count(), possible_field_types.size());
+ for (size_t i = 0; i < form_structure->field_count(); ++i)
+ form_structure->field(i)->set_possible_types(possible_field_types[i]);
+
+ ServerFieldTypeSet available_field_types;
+ available_field_types.insert(NAME_FIRST);
+ available_field_types.insert(NAME_LAST);
+ available_field_types.insert(EMAIL_ADDRESS);
+
+ std::string encoded_xml;
+ EXPECT_TRUE(form_structure->EncodeUploadRequest(available_field_types, true,
+ &encoded_xml));
+ EXPECT_EQ("<?xml version=\"1.0\" encoding=\"UTF-8\"?>"
+ "<autofillupload clientversion=\"6.1.1715.1442/en (GGLL)\""
+ " formsignature=\"14746822798145140279\" autofillused=\"true\""
+ " datapresent=\"1440\">"
+ "<field signature=\"3763331450\"/>"
+ "<field signature=\"3494530716\"/>"
+ "<field signature=\"1029417091\"/></autofillupload>",
+ encoded_xml);
+}
+
+TEST_F(FormStructureTest, EncodeFieldAssignments) {
scoped_ptr<FormStructure> form_structure;
std::vector<ServerFieldTypeSet> possible_field_types;
FormData form;
@@ -1971,7 +2057,7 @@ TEST(FormStructureTest, EncodeFieldAssignments) {
// Check that we compute the "datapresent" string correctly for the given
// |available_types|.
-TEST(FormStructureTest, CheckDataPresence) {
+TEST_F(FormStructureTest, CheckDataPresence) {
FormData form;
FormFieldData field;
@@ -2208,7 +2294,7 @@ TEST(FormStructureTest, CheckDataPresence) {
encoded_xml);
}
-TEST(FormStructureTest, CheckMultipleTypes) {
+TEST_F(FormStructureTest, CheckMultipleTypes) {
// Throughout this test, datapresent should be
// 0x1440000360000008 ==
// 0b0001010001000000000000000000001101100000000000000000000000001000
@@ -2352,7 +2438,7 @@ TEST(FormStructureTest, CheckMultipleTypes) {
encoded_xml);
}
-TEST(FormStructureTest, CheckFormSignature) {
+TEST_F(FormStructureTest, CheckFormSignature) {
// Check that form signature is created correctly.
scoped_ptr<FormStructure> form_structure;
FormData form;
@@ -2420,7 +2506,7 @@ TEST(FormStructureTest, CheckFormSignature) {
form_structure->FormSignature());
}
-TEST(FormStructureTest, ToFormData) {
+TEST_F(FormStructureTest, ToFormData) {
FormData form;
form.name = ASCIIToUTF16("the-name");
form.origin = GURL("http://cool.com");
@@ -2450,7 +2536,7 @@ TEST(FormStructureTest, ToFormData) {
EXPECT_FALSE(form.SameFormAs(FormStructure(form).ToFormData()));
}
-TEST(FormStructureTest, SkipFieldTest) {
+TEST_F(FormStructureTest, SkipFieldTest) {
FormData form;
form.name = ASCIIToUTF16("the-name");
form.origin = GURL("http://cool.com");
@@ -2495,7 +2581,7 @@ TEST(FormStructureTest, SkipFieldTest) {
}
// One name is missing from one field.
-TEST(FormStructureTest, EncodeQueryRequest_MissingNames) {
+TEST_F(FormStructureTest, EncodeQueryRequest_MissingNames) {
FormData form;
// No name set for the form.
form.origin = GURL("http://cool.com");
@@ -2533,7 +2619,48 @@ TEST(FormStructureTest, EncodeQueryRequest_MissingNames) {
EXPECT_EQ(kResponse, encoded_xml);
}
-TEST(FormStructureTest, PossibleValues) {
+// Sending field metadata to the server is disabled.
+TEST_F(FormStructureTest, EncodeQueryRequest_DisabledMetadataTrial) {
+ DisableAutofillMetadataFieldTrial();
+
+ FormData form;
+ // No name set for the form.
+ form.origin = GURL("http://cool.com");
+ form.action = form.origin.Resolve("/login");
+
+ FormFieldData field;
+ field.label = ASCIIToUTF16("username");
+ field.name = ASCIIToUTF16("username");
+ field.form_control_type = "text";
+ form.fields.push_back(field);
+
+ field.label = base::string16();
+ field.name = ASCIIToUTF16("country");
+ field.form_control_type = "text";
+ field.is_checkable = false;
+ form.fields.push_back(field);
+
+ ScopedVector<FormStructure> forms;
+ forms.push_back(new FormStructure(form));
+ std::vector<std::string> encoded_signatures;
+ std::string encoded_xml;
+
+ const char kSignature[] = "7635954436925888745";
+ const char kResponse[] = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"
+ "<autofillquery clientversion=\"6.1.1715.1442/en (GGLL)\">"
+ "<form signature=\"7635954436925888745\">"
+ "<field signature=\"239111655\"/>"
+ "<field signature=\"3654076265\"/>"
+ "</form></autofillquery>";
+ ASSERT_TRUE(FormStructure::EncodeQueryRequest(forms.get(),
+ &encoded_signatures,
+ &encoded_xml));
+ ASSERT_EQ(1U, encoded_signatures.size());
+ EXPECT_EQ(kSignature, encoded_signatures[0]);
+ EXPECT_EQ(kResponse, encoded_xml);
+}
+
+TEST_F(FormStructureTest, PossibleValues) {
FormData form_data;
FormFieldData field;
field.autocomplete_attribute = "billing country";
@@ -2573,7 +2700,7 @@ TEST(FormStructureTest, PossibleValues) {
EXPECT_EQ(0U, form_structure2.PossibleValues(ADDRESS_BILLING_COUNTRY).size());
}
-TEST(FormStructureTest, ParseQueryResponse) {
+TEST_F(FormStructureTest, ParseQueryResponse) {
TestRapporService rappor_service;
FormData form;
form.origin = GURL("http://foo.com");
@@ -2632,7 +2759,7 @@ TEST(FormStructureTest, ParseQueryResponse) {
}
// If user defined types are present, only parse password fields.
-TEST(FormStructureTest, ParseQueryResponseAuthorDefinedTypes) {
+TEST_F(FormStructureTest, ParseQueryResponseAuthorDefinedTypes) {
TestRapporService rappor_service;
FormData form;
form.origin = GURL("http://foo.com");
@@ -2669,7 +2796,8 @@ TEST(FormStructureTest, ParseQueryResponseAuthorDefinedTypes) {
// If the server returns NO_SERVER_DATA for one of the forms, expect RAPPOR
// logging.
-TEST(FormStructureTest, ParseQueryResponse_RapporLogging_OneFormNoServerData) {
+TEST_F(FormStructureTest,
+ ParseQueryResponse_RapporLogging_OneFormNoServerData) {
TestRapporService rappor_service;
FormData form;
form.origin = GURL("http://foo.com");
@@ -2719,7 +2847,8 @@ TEST(FormStructureTest, ParseQueryResponse_RapporLogging_OneFormNoServerData) {
// If the server returns NO_SERVER_DATA for both of the forms, expect RAPPOR
// logging.
-TEST(FormStructureTest, ParseQueryResponse_RapporLogging_AllFormsNoServerData) {
+TEST_F(FormStructureTest,
+ ParseQueryResponse_RapporLogging_AllFormsNoServerData) {
TestRapporService rappor_service;
FormData form;
form.origin = GURL("http://foo.com");
@@ -2771,7 +2900,8 @@ TEST(FormStructureTest, ParseQueryResponse_RapporLogging_AllFormsNoServerData) {
// If the server returns NO_SERVER_DATA for only some of the fields, expect no
// RAPPOR logging.
-TEST(FormStructureTest, ParseQueryResponse_RapporLogging_PartialNoServerData) {
+TEST_F(FormStructureTest,
+ ParseQueryResponse_RapporLogging_PartialNoServerData) {
TestRapporService rappor_service;
FormData form;
form.origin = GURL("http://foo.com");
« no previous file with comments | « components/autofill/core/browser/form_structure.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698