Index: chrome/browser/autofill/autofill_download_unittest.cc |
diff --git a/chrome/browser/autofill/autofill_download_unittest.cc b/chrome/browser/autofill/autofill_download_unittest.cc |
index 68173c6c05393106ad388467fefaa0e5b83ecc11..a2f9d78d8bd6dc7a0f3997f48edd54f04923a0ed 100644 |
--- a/chrome/browser/autofill/autofill_download_unittest.cc |
+++ b/chrome/browser/autofill/autofill_download_unittest.cc |
@@ -8,9 +8,11 @@ |
#include "base/test/test_timeouts.h" |
#include "base/utf_string_conversions.h" |
#include "chrome/browser/autofill/autofill_download.h" |
+#include "chrome/browser/autofill/autofill_metrics.h" |
#include "chrome/common/net/test_url_fetcher_factory.h" |
#include "chrome/test/testing_profile.h" |
#include "net/url_request/url_request_status.h" |
+#include "testing/gmock/include/gmock/gmock.h" |
#include "testing/gtest/include/gtest/gtest.h" |
#include "third_party/WebKit/WebKit/chromium/public/WebInputElement.h" |
#include "webkit/glue/form_data.h" |
@@ -18,6 +20,19 @@ |
using webkit_glue::FormData; |
using WebKit::WebInputElement; |
+namespace { |
+ |
+class MockAutoFillMetrics : public AutoFillMetrics { |
+ public: |
+ MockAutoFillMetrics() {} |
+ MOCK_CONST_METHOD1(Log, void(ServerQueryMetric metric)); |
+ |
+ private: |
+ DISALLOW_COPY_AND_ASSIGN(MockAutoFillMetrics); |
+}; |
+ |
+} // namespace |
+ |
// This tests AutoFillDownloadManager. AutoFillDownloadTestHelper implements |
// AutoFillDownloadManager::Observer and creates an instance of |
// AutoFillDownloadManager. Then it records responses to different initiated |
@@ -86,8 +101,6 @@ class AutoFillDownloadTestHelper : public AutoFillDownloadManager::Observer { |
AutoFillDownloadManager download_manager; |
}; |
-namespace { |
- |
TEST(AutoFillDownloadTest, QueryAndUploadTest) { |
MessageLoopForUI message_loop; |
// Create and register factory. |
@@ -173,7 +186,10 @@ TEST(AutoFillDownloadTest, QueryAndUploadTest) { |
form_structures.push_back(form_structure); |
// Request with id 0. |
- EXPECT_TRUE(helper.download_manager.StartQueryRequest(form_structures)); |
+ MockAutoFillMetrics mock_metric_logger; |
+ EXPECT_CALL(mock_metric_logger, Log(AutoFillMetrics::QUERY_SENT)).Times(1); |
+ EXPECT_TRUE(helper.download_manager.StartQueryRequest(form_structures, |
+ mock_metric_logger)); |
// Set upload to 100% so requests happen. |
helper.download_manager.SetPositiveUploadRate(1.0); |
helper.download_manager.SetNegativeUploadRate(1.0); |
@@ -258,7 +274,9 @@ TEST(AutoFillDownloadTest, QueryAndUploadTest) { |
EXPECT_EQ(NULL, fetcher); |
// Request with id 3. |
- EXPECT_TRUE(helper.download_manager.StartQueryRequest(form_structures)); |
+ EXPECT_CALL(mock_metric_logger, Log(AutoFillMetrics::QUERY_SENT)).Times(1); |
+ EXPECT_TRUE(helper.download_manager.StartQueryRequest(form_structures, |
+ mock_metric_logger)); |
fetcher = factory.GetFetcherByID(3); |
ASSERT_TRUE(fetcher); |
fetcher->set_backoff_delay( |
@@ -274,7 +292,9 @@ TEST(AutoFillDownloadTest, QueryAndUploadTest) { |
helper.responses_.pop_front(); |
// Query requests should be ignored for the next 10 seconds. |
- EXPECT_FALSE(helper.download_manager.StartQueryRequest(form_structures)); |
+ EXPECT_CALL(mock_metric_logger, Log(AutoFillMetrics::QUERY_SENT)).Times(0); |
+ EXPECT_FALSE(helper.download_manager.StartQueryRequest(form_structures, |
+ mock_metric_logger)); |
fetcher = factory.GetFetcherByID(4); |
EXPECT_EQ(NULL, fetcher); |
@@ -304,5 +324,3 @@ TEST(AutoFillDownloadTest, QueryAndUploadTest) { |
// Make sure consumer of URLFetcher does the right thing. |
URLFetcher::set_factory(NULL); |
} |
- |
-} // namespace |