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

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

Issue 23033016: Remove autocheckout code. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Even more deletes, and Ilya review. Created 7 years, 4 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
Index: components/autofill/core/browser/autofill_manager_unittest.cc
diff --git a/components/autofill/core/browser/autofill_manager_unittest.cc b/components/autofill/core/browser/autofill_manager_unittest.cc
index 7aeb81ec6d50948cb8fdeabf7a19f64b65c6d21e..275920fde0af37d893d59e0c8b4635305f4e973d 100644
--- a/components/autofill/core/browser/autofill_manager_unittest.cc
+++ b/components/autofill/core/browser/autofill_manager_unittest.cc
@@ -479,14 +479,6 @@ class TestAutofillManager : public AutofillManager {
autofill_enabled_ = autofill_enabled;
}
- void set_autocheckout_url_prefix(const std::string& autocheckout_url_prefix) {
- autocheckout_url_prefix_ = autocheckout_url_prefix;
- }
-
- virtual std::string GetAutocheckoutURLPrefix() const OVERRIDE {
- return autocheckout_url_prefix_;
- }
-
const std::vector<std::pair<WebFormElement::AutocompleteResult, FormData> >&
request_autocomplete_results() const {
return request_autocomplete_results_;
@@ -533,14 +525,6 @@ class TestAutofillManager : public AutofillManager {
submission_time);
}
- virtual void OnMaybeShowAutocheckoutBubble(
- const FormData& form,
- const gfx::RectF& bounding_box) OVERRIDE {
- AutofillManager::OnMaybeShowAutocheckoutBubble(form, bounding_box);
- // Needed for AutocheckoutManager to post task on IO thread.
- content::RunAllPendingInMessageLoop(content::BrowserThread::IO);
- }
-
// Resets the MessageLoopRunner so that it can wait for an asynchronous form
// submission to complete.
void ResetMessageLoopRunner() {
@@ -597,35 +581,6 @@ class TestAutofillManager : public AutofillManager {
request_autocomplete_results_.push_back(std::make_pair(result, form_data));
}
- // Set autocheckout manager's page meta data to first page on Autocheckout
- // flow.
- void MarkAsFirstPageInAutocheckoutFlow() {
- scoped_ptr<AutocheckoutPageMetaData> start_of_flow(
- new AutocheckoutPageMetaData());
- start_of_flow->current_page_number = 0;
- start_of_flow->total_pages = 3;
- WebElementDescriptor* proceed_element =
- &start_of_flow->proceed_element_descriptor;
- proceed_element->descriptor = "#foo";
- proceed_element->retrieval_method = WebElementDescriptor::ID;
- autocheckout_manager()->OnLoadedPageMetaData(start_of_flow.Pass());
- }
-
- // Set autocheckout manager's page meta data to first page on Autocheckout
- // flow.
- void MarkAsFirstPageInAutocheckoutFlowIgnoringAjax() {
- scoped_ptr<AutocheckoutPageMetaData> start_of_flow(
- new AutocheckoutPageMetaData());
- start_of_flow->current_page_number = 0;
- start_of_flow->total_pages = 3;
- start_of_flow->ignore_ajax = true;
- WebElementDescriptor* proceed_element =
- &start_of_flow->proceed_element_descriptor;
- proceed_element->descriptor = "#foo";
- proceed_element->retrieval_method = WebElementDescriptor::ID;
- autocheckout_manager()->OnLoadedPageMetaData(start_of_flow.Pass());
- }
-
private:
// Weak reference.
TestPersonalDataManager* personal_data_;
@@ -636,7 +591,6 @@ class TestAutofillManager : public AutofillManager {
scoped_refptr<content::MessageLoopRunner> message_loop_runner_;
- std::string autocheckout_url_prefix_;
std::string submitted_form_signature_;
std::vector<ServerFieldTypeSet> expected_submitted_field_types_;
@@ -839,14 +793,6 @@ class AutofillManagerTest : public ChromeRenderViewHostTestHarness {
return autofill_manager_->PackGUIDs(cc_guid, profile_guid);
}
-
- bool HasSeenAutofillGetAllFormsMessage() {
- const uint32 kMsgID = AutofillMsg_GetAllForms::ID;
- const IPC::Message* message =
- process()->sink().GetFirstMessageMatching(kMsgID);
- return message != NULL;
- }
-
protected:
scoped_ptr<MockAutofillDriver> autofill_driver_;
scoped_ptr<TestAutofillManager> autofill_manager_;
@@ -861,7 +807,7 @@ class AutofillManagerTest : public ChromeRenderViewHostTestHarness {
class TestFormStructure : public FormStructure {
public:
explicit TestFormStructure(const FormData& form)
- : FormStructure(form, std::string()) {}
+ : FormStructure(form) {}
virtual ~TestFormStructure() {}
void SetFieldTypes(const std::vector<ServerFieldType>& heuristic_types,
@@ -883,19 +829,6 @@ class TestFormStructure : public FormStructure {
DISALLOW_COPY_AND_ASSIGN(TestFormStructure);
};
-// Test that browser asks for all forms when Autocheckout is enabled.
-TEST_F(AutofillManagerTest, GetAllForms) {
- FormData form;
- test::CreateTestAddressFormData(&form);
- std::vector<FormData> forms(1, form);
- // Enable autocheckout.
- autofill_manager_->set_autocheckout_url_prefix("test-prefix");
-
- PartialFormsSeen(forms);
-
- ASSERT_TRUE(HasSeenAutofillGetAllFormsMessage());
-}
-
// Test that we return all address profile suggestions when all form fields are
// empty.
TEST_F(AutofillManagerTest, GetProfileSuggestionsEmptyValue) {
@@ -930,79 +863,6 @@ TEST_F(AutofillManagerTest, GetProfileSuggestionsEmptyValue) {
expected_labels, expected_icons, expected_unique_ids);
}
-// Test that in the case of Autocheckout, forms seen are in order supplied.
-TEST_F(AutofillManagerTest, AutocheckoutFormsSeen) {
- FormData shipping_options;
- CreateTestShippingOptionsFormData(&shipping_options);
- FormData user_supplied;
- CreateTestFormWithAutocompleteAttribute(&user_supplied);
- FormData address;
- test::CreateTestAddressFormData(&address);
-
- // Push user_supplied before address and observe order changing when
- // Autocheckout is not enabled..
- std::vector<FormData> forms;
- forms.push_back(shipping_options);
- forms.push_back(user_supplied);
- forms.push_back(address);
-
- // Test without enabling Autocheckout. FormStructure should only contain
- // form1. Shipping Options form will not qualify as parsable form.
- FormsSeen(forms);
- std::vector<FormStructure*> form_structures;
- form_structures = autofill_manager_->GetFormStructures();
- ASSERT_EQ(2U, form_structures.size());
- EXPECT_EQ("/form.html", form_structures[0]->source_url().path());
- EXPECT_EQ("/userspecified.html", form_structures[1]->source_url().path());
- autofill_manager_->ClearFormStructures();
-
- // Test after enabling Autocheckout. Order should be shipping_options,
- // userspecified and then address form.
- autofill_manager_->set_autocheckout_url_prefix("yes-autocheckout");
- FormsSeen(forms);
- form_structures = autofill_manager_->GetFormStructures();
- ASSERT_EQ(3U, form_structures.size());
- EXPECT_EQ("/shipping.html", form_structures[0]->source_url().path());
- EXPECT_EQ("/userspecified.html", form_structures[1]->source_url().path());
- EXPECT_EQ("/form.html", form_structures[2]->source_url().path());
-}
-
-// Test that in the case of Autocheckout, forms seen are in order supplied.
-TEST_F(AutofillManagerTest, DynamicFormsSeen) {
- FormData shipping_options;
- CreateTestShippingOptionsFormData(&shipping_options);
- FormData user_supplied;
- CreateTestFormWithAutocompleteAttribute(&user_supplied);
- FormData address;
- test::CreateTestAddressFormData(&address);
-
- autofill_manager_->set_autocheckout_url_prefix("test-prefix");
- // Push user_supplied only
- std::vector<FormData> forms;
- forms.push_back(user_supplied);
-
- // Make sure normal form is handled correctly.
- FormsSeen(forms);
- std::vector<FormStructure*> form_structures;
- form_structures = autofill_manager_->GetFormStructures();
- ASSERT_EQ(1U, form_structures.size());
- EXPECT_EQ("/userspecified.html", form_structures[0]->source_url().path());
-
- // Push other forms
- forms.push_back(shipping_options);
- forms.push_back(address);
-
- // FormStructure should contain three and only three forms. Otherwise, it
- // would indicate that the manager didn't reset upon being notified of
- // the new forms;
- DynamicFormsSeen(forms);
- form_structures = autofill_manager_->GetFormStructures();
- ASSERT_EQ(3U, form_structures.size());
- EXPECT_EQ("/userspecified.html", form_structures[0]->source_url().path());
- EXPECT_EQ("/shipping.html", form_structures[1]->source_url().path());
- EXPECT_EQ("/form.html", form_structures[2]->source_url().path());
-}
-
// Test that we return only matching address profile suggestions when the
// selected form field has been partially filled out.
TEST_F(AutofillManagerTest, GetProfileSuggestionsMatchCharacter) {
@@ -2683,7 +2543,7 @@ TEST_F(AutofillManagerTest, FormSubmittedWithDifferentFields) {
FormsSeen(forms);
// Cache the expected form signature.
- std::string signature = FormStructure(form, std::string()).FormSignature();
+ std::string signature = FormStructure(form).FormSignature();
// Change the structure of the form prior to submission.
// Websites would typically invoke JavaScript either on page load or on form
@@ -3108,20 +2968,10 @@ namespace {
class MockAutofillManagerDelegate : public TestAutofillManagerDelegate {
public:
- MockAutofillManagerDelegate()
- : autocheckout_bubble_shown_(false) {}
+ MockAutofillManagerDelegate() {}
virtual ~MockAutofillManagerDelegate() {}
- virtual bool ShowAutocheckoutBubble(
- const gfx::RectF& bounds,
- bool is_google_user,
- const base::Callback<void(AutocheckoutBubbleState)>& callback) OVERRIDE {
- autocheckout_bubble_shown_ = true;
- callback.Run(AUTOCHECKOUT_BUBBLE_ACCEPTED);
- return true;
- }
-
virtual void ShowRequestAutocompleteDialog(
const FormData& form,
const GURL& source_url,
@@ -3135,12 +2985,7 @@ class MockAutofillManagerDelegate : public TestAutofillManagerDelegate {
user_supplied_data_.reset(user_supplied_data.release());
}
- bool autocheckout_bubble_shown() const {
- return autocheckout_bubble_shown_;
- }
-
private:
- bool autocheckout_bubble_shown_;
scoped_ptr<FormStructure> user_supplied_data_;
DISALLOW_COPY_AND_ASSIGN(MockAutofillManagerDelegate);
@@ -3148,65 +2993,6 @@ class MockAutofillManagerDelegate : public TestAutofillManagerDelegate {
} // namespace
-// Test that Autocheckout bubble is offered when server specifies field types.
-TEST_F(AutofillManagerTest, TestBubbleShown) {
- MockAutofillManagerDelegate delegate;
- autofill_manager_.reset(new TestAutofillManager(
- autofill_driver_.get(), &delegate, &personal_data_));
- autofill_manager_->set_autofill_enabled(true);
- autofill_manager_->MarkAsFirstPageInAutocheckoutFlow();
-
- FormData form;
- test::CreateTestAddressFormData(&form);
-
- TestFormStructure* form_structure = new TestFormStructure(form);
- AutofillMetrics metrics_logger; // ignored
- form_structure->DetermineHeuristicTypes(metrics_logger);
-
- // Build and add form structure with server data.
- std::vector<ServerFieldType> heuristic_types, server_types;
- for (size_t i = 0; i < form.fields.size(); ++i) {
- heuristic_types.push_back(UNKNOWN_TYPE);
- server_types.push_back(form_structure->field(i)->heuristic_type());
- }
- form_structure->SetFieldTypes(heuristic_types, server_types);
- autofill_manager_->AddSeenForm(form_structure);
-
- autofill_manager_->OnMaybeShowAutocheckoutBubble(form, gfx::RectF());
-
- EXPECT_TRUE(delegate.autocheckout_bubble_shown());
-}
-
-// Test that Autocheckout bubble is not offered when server doesn't have data
-// for the form.
-TEST_F(AutofillManagerTest, TestAutocheckoutBubbleNotShown) {
- MockAutofillManagerDelegate delegate;
- autofill_manager_.reset(new TestAutofillManager(
- autofill_driver_.get(), &delegate, &personal_data_));
- autofill_manager_->set_autofill_enabled(true);
- autofill_manager_->MarkAsFirstPageInAutocheckoutFlow();
-
- FormData form;
- test::CreateTestAddressFormData(&form);
-
- TestFormStructure* form_structure = new TestFormStructure(form);
- AutofillMetrics metrics_logger; // ignored
- form_structure->DetermineHeuristicTypes(metrics_logger);
-
- // Build form structure without server data.
- std::vector<ServerFieldType> heuristic_types, server_types;
- for (size_t i = 0; i < form.fields.size(); ++i) {
- heuristic_types.push_back(form_structure->field(i)->heuristic_type());
- server_types.push_back(NO_SERVER_DATA);
- }
- form_structure->SetFieldTypes(heuristic_types, server_types);
- autofill_manager_->AddSeenForm(form_structure);
-
- autofill_manager_->OnMaybeShowAutocheckoutBubble(form, gfx::RectF());
-
- EXPECT_FALSE(delegate.autocheckout_bubble_shown());
-}
-
// Test our external delegate is called at the right time.
TEST_F(AutofillManagerTest, TestExternalDelegate) {
FormData form;
@@ -3219,53 +3005,4 @@ TEST_F(AutofillManagerTest, TestExternalDelegate) {
EXPECT_TRUE(external_delegate_->on_query_seen());
}
-// Test that in the case of Autocheckout, forms seen are in order supplied.
-TEST_F(AutofillManagerTest, DynamicFormsSeenAndIgnored) {
- MockAutofillManagerDelegate delegate;
- autofill_manager_.reset(new TestAutofillManager(
- autofill_driver_.get(), &delegate, &personal_data_));
- FormData shipping_options;
- CreateTestShippingOptionsFormData(&shipping_options);
- FormData user_supplied;
- CreateTestFormWithAutocompleteAttribute(&user_supplied);
- FormData address;
- test::CreateTestAddressFormData(&address);
-
- autofill_manager_->set_autocheckout_url_prefix("test-prefix");
- // Push address only
- std::vector<FormData> forms;
- forms.push_back(address);
-
- // Build and add form structure with server data.
- scoped_ptr<TestFormStructure> form_structure(new TestFormStructure(address));
- std::vector<ServerFieldType> heuristic_types, server_types;
- for (size_t i = 0; i < address.fields.size(); ++i) {
- heuristic_types.push_back(UNKNOWN_TYPE);
- server_types.push_back(form_structure->field(i)->heuristic_type());
- }
- form_structure->SetFieldTypes(heuristic_types, server_types);
- autofill_manager_->AddSeenForm(form_structure.release());
-
- // Make sure normal form is handled correctly.
- autofill_manager_->MarkAsFirstPageInAutocheckoutFlowIgnoringAjax();
- std::vector<FormStructure*> form_structures;
- form_structures = autofill_manager_->GetFormStructures();
- ASSERT_EQ(1U, form_structures.size());
- EXPECT_EQ("/form.html", form_structures[0]->source_url().path());
-
- scoped_ptr<FormStructure> filled_form(new TestFormStructure(address));
- delegate.SetUserSuppliedData(filled_form.Pass());
- autofill_manager_->OnMaybeShowAutocheckoutBubble(address, gfx::RectF());
-
- // Push other forms
- forms.push_back(shipping_options);
- forms.push_back(user_supplied);
-
- // FormStructure should contain the same forms as before.
- DynamicFormsSeen(forms);
- form_structures = autofill_manager_->GetFormStructures();
- ASSERT_EQ(1U, form_structures.size());
- EXPECT_EQ("/form.html", form_structures[0]->source_url().path());
-}
-
} // namespace autofill

Powered by Google App Engine
This is Rietveld 408576698