Index: chrome/browser/services/gcm/push_messaging_browsertest.cc |
diff --git a/chrome/browser/services/gcm/push_messaging_browsertest.cc b/chrome/browser/services/gcm/push_messaging_browsertest.cc |
index e799e766749d7bf3e497753641809cfc80573367..b3f02055b631aee2d86beea80b71a420e43e3f05 100644 |
--- a/chrome/browser/services/gcm/push_messaging_browsertest.cc |
+++ b/chrome/browser/services/gcm/push_messaging_browsertest.cc |
@@ -143,7 +143,7 @@ class PushMessagingBrowserTest : public InProcessBrowserTest { |
void loadTestPage() { |
ui_test_utils::NavigateToURL( |
- browser(), https_server_->GetURL("files/push_messaging/test.html")); |
+ browser(), https_server_->GetURL(GetTestURL())); |
} |
bool RunScript(const std::string& script, std::string* result) { |
@@ -162,6 +162,11 @@ class PushMessagingBrowserTest : public InProcessBrowserTest { |
gcm_service_->push_messaging_service()); |
} |
+ protected: |
+ virtual std::string GetTestURL() { |
+ return "files/push_messaging/test.html"; |
+ } |
+ |
private: |
scoped_ptr<net::SpawnedTestServer> https_server_; |
FakeGCMProfileService* gcm_service_; |
@@ -169,7 +174,25 @@ class PushMessagingBrowserTest : public InProcessBrowserTest { |
DISALLOW_COPY_AND_ASSIGN(PushMessagingBrowserTest); |
}; |
-IN_PROC_BROWSER_TEST_F(PushMessagingBrowserTest, RegisterSuccess) { |
+class PushMessagingBadManifestBrowserTest : public PushMessagingBrowserTest { |
+ std::string GetTestURL() override { |
+ return "files/push_messaging/test_bad_manifest.html"; |
+ } |
+}; |
+ |
+IN_PROC_BROWSER_TEST_F(PushMessagingBadManifestBrowserTest, |
+ RegisterFailsNotVisibleMessages) { |
+ std::string script_result; |
+ |
+ ASSERT_TRUE(RunScript("registerServiceWorker()", &script_result)); |
+ ASSERT_EQ("ok - service worker registered", script_result); |
+ ASSERT_TRUE(RunScript("registerPush()", &script_result)); |
+ EXPECT_EQ("AbortError - Registration failed - permission denied", |
+ script_result); |
+} |
+ |
+IN_PROC_BROWSER_TEST_F(PushMessagingBrowserTest, |
+ RegisterSuccessNotificationsGranted) { |
std::string script_result; |
ASSERT_TRUE(RunScript("registerServiceWorker()", &script_result)); |
@@ -188,15 +211,19 @@ IN_PROC_BROWSER_TEST_F(PushMessagingBrowserTest, RegisterSuccess) { |
} |
IN_PROC_BROWSER_TEST_F(PushMessagingBrowserTest, |
- RegisterFailureNoPushPermission) { |
+ RegisterSuccessNotificationsPrompt) { |
std::string script_result; |
ASSERT_TRUE(RunScript("registerServiceWorker()", &script_result)); |
ASSERT_EQ("ok - service worker registered", script_result); |
+ InfoBarResponder accepting_responder(browser(), true); |
ASSERT_TRUE(RunScript("registerPush()", &script_result)); |
- EXPECT_EQ("AbortError - Registration failed - permission denied", |
- script_result); |
+ EXPECT_EQ(std::string(kPushMessagingEndpoint) + " - 1-0", script_result); |
+ |
+ PushMessagingApplicationId app_id(https_server()->GetURL(""), 0L); |
+ EXPECT_EQ(app_id.ToString(), gcm_service()->last_registered_app_id()); |
+ EXPECT_EQ("1234567890", gcm_service()->last_registered_sender_ids()[0]); |
} |
IN_PROC_BROWSER_TEST_F(PushMessagingBrowserTest, |
@@ -215,7 +242,7 @@ IN_PROC_BROWSER_TEST_F(PushMessagingBrowserTest, |
script_result); |
} |
-IN_PROC_BROWSER_TEST_F(PushMessagingBrowserTest, RegisterFailureNoSenderId) { |
+IN_PROC_BROWSER_TEST_F(PushMessagingBrowserTest, RegisterFailureNoManifest) { |
std::string script_result; |
ASSERT_TRUE(RunScript("registerServiceWorker()", &script_result)); |