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

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

Issue 772253003: Create an autofill Suggestion class (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: merge Created 6 years 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_external_delegate_unittest.cc
diff --git a/components/autofill/core/browser/autofill_external_delegate_unittest.cc b/components/autofill/core/browser/autofill_external_delegate_unittest.cc
index 7b078a6a2c2d67a94af6a924b39ebe841ef8abab..6890162dfad2dc89d4d1404691678e8be4c90137 100644
--- a/components/autofill/core/browser/autofill_external_delegate_unittest.cc
+++ b/components/autofill/core/browser/autofill_external_delegate_unittest.cc
@@ -12,6 +12,7 @@
#include "base/test/histogram_tester.h"
#include "components/autofill/core/browser/autofill_manager.h"
#include "components/autofill/core/browser/popup_item_ids.h"
+#include "components/autofill/core/browser/suggestion_test_helpers.h"
#include "components/autofill/core/browser/test_autofill_client.h"
#include "components/autofill/core/browser/test_autofill_driver.h"
#include "components/autofill/core/browser/test_autofill_external_delegate.h"
@@ -59,13 +60,10 @@ class MockAutofillClient : public autofill::TestAutofillClient {
MOCK_METHOD1(ScanCreditCard,
void(const CreditCardScanCallback& callbacK));
- MOCK_METHOD7(ShowAutofillPopup,
+ MOCK_METHOD4(ShowAutofillPopup,
void(const gfx::RectF& element_bounds,
base::i18n::TextDirection text_direction,
- const std::vector<base::string16>& values,
- const std::vector<base::string16>& labels,
- const std::vector<base::string16>& icons,
- const std::vector<int>& identifiers,
+ const std::vector<Suggestion>& suggestions,
base::WeakPtr<AutofillPopupDelegate> delegate));
MOCK_METHOD2(UpdateAutofillPopupDataListValues,
@@ -139,12 +137,10 @@ class AutofillExternalDelegateUnitTest : public testing::Test {
}
void IssueOnSuggestionsReturned() {
- std::vector<base::string16> autofill_item;
- autofill_item.push_back(base::string16());
- std::vector<int> autofill_ids;
- autofill_ids.push_back(kAutofillProfileId);
- external_delegate_->OnSuggestionsReturned(
- kQueryId, autofill_item, autofill_item, autofill_item, autofill_ids);
+ std::vector<Suggestion> suggestions;
+ suggestions.push_back(Suggestion());
+ suggestions[0].frontend_id = kAutofillProfileId;
+ external_delegate_->OnSuggestionsReturned(kQueryId, suggestions);
}
testing::NiceMock<MockAutofillClient> autofill_client_;
@@ -164,25 +160,17 @@ TEST_F(AutofillExternalDelegateUnitTest, TestExternalDelegateVirtualCalls) {
autofill_client_,
ShowAutofillPopup(_,
_,
- _,
- _,
- _,
- testing::ElementsAre(
+ SuggestionVectorIdsAre(testing::ElementsAre(
kAutofillProfileId,
static_cast<int>(POPUP_ITEM_ID_SEPARATOR),
- static_cast<int>(POPUP_ITEM_ID_AUTOFILL_OPTIONS)),
+ static_cast<int>(POPUP_ITEM_ID_AUTOFILL_OPTIONS))),
_));
// This should call ShowAutofillPopup.
- std::vector<base::string16> autofill_item;
- autofill_item.push_back(base::string16());
- std::vector<int> autofill_ids;
- autofill_ids.push_back(kAutofillProfileId);
- external_delegate_->OnSuggestionsReturned(kQueryId,
- autofill_item,
- autofill_item,
- autofill_item,
- autofill_ids);
+ std::vector<Suggestion> autofill_item;
+ autofill_item.push_back(Suggestion());
+ autofill_item[0].frontend_id = kAutofillProfileId;
+ external_delegate_->OnSuggestionsReturned(kQueryId, autofill_item);
EXPECT_CALL(*autofill_manager_,
FillOrPreviewForm(
@@ -191,7 +179,8 @@ TEST_F(AutofillExternalDelegateUnitTest, TestExternalDelegateVirtualCalls) {
// This should trigger a call to hide the popup since we've selected an
// option.
- external_delegate_->DidAcceptSuggestion(autofill_item[0], autofill_ids[0]);
+ external_delegate_->DidAcceptSuggestion(autofill_item[0].value,
+ autofill_item[0].frontend_id);
}
// Test that data list elements for a node will appear in the Autofill popup.
@@ -213,27 +202,19 @@ TEST_F(AutofillExternalDelegateUnitTest, ExternalDelegateDataList) {
autofill_client_,
ShowAutofillPopup(_,
_,
- _,
- _,
- _,
- testing::ElementsAre(
+ SuggestionVectorIdsAre(testing::ElementsAre(
static_cast<int>(POPUP_ITEM_ID_DATALIST_ENTRY),
static_cast<int>(POPUP_ITEM_ID_SEPARATOR),
kAutofillProfileId,
static_cast<int>(POPUP_ITEM_ID_SEPARATOR),
- static_cast<int>(POPUP_ITEM_ID_AUTOFILL_OPTIONS)),
+ static_cast<int>(POPUP_ITEM_ID_AUTOFILL_OPTIONS))),
_));
// This should call ShowAutofillPopup.
- std::vector<base::string16> autofill_item;
- autofill_item.push_back(base::string16());
- std::vector<int> autofill_ids;
- autofill_ids.push_back(kAutofillProfileId);
- external_delegate_->OnSuggestionsReturned(kQueryId,
- autofill_item,
- autofill_item,
- autofill_item,
- autofill_ids);
+ std::vector<Suggestion> autofill_item;
+ autofill_item.push_back(Suggestion());
+ autofill_item[0].frontend_id = kAutofillProfileId;
+ external_delegate_->OnSuggestionsReturned(kQueryId, autofill_item);
// Try calling OnSuggestionsReturned with no Autofill values and ensure
// the datalist items are still shown.
@@ -243,26 +224,19 @@ TEST_F(AutofillExternalDelegateUnitTest, ExternalDelegateDataList) {
ShowAutofillPopup(
_,
_,
- _,
- _,
- _,
- testing::ElementsAre(static_cast<int>(POPUP_ITEM_ID_DATALIST_ENTRY)),
+ SuggestionVectorIdsAre(testing::ElementsAre(
+ static_cast<int>(POPUP_ITEM_ID_DATALIST_ENTRY))),
_));
- autofill_item = std::vector<base::string16>();
- autofill_ids = std::vector<int>();
- external_delegate_->OnSuggestionsReturned(kQueryId,
- autofill_item,
- autofill_item,
- autofill_item,
- autofill_ids);
+ autofill_item.clear();
+ external_delegate_->OnSuggestionsReturned(kQueryId, autofill_item);
}
// Test that datalist values can get updated while a popup is showing.
TEST_F(AutofillExternalDelegateUnitTest, UpdateDataListWhileShowingPopup) {
IssueOnQuery(kQueryId);
- EXPECT_CALL(autofill_client_, ShowAutofillPopup(_, _, _, _, _, _, _))
+ EXPECT_CALL(autofill_client_, ShowAutofillPopup(_, _, _, _))
.Times(0);
// Make sure just setting the data list values doesn't cause the popup to
@@ -282,27 +256,19 @@ TEST_F(AutofillExternalDelegateUnitTest, UpdateDataListWhileShowingPopup) {
autofill_client_,
ShowAutofillPopup(_,
_,
- _,
- _,
- _,
- testing::ElementsAre(
+ SuggestionVectorIdsAre(testing::ElementsAre(
static_cast<int>(POPUP_ITEM_ID_DATALIST_ENTRY),
static_cast<int>(POPUP_ITEM_ID_SEPARATOR),
kAutofillProfileId,
static_cast<int>(POPUP_ITEM_ID_SEPARATOR),
- static_cast<int>(POPUP_ITEM_ID_AUTOFILL_OPTIONS)),
+ static_cast<int>(POPUP_ITEM_ID_AUTOFILL_OPTIONS))),
_));
// Ensure the popup is displayed.
- std::vector<base::string16> autofill_item;
- autofill_item.push_back(base::string16());
- std::vector<int> autofill_ids;
- autofill_ids.push_back(kAutofillProfileId);
- external_delegate_->OnSuggestionsReturned(kQueryId,
- autofill_item,
- autofill_item,
- autofill_item,
- autofill_ids);
+ std::vector<Suggestion> autofill_item;
+ autofill_item.push_back(Suggestion());
+ autofill_item[0].frontend_id = kAutofillProfileId;
+ external_delegate_->OnSuggestionsReturned(kQueryId, autofill_item);
// This would normally get called from ShowAutofillPopup, but it is mocked so
// we need to call OnPopupShown ourselves.
@@ -332,22 +298,15 @@ TEST_F(AutofillExternalDelegateUnitTest, AutofillWarnings) {
ShowAutofillPopup(
_,
_,
- _,
- _,
- _,
- testing::ElementsAre(static_cast<int>(POPUP_ITEM_ID_WARNING_MESSAGE)),
+ SuggestionVectorIdsAre(testing::ElementsAre(
+ static_cast<int>(POPUP_ITEM_ID_WARNING_MESSAGE))),
_));
// This should call ShowAutofillPopup.
- std::vector<base::string16> autofill_item;
- autofill_item.push_back(base::string16());
- std::vector<int> autofill_ids;
- autofill_ids.push_back(POPUP_ITEM_ID_WARNING_MESSAGE);
- external_delegate_->OnSuggestionsReturned(kQueryId,
- autofill_item,
- autofill_item,
- autofill_item,
- autofill_ids);
+ std::vector<Suggestion> autofill_item;
+ autofill_item.push_back(Suggestion());
+ autofill_item[0].frontend_id = POPUP_ITEM_ID_WARNING_MESSAGE;
+ external_delegate_->OnSuggestionsReturned(kQueryId, autofill_item);
}
// Test that the Autofill popup doesn't display a warning explaining why
@@ -367,20 +326,15 @@ TEST_F(AutofillExternalDelegateUnitTest, NoAutofillWarningsWithoutSuggestions) {
external_delegate_->OnQuery(kQueryId, form, field, element_bounds, true);
- EXPECT_CALL(autofill_client_, ShowAutofillPopup(_, _, _, _, _, _, _))
+ EXPECT_CALL(autofill_client_, ShowAutofillPopup(_, _, _, _))
.Times(0);
EXPECT_CALL(autofill_client_, HideAutofillPopup()).Times(1);
// This should not call ShowAutofillPopup.
- std::vector<base::string16> autofill_item;
- autofill_item.push_back(base::string16());
- std::vector<int> autofill_ids;
- autofill_ids.push_back(POPUP_ITEM_ID_AUTOCOMPLETE_ENTRY);
- external_delegate_->OnSuggestionsReturned(kQueryId,
- autofill_item,
- autofill_item,
- autofill_item,
- autofill_ids);
+ std::vector<Suggestion> autofill_item;
+ autofill_item.push_back(Suggestion());
+ autofill_item[0].frontend_id = POPUP_ITEM_ID_AUTOCOMPLETE_ENTRY;
+ external_delegate_->OnSuggestionsReturned(kQueryId, autofill_item);
}
// Test that the Autofill delegate doesn't try and fill a form with a
@@ -423,7 +377,7 @@ TEST_F(AutofillExternalDelegateUnitTest, ExternalDelegateClearPreviewedForm) {
// Test that the popup is hidden once we are done editing the autofill field.
TEST_F(AutofillExternalDelegateUnitTest,
ExternalDelegateHidePopupAfterEditing) {
- EXPECT_CALL(autofill_client_, ShowAutofillPopup(_, _, _, _, _, _, _));
+ EXPECT_CALL(autofill_client_, ShowAutofillPopup(_, _, _, _));
autofill::GenerateTestAutofillPopup(external_delegate_.get());
EXPECT_CALL(autofill_client_, HideAutofillPopup());
@@ -546,20 +500,15 @@ TEST_F(AutofillExternalDelegateUnitTest, ExternalDelegateHideWarning) {
external_delegate_->OnQuery(kQueryId, form, field, element_bounds, false);
- std::vector<base::string16> autofill_items;
- autofill_items.push_back(base::string16());
- std::vector<int> autofill_ids;
- autofill_ids.push_back(POPUP_ITEM_ID_AUTOCOMPLETE_ENTRY);
+ std::vector<Suggestion> autofill_items;
+ autofill_items.push_back(Suggestion());
+ autofill_items[0].frontend_id = POPUP_ITEM_ID_AUTOCOMPLETE_ENTRY;
// Ensure the popup tries to hide itself, since it is not allowed to show
// anything.
EXPECT_CALL(autofill_client_, HideAutofillPopup());
- external_delegate_->OnSuggestionsReturned(kQueryId,
- autofill_items,
- autofill_items,
- autofill_items,
- autofill_ids);
+ external_delegate_->OnSuggestionsReturned(kQueryId, autofill_items);
}
TEST_F(AutofillExternalDelegateUnitTest, IgnoreAutocompleteOffForAutofill) {
@@ -571,20 +520,15 @@ TEST_F(AutofillExternalDelegateUnitTest, IgnoreAutocompleteOffForAutofill) {
external_delegate_->OnQuery(kQueryId, form, field, element_bounds, false);
- std::vector<base::string16> autofill_items;
- autofill_items.push_back(base::string16());
- std::vector<int> autofill_ids;
- autofill_ids.push_back(POPUP_ITEM_ID_AUTOCOMPLETE_ENTRY);
+ std::vector<Suggestion> autofill_items;
+ autofill_items.push_back(Suggestion());
+ autofill_items[0].frontend_id = POPUP_ITEM_ID_AUTOCOMPLETE_ENTRY;
// Ensure the popup tries to show itself, despite autocomplete="off".
- EXPECT_CALL(autofill_client_, ShowAutofillPopup(_, _, _, _, _, _, _));
+ EXPECT_CALL(autofill_client_, ShowAutofillPopup(_, _, _, _));
EXPECT_CALL(autofill_client_, HideAutofillPopup()).Times(0);
- external_delegate_->OnSuggestionsReturned(kQueryId,
- autofill_items,
- autofill_items,
- autofill_items,
- autofill_ids);
+ external_delegate_->OnSuggestionsReturned(kQueryId, autofill_items);
}
TEST_F(AutofillExternalDelegateUnitTest, ExternalDelegateFillFieldWithValue) {
« no previous file with comments | « components/autofill/core/browser/autofill_external_delegate.cc ('k') | components/autofill/core/browser/autofill_manager.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698