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

Unified Diff: components/autofill/content/browser/request_autocomplete_manager_unittest.cc

Issue 1931043002: Remove requestAutocomplete (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 4 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
Index: components/autofill/content/browser/request_autocomplete_manager_unittest.cc
diff --git a/components/autofill/content/browser/request_autocomplete_manager_unittest.cc b/components/autofill/content/browser/request_autocomplete_manager_unittest.cc
deleted file mode 100644
index 9786b80fef3bd63185d8c32ad60351827d81f99a..0000000000000000000000000000000000000000
--- a/components/autofill/content/browser/request_autocomplete_manager_unittest.cc
+++ /dev/null
@@ -1,174 +0,0 @@
-// Copyright 2013 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "components/autofill/content/browser/request_autocomplete_manager.h"
-
-#include <stdint.h>
-
-#include <tuple>
-
-#include "base/macros.h"
-#include "base/memory/ptr_util.h"
-#include "components/autofill/content/browser/content_autofill_driver.h"
-#include "components/autofill/content/common/autofill_messages.h"
-#include "components/autofill/core/browser/test_autofill_client.h"
-#include "content/public/browser/web_contents.h"
-#include "content/public/test/mock_render_process_host.h"
-#include "content/public/test/test_renderer_host.h"
-#include "testing/gtest/include/gtest/gtest.h"
-
-namespace autofill {
-
-namespace {
-
-const char kAppLocale[] = "en-US";
-const AutofillManager::AutofillDownloadManagerState kDownloadState =
- AutofillManager::DISABLE_AUTOFILL_DOWNLOAD_MANAGER;
-
-class TestAutofillManager : public AutofillManager {
- public:
- TestAutofillManager(AutofillDriver* driver, AutofillClient* client)
- : AutofillManager(driver, client, kAppLocale, kDownloadState),
- autofill_enabled_(true) {}
- ~TestAutofillManager() override {}
-
- bool IsAutofillEnabled() const override { return autofill_enabled_; }
-
- void set_autofill_enabled(bool autofill_enabled) {
- autofill_enabled_ = autofill_enabled;
- }
-
- private:
- bool autofill_enabled_;
-
- DISALLOW_COPY_AND_ASSIGN(TestAutofillManager);
-};
-
-class CustomTestAutofillClient : public TestAutofillClient {
- public:
- CustomTestAutofillClient() : should_simulate_success_(true) {}
-
- ~CustomTestAutofillClient() override {}
-
- void ShowRequestAutocompleteDialog(const FormData& form,
- content::RenderFrameHost* rfh,
- const ResultCallback& callback) override {
- if (should_simulate_success_) {
- FormStructure form_structure(form);
- callback.Run(
- AutocompleteResultSuccess, base::string16(), &form_structure);
- } else {
- callback.Run(AutofillClient::AutocompleteResultErrorDisabled,
- base::string16(),
- NULL);
- }
- }
-
- void set_should_simulate_success(bool should_simulate_success) {
- should_simulate_success_ = should_simulate_success;
- }
-
- private:
- // Enable testing the path where a callback is called without a
- // valid FormStructure.
- bool should_simulate_success_;
-
- DISALLOW_COPY_AND_ASSIGN(CustomTestAutofillClient);
-};
-
-class TestContentAutofillDriver : public ContentAutofillDriver {
- public:
- TestContentAutofillDriver(content::RenderFrameHost* rfh,
- AutofillClient* client)
- : ContentAutofillDriver(rfh, client, kAppLocale, kDownloadState) {
- SetAutofillManager(base::WrapUnique<AutofillManager>(
- new TestAutofillManager(this, client)));
- }
- ~TestContentAutofillDriver() override {}
-
- TestAutofillManager* mock_autofill_manager() {
- return static_cast<TestAutofillManager*>(autofill_manager());
- }
-
- DISALLOW_COPY_AND_ASSIGN(TestContentAutofillDriver);
-};
-
-} // namespace
-
-class RequestAutocompleteManagerTest :
- public content::RenderViewHostTestHarness {
- public:
- RequestAutocompleteManagerTest() {}
-
- void SetUp() override {
- content::RenderViewHostTestHarness::SetUp();
-
- driver_.reset(new TestContentAutofillDriver(web_contents()->GetMainFrame(),
- &autofill_client_));
- request_autocomplete_manager_.reset(
- new RequestAutocompleteManager(driver_.get()));
- }
-
- void TearDown() override {
- // Reset the driver now to cause all pref observers to be removed and avoid
- // crashes that otherwise occur in the destructor.
- driver_.reset();
- content::RenderViewHostTestHarness::TearDown();
- }
-
- // Searches for an |AutofillMsg_RequestAutocompleteResult| message in the
- // queue of sent IPC messages. If none is present, returns false. Otherwise,
- // extracts the first |AutofillMsg_RequestAutocompleteResult| message, fills
- // the output parameter with the value of the message's parameter, and
- // clears the queue of sent messages.
- bool GetAutocompleteResultMessage(
- blink::WebFormElement::AutocompleteResult* result) {
- const uint32_t kMsgID = AutofillMsg_RequestAutocompleteResult::ID;
- const IPC::Message* message =
- process()->sink().GetFirstMessageMatching(kMsgID);
- if (!message)
- return false;
- std::tuple<blink::WebFormElement::AutocompleteResult, base::string16,
- FormData> autofill_param;
- AutofillMsg_RequestAutocompleteResult::Read(message, &autofill_param);
- *result = std::get<0>(autofill_param);
- process()->sink().ClearMessages();
- return true;
- }
-
- protected:
- CustomTestAutofillClient autofill_client_;
- std::unique_ptr<TestContentAutofillDriver> driver_;
- std::unique_ptr<RequestAutocompleteManager> request_autocomplete_manager_;
-
- DISALLOW_COPY_AND_ASSIGN(RequestAutocompleteManagerTest);
-};
-
-TEST_F(RequestAutocompleteManagerTest, OnRequestAutocompleteSuccess) {
- blink::WebFormElement::AutocompleteResult result;
- request_autocomplete_manager_->OnRequestAutocomplete(FormData());
- EXPECT_TRUE(GetAutocompleteResultMessage(&result));
- EXPECT_EQ(blink::WebFormElement::AutocompleteResultSuccess, result);
-}
-
-TEST_F(RequestAutocompleteManagerTest, OnRequestAutocompleteCancel) {
- blink::WebFormElement::AutocompleteResult result;
- autofill_client_.set_should_simulate_success(false);
- request_autocomplete_manager_->OnRequestAutocomplete(FormData());
- EXPECT_TRUE(GetAutocompleteResultMessage(&result));
- EXPECT_EQ(blink::WebFormElement::AutocompleteResultErrorDisabled, result);
-}
-
-// Disabling autofill doesn't disable the dialog (it just disables the use of
-// autofill in the dialog).
-TEST_F(RequestAutocompleteManagerTest,
- OnRequestAutocompleteWithAutofillDisabled) {
- blink::WebFormElement::AutocompleteResult result;
- driver_->mock_autofill_manager()->set_autofill_enabled(false);
- request_autocomplete_manager_->OnRequestAutocomplete(FormData());
- EXPECT_TRUE(GetAutocompleteResultMessage(&result));
- EXPECT_EQ(blink::WebFormElement::AutocompleteResultSuccess, result);
-}
-
-} // namespace autofill

Powered by Google App Engine
This is Rietveld 408576698