Chromium Code Reviews| Index: components/ntp_snippets/ntp_snippets_service_unittest.cc |
| diff --git a/components/ntp_snippets/ntp_snippets_service_unittest.cc b/components/ntp_snippets/ntp_snippets_service_unittest.cc |
| index df1cf7bd8fd33bc14edc83f7dfa0fb9ba496196c..ad3ca25233cb767562ee889b4512ffff8940e5a8 100644 |
| --- a/components/ntp_snippets/ntp_snippets_service_unittest.cc |
| +++ b/components/ntp_snippets/ntp_snippets_service_unittest.cc |
| @@ -3,25 +3,31 @@ |
| // found in the LICENSE file. |
| #include "base/macros.h" |
| +#include "base/message_loop/message_loop.h" |
| +#include "base/thread_task_runner_handle.h" |
| #include "base/time/time.h" |
| #include "components/ntp_snippets/ntp_snippet.h" |
| +#include "components/ntp_snippets/ntp_snippets_fetcher.h" |
| #include "components/ntp_snippets/ntp_snippets_service.h" |
| +#include "components/signin/core/browser/account_tracker_service.h" |
| +#include "components/signin/core/browser/fake_profile_oauth2_token_service.h" |
| +#include "components/signin/core/browser/fake_signin_manager.h" |
| +#include "components/signin/core/browser/test_signin_client.h" |
| +#include "net/url_request/url_request_test_util.h" |
| #include "testing/gtest/include/gtest/gtest.h" |
| -namespace { |
| +namespace ntp_snippets { |
| -class SnippetObserver : public ntp_snippets::NTPSnippetsServiceObserver { |
| +class SnippetObserver : public NTPSnippetsServiceObserver { |
| public: |
| SnippetObserver() : loaded_(false), shutdown_(false) {} |
| ~SnippetObserver() override {} |
| - void NTPSnippetsServiceLoaded( |
| - ntp_snippets::NTPSnippetsService* service) override { |
| + void NTPSnippetsServiceLoaded(NTPSnippetsService* service) override { |
| loaded_ = true; |
| } |
| - void NTPSnippetsServiceShutdown( |
| - ntp_snippets::NTPSnippetsService* service) override { |
| + void NTPSnippetsServiceShutdown(NTPSnippetsService* service) override { |
| shutdown_ = true; |
| loaded_ = false; |
| } |
| @@ -39,21 +45,42 @@ class NTPSnippetsServiceTest : public testing::Test { |
| ~NTPSnippetsServiceTest() override {} |
| private: |
| + base::MessageLoop message_loop_; |
| DISALLOW_COPY_AND_ASSIGN(NTPSnippetsServiceTest); |
| }; |
| +scoped_ptr<NTPSnippetsService> CreateSnippetService( |
| + const std::string& language_code) { |
| + |
| + scoped_refptr<base::SingleThreadTaskRunner> task_runner( |
| + base::ThreadTaskRunnerHandle::Get()); |
| + scoped_refptr<net::TestURLRequestContextGetter> request_context_getter = |
| + new net::TestURLRequestContextGetter(task_runner.get()); |
| + FakeProfileOAuth2TokenService* token_service = |
| + new FakeProfileOAuth2TokenService(); |
| + scoped_ptr<TestSigninClient> signin_client(new TestSigninClient(nullptr)); |
| + scoped_ptr<AccountTrackerService> account_tracker( |
| + new AccountTrackerService()); |
|
Marc Treib
2016/02/23 15:28:21
Waaait, now these will be deleted when CreateSnipp
May
2016/02/23 21:34:19
You're right, I didn't look into what the FakeSign
|
| + FakeSigninManagerBase* signin_manager = new FakeSigninManagerBase( |
| + signin_client.get(), account_tracker.get()); |
| + |
| + scoped_ptr<NTPSnippetsService> service( |
| + new NTPSnippetsService(task_runner.get(), language_code, |
| + make_scoped_ptr(new NTPSnippetsFetcher(task_runner.get(), |
| + signin_manager, token_service, request_context_getter, |
| + base::FilePath())))); |
| + return service; |
| +} |
| + |
| TEST_F(NTPSnippetsServiceTest, Create) { |
| std::string language_code("fr"); |
|
noyau (Ping after 24h)
2016/02/23 14:23:45
Right now it's always passing language code "fr" s
May
2016/02/23 21:34:18
Done.
|
| - scoped_ptr<ntp_snippets::NTPSnippetsService> service( |
| - new ntp_snippets::NTPSnippetsService(language_code)); |
| - |
| + scoped_ptr<NTPSnippetsService> service(CreateSnippetService(language_code)); |
| EXPECT_FALSE(service->is_loaded()); |
| } |
| TEST_F(NTPSnippetsServiceTest, Loop) { |
| std::string language_code("fr"); |
| - scoped_ptr<ntp_snippets::NTPSnippetsService> service( |
| - new ntp_snippets::NTPSnippetsService(language_code)); |
| + scoped_ptr<NTPSnippetsService> service(CreateSnippetService(language_code)); |
| EXPECT_FALSE(service->is_loaded()); |
| @@ -71,15 +98,14 @@ TEST_F(NTPSnippetsServiceTest, Loop) { |
| EXPECT_EQ(snippet.url(), GURL("http://localhost/foobar")); |
| } |
| // Without the const, this should not compile. |
| - for (const ntp_snippets::NTPSnippet& snippet : *service) { |
| + for (const NTPSnippet& snippet : *service) { |
| EXPECT_EQ(snippet.url(), GURL("http://localhost/foobar")); |
| } |
| } |
| TEST_F(NTPSnippetsServiceTest, Full) { |
| std::string language_code("fr"); |
| - scoped_ptr<ntp_snippets::NTPSnippetsService> service( |
| - new ntp_snippets::NTPSnippetsService(language_code)); |
| + scoped_ptr<NTPSnippetsService> service(CreateSnippetService(language_code)); |
| std::string json_str( |
| "{ \"recos\": [ " |
| @@ -113,8 +139,7 @@ TEST_F(NTPSnippetsServiceTest, Full) { |
| TEST_F(NTPSnippetsServiceTest, ObserverNotLoaded) { |
| std::string language_code("fr"); |
| - scoped_ptr<ntp_snippets::NTPSnippetsService> service( |
| - new ntp_snippets::NTPSnippetsService(language_code)); |
| + scoped_ptr<NTPSnippetsService> service(CreateSnippetService(language_code)); |
| SnippetObserver observer; |
| service->AddObserver(&observer); |
| @@ -132,8 +157,7 @@ TEST_F(NTPSnippetsServiceTest, ObserverNotLoaded) { |
| TEST_F(NTPSnippetsServiceTest, ObserverLoaded) { |
| std::string language_code("fr"); |
| - scoped_ptr<ntp_snippets::NTPSnippetsService> service( |
| - new ntp_snippets::NTPSnippetsService(language_code)); |
| + scoped_ptr<NTPSnippetsService> service(CreateSnippetService(language_code)); |
| std::string json_str( |
| "{ \"recos\": [ " |
| @@ -148,4 +172,4 @@ TEST_F(NTPSnippetsServiceTest, ObserverLoaded) { |
| service->RemoveObserver(&observer); |
| } |
| -} // namespace |
| +} // namespace ntp_snippets |