Index: components/autofill/content/browser/autofill_driver_impl_unittest.cc |
diff --git a/components/autofill/content/browser/autofill_driver_impl_unittest.cc b/components/autofill/content/browser/autofill_driver_impl_unittest.cc |
new file mode 100644 |
index 0000000000000000000000000000000000000000..d510ec282b38178b28bcd679b50bd23221a2f50a |
--- /dev/null |
+++ b/components/autofill/content/browser/autofill_driver_impl_unittest.cc |
@@ -0,0 +1,73 @@ |
+// 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 <algorithm> |
+#include <vector> |
+ |
+#include "base/memory/scoped_ptr.h" |
+#include "chrome/browser/ui/autofill/tab_autofill_manager_delegate.h" |
blundell
2013/06/19 17:49:37
Is there a way around creating the real AutofillMa
Ilya Sherman
2013/06/20 00:07:16
You can probably use components/autofill/browser/t
blundell
2013/06/21 12:55:23
Done.
|
+#include "chrome/test/base/chrome_render_view_host_test_harness.h" |
blundell
2013/06/19 17:49:37
My understanding is that I can't change this to be
Ilya Sherman
2013/06/20 00:07:16
Yeah, that seems to be what Jói concluded as well.
|
+#include "components/autofill/browser/autofill_external_delegate.h" |
+#include "components/autofill/browser/autofill_manager.h" |
+#include "components/autofill/content/browser/autofill_driver_impl.h" |
+#include "content/public/browser/web_contents.h" |
+#include "testing/gmock/include/gmock/gmock.h" |
+#include "testing/gtest/include/gtest/gtest.h" |
+ |
+namespace autofill { |
+ |
+class AutofillManagerMock : public AutofillManager { |
Ilya Sherman
2013/06/20 00:07:16
nit: "MockAutofillManager"
blundell
2013/06/21 12:55:23
Done.
|
+ public: |
+ AutofillManagerMock(AutofillDriver* driver, |
+ autofill::AutofillManagerDelegate* delegate, |
Ilya Sherman
2013/06/20 00:07:16
nit: Since this code is in the autofill namespace
blundell
2013/06/21 12:55:23
Done.
|
+ const std::string& app_locale, |
+ AutofillDownloadManagerState enable_download_manager) |
+ : AutofillManager(driver, delegate, app_locale, enable_download_manager) { |
+ } |
+ virtual ~AutofillManagerMock() {} |
+ |
+ MOCK_METHOD1(SetExternalDelegate, void(AutofillExternalDelegate*)); |
+}; |
+ |
+class AutofillDriverImplTest : public ChromeRenderViewHostTestHarness { |
+ public: |
+ virtual void SetUp() OVERRIDE { |
+ ChromeRenderViewHostTestHarness::SetUp(); |
+ |
+ TabAutofillManagerDelegate::CreateForWebContents(web_contents()); |
+ TabAutofillManagerDelegate* delegate = |
+ TabAutofillManagerDelegate::FromWebContents(web_contents()); |
+ |
+ std::string app_locale = "en-US"; |
+ AutofillManager::AutofillDownloadManagerState download_state = |
+ AutofillManager::DISABLE_AUTOFILL_DOWNLOAD_MANAGER; |
+ driver_ = new AutofillDriverImpl(web_contents(), |
+ delegate, |
+ app_locale, |
+ download_state, |
+ true); |
+ autofill_manager_ = new AutofillManagerMock(driver_, |
+ delegate, app_locale, download_state); |
+ driver_->set_autofill_manager( |
+ scoped_ptr<AutofillManager>(autofill_manager_)); |
Ilya Sherman
2013/06/20 00:07:16
note: If you take my advice about creating a subcl
blundell
2013/06/21 12:55:23
Done.
|
+ } |
+ |
+ virtual void TearDown() OVERRIDE { |
+ delete driver_; |
+ ChromeRenderViewHostTestHarness::TearDown(); |
+ } |
+ |
+ protected: |
+ // Owned by this object. |
+ AutofillDriverImpl* driver_; |
blundell
2013/06/19 17:49:37
I had made this a scoped ptr but got complaints ab
Ilya Sherman
2013/06/20 00:07:16
Please create a "class TestAutofillDriverImpl : pu
blundell
2013/06/21 12:55:23
Done.
|
+ // Owned by |driver_|. |
+ AutofillManagerMock* autofill_manager_; |
+}; |
+ |
+TEST_F(AutofillDriverImplTest, SetExternalDelegate) { |
+ EXPECT_CALL(*autofill_manager_, SetExternalDelegate(NULL)); |
+ driver_->SetAutofillExternalDelegate(scoped_ptr<AutofillExternalDelegate>()); |
Ilya Sherman
2013/06/20 00:07:16
Hmm, this is testing deprecated functionality, i.e
blundell
2013/06/21 12:55:23
Replaced this test with tests to test response to
|
+} |
+ |
+} // namespace autofill |