Chromium Code Reviews| Index: chrome/browser/extensions/api/push_messaging/push_messaging_apitest.cc |
| diff --git a/chrome/browser/extensions/api/push_messaging/push_messaging_apitest.cc b/chrome/browser/extensions/api/push_messaging/push_messaging_apitest.cc |
| index 8aa12f504b4831bc367dda66b38ab916291cead9..33861caf63618e426995163134b75d69fa8214cf 100644 |
| --- a/chrome/browser/extensions/api/push_messaging/push_messaging_apitest.cc |
| +++ b/chrome/browser/extensions/api/push_messaging/push_messaging_apitest.cc |
| @@ -10,19 +10,23 @@ |
| #include "chrome/browser/extensions/extension_apitest.h" |
| #include "chrome/browser/extensions/extension_test_message_listener.h" |
| #include "chrome/browser/extensions/platform_app_launcher.h" |
| +#include "chrome/browser/invalidation/fake_invalidation_service.h" |
| +#include "chrome/browser/invalidation/invalidation_service.h" |
| +#include "chrome/browser/invalidation/invalidation_service_factory.h" |
| #include "chrome/browser/profiles/profile.h" |
| -#include "chrome/browser/sync/profile_sync_service.h" |
| -#include "chrome/browser/sync/profile_sync_service_factory.h" |
| #include "chrome/browser/ui/browser.h" |
| #include "chrome/common/chrome_switches.h" |
| #include "chrome/test/base/ui_test_utils.h" |
| #include "google/cacheinvalidation/types.pb.h" |
| +#include "sync/notifier/fake_invalidator.h" |
| #include "testing/gmock/include/gmock/gmock.h" |
| using ::testing::_; |
| using ::testing::SaveArg; |
| using ::testing::StrictMock; |
| +using invalidation::InvalidationServiceFactory; |
| + |
| namespace extensions { |
| namespace { |
| @@ -52,10 +56,26 @@ MockInvalidationMapper::~MockInvalidationMapper() {} |
| class PushMessagingApiTest : public ExtensionApiTest { |
| public: |
| + PushMessagingApiTest() |
| + : fake_invalidation_service_(NULL) { |
| + } |
| + |
| virtual void SetUpCommandLine(CommandLine* command_line) OVERRIDE { |
| ExtensionApiTest::SetUpCommandLine(command_line); |
| } |
| + virtual void SetUp() { |
| + fake_invalidation_service_ = |
| + InvalidationServiceFactory::GetInstance()-> |
|
dcheng
2013/05/23 00:35:45
If this line doesn't fit on line 68, I think I wou
rlarocque
2013/05/23 21:43:27
Done.
|
| + BuildAndUseFakeInvalidationServiceForTest(profile()); |
| + } |
| + |
| + void EmitInvalidation( |
| + const invalidation::ObjectId& object_id, |
| + const std::string& payload) { |
| + fake_invalidation_service_->EmitInvalidationForTest(object_id, payload); |
| + } |
| + |
| PushMessagingAPI* GetAPI() { |
| return PushMessagingAPI::Get(profile()); |
| } |
| @@ -63,6 +83,8 @@ class PushMessagingApiTest : public ExtensionApiTest { |
| PushMessagingEventRouter* GetEventRouter() { |
| return PushMessagingAPI::Get(profile())->GetEventRouterForTest(); |
| } |
| + |
| + invalidation::FakeInvalidationService* fake_invalidation_service_; |
| }; |
| IN_PROC_BROWSER_TEST_F(PushMessagingApiTest, EventDispatch) { |
| @@ -92,18 +114,14 @@ IN_PROC_BROWSER_TEST_F(PushMessagingApiTest, ReceivesPush) { |
| ui_test_utils::NavigateToURL( |
| browser(), extension->GetResourceURL("event_dispatch.html")); |
| - ProfileSyncService* pss = |
| - ProfileSyncServiceFactory::GetForProfile(profile()); |
| - ASSERT_TRUE(pss); |
| - |
| // PushMessagingInvalidationHandler suppresses the initial invalidation on |
| // each subchannel at install, so trigger the suppressions first. |
| for (int i = 0; i < 3; ++i) { |
| - pss->EmitInvalidationForTest( |
| + EmitInvalidation( |
| ExtensionAndSubchannelToObjectId(extension->id(), i), std::string()); |
| } |
| - pss->EmitInvalidationForTest( |
| + EmitInvalidation( |
| ExtensionAndSubchannelToObjectId(extension->id(), 1), "payload"); |
| EXPECT_TRUE(catcher.GetNextResult()) << catcher.message(); |
| } |