Chromium Code Reviews| Index: components/feedback/feedback_uploader_unittest.cc |
| diff --git a/chrome/browser/feedback/feedback_uploader_unittest.cc b/components/feedback/feedback_uploader_unittest.cc |
| similarity index 78% |
| rename from chrome/browser/feedback/feedback_uploader_unittest.cc |
| rename to components/feedback/feedback_uploader_unittest.cc |
| index b504be03f633f57af3af7c1c9a9a2b9272b6c04b..9e8465523b42a79905fc80c2d3779f225e229164 100644 |
| --- a/chrome/browser/feedback/feedback_uploader_unittest.cc |
| +++ b/components/feedback/feedback_uploader_unittest.cc |
| @@ -2,17 +2,21 @@ |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| -#include "chrome/browser/feedback/feedback_uploader.h" |
| +#include "components/feedback/feedback_uploader.h" |
| #include <set> |
| #include "base/bind.h" |
| #include "base/message_loop/message_loop.h" |
| +#include "base/prefs/testing_pref_service.h" |
| #include "base/run_loop.h" |
| -#include "chrome/browser/feedback/feedback_uploader_chrome.h" |
| -#include "chrome/browser/feedback/feedback_uploader_factory.h" |
| -#include "chrome/test/base/testing_profile.h" |
| +#include "base/stl_util.h" |
| +#include "components/feedback/feedback_uploader_chrome.h" |
| +#include "components/feedback/feedback_uploader_factory.h" |
| +#include "components/user_prefs/user_prefs.h" |
| +#include "content/public/test/test_browser_context.h" |
| #include "content/public/test/test_browser_thread.h" |
| +#include "testing/gmock/include/gmock/gmock.h" |
| #include "testing/gtest/include/gtest/gtest.h" |
| namespace { |
| @@ -26,9 +30,17 @@ const char kReportFive[] = "five"; |
| const base::TimeDelta kRetryDelayForTest = |
| base::TimeDelta::FromMilliseconds(100); |
| +class MockUploader : public feedback::FeedbackUploader, public KeyedService { |
| + public: |
| + MockUploader(content::BrowserContext* context) |
| + : FeedbackUploader(context ? context->GetPath() : base::FilePath(), |
| + content::BrowserThread::GetBlockingPool()) {} |
| + |
| + MOCK_METHOD1(DispatchReport, void(const std::string&)); |
| +}; |
| + |
| KeyedService* CreateFeedbackUploaderService(content::BrowserContext* context) { |
| - return new feedback::FeedbackUploaderChrome( |
| - Profile::FromBrowserContext(context)); |
| + return new MockUploader(context); |
|
rkc
2014/04/28 22:41:32
Any particular reason we're using a mock uploader
achaulk
2014/04/30 17:12:34
Oh, this is a holdover when when the actual upload
|
| } |
| } // namespace |
| @@ -39,13 +51,14 @@ class FeedbackUploaderTest : public testing::Test { |
| protected: |
| FeedbackUploaderTest() |
| : ui_thread_(content::BrowserThread::UI, &message_loop_), |
| - profile_(new TestingProfile()), |
| + context_(new content::TestBrowserContext()), |
| dispatched_reports_count_(0), |
| expected_reports_(0) { |
| + user_prefs::UserPrefs::Set(context_.get(), new TestingPrefServiceSimple()); |
| FeedbackUploaderFactory::GetInstance()->SetTestingFactory( |
| - profile_.get(), &CreateFeedbackUploaderService); |
| + context_.get(), &CreateFeedbackUploaderService); |
| - uploader_ = FeedbackUploaderFactory::GetForBrowserContext(profile_.get()); |
| + uploader_ = FeedbackUploaderFactory::GetForBrowserContext(context_.get()); |
| uploader_->setup_for_test( |
| base::Bind(&FeedbackUploaderTest::MockDispatchReport, |
| base::Unretained(this)), |
| @@ -54,7 +67,7 @@ class FeedbackUploaderTest : public testing::Test { |
| virtual ~FeedbackUploaderTest() { |
| FeedbackUploaderFactory::GetInstance()->SetTestingFactory( |
| - profile_.get(), NULL); |
| + context_.get(), NULL); |
| } |
| void QueueReport(const std::string& data) { |
| @@ -97,7 +110,7 @@ class FeedbackUploaderTest : public testing::Test { |
| base::MessageLoop message_loop_; |
| scoped_ptr<base::RunLoop> run_loop_; |
| content::TestBrowserThread ui_thread_; |
| - scoped_ptr<TestingProfile> profile_; |
| + scoped_ptr<content::TestBrowserContext> context_; |
| FeedbackUploader* uploader_; |