Chromium Code Reviews| Index: components/autofill/browser/autocheckout/whitelist_manager_unittest.cc |
| diff --git a/components/autofill/browser/autocheckout/whitelist_manager_unittest.cc b/components/autofill/browser/autocheckout/whitelist_manager_unittest.cc |
| index 6ff02bb940cf8892c257c6cd06d9494c2fbdb721..00408c9b8716fc7908d24b8ada71e5e9fc88f45e 100644 |
| --- a/components/autofill/browser/autocheckout/whitelist_manager_unittest.cc |
| +++ b/components/autofill/browser/autocheckout/whitelist_manager_unittest.cc |
| @@ -7,6 +7,7 @@ |
| #include "base/message_loop.h" |
| #include "chrome/test/base/testing_profile.h" |
| #include "components/autofill/browser/autocheckout/whitelist_manager.h" |
| +#include "components/autofill/browser/autofill_metrics.h" |
| #include "components/autofill/common/autofill_switches.h" |
| #include "content/public/test/test_browser_thread.h" |
| #include "googleurl/src/gurl.h" |
| @@ -15,6 +16,7 @@ |
| #include "net/url_request/test_url_fetcher_factory.h" |
| #include "net/url_request/url_fetcher_delegate.h" |
| #include "net/url_request/url_request_status.h" |
| +#include "testing/gmock/include/gmock/gmock.h" |
| #include "testing/gtest/include/gtest/gtest.h" |
| namespace { |
| @@ -32,6 +34,16 @@ namespace autocheckout { |
| class WhitelistManagerTest; |
| +class MockAutofillMetrics : public autofill::AutofillMetrics { |
| + public: |
| + MockAutofillMetrics() {} |
| + MOCK_CONST_METHOD2(LogAutocheckoutWhitelistDownloadDuration, |
| + void(const base::TimeDelta& duration, |
| + autofill::AutofillMetrics::WhitelistDownloadStatus)); |
| + private: |
| + DISALLOW_COPY_AND_ASSIGN(MockAutofillMetrics); |
| +}; |
| + |
| class TestWhitelistManager : public WhitelistManager { |
| public: |
| TestWhitelistManager() |
| @@ -64,9 +76,15 @@ class TestWhitelistManager : public WhitelistManager { |
| return WhitelistManager::url_prefixes(); |
| } |
| + virtual const AutofillMetrics& GetMetricLogger() const OVERRIDE { |
| + return mock_metrics_logger_; |
| + } |
| + |
| private: |
| bool did_start_download_timer_; |
| + MockAutofillMetrics mock_metrics_logger_; |
| + |
| DISALLOW_COPY_AND_ASSIGN(TestWhitelistManager); |
| }; |
| @@ -97,6 +115,16 @@ class WhitelistManagerTest : public testing::Test { |
| CreateWhitelistManager(); |
| + EXPECT_CALL( |
| + static_cast<const MockAutofillMetrics&>( |
| + whitelist_manager_->GetMetricLogger()), |
| + LogAutocheckoutWhitelistDownloadDuration( |
| + testing::_, |
| + response_code == net::HTTP_OK ? |
| + autofill::AutofillMetrics::WHITELIST_DOWNLOAD_SUCCEEDED : |
| + autofill::AutofillMetrics::WHITELIST_DOWNLOAD_FAILED)) |
| + .Times(1); |
|
Ilya Sherman
2013/04/17 00:18:01
nit: This is pretty hard to read. Could you break
benquan
2013/04/17 01:51:30
Done.
|
| + |
| whitelist_manager_->TriggerDownload(); |
| net::TestURLFetcher* fetcher = factory.GetFetcherByID(0); |
| ASSERT_TRUE(fetcher); |