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 8100a896cc082ab781b989251713204e26a4105b..12c3da6a35a67d54c08193030b62afad20774056 100644 |
--- a/chrome/browser/services/gcm/push_messaging_browsertest.cc |
+++ b/chrome/browser/services/gcm/push_messaging_browsertest.cc |
@@ -482,4 +482,65 @@ IN_PROC_BROWSER_TEST_F(PushMessagingBrowserTest, HasPermissionSaysDenied) { |
EXPECT_EQ("permission status - denied", script_result); |
} |
+IN_PROC_BROWSER_TEST_F(PushMessagingBrowserTest, UnregisterSuccess) { |
+ std::string script_result; |
+ |
+ ASSERT_TRUE(RunScript("registerServiceWorker()", &script_result)); |
Michael van Ouwerkerk
2014/12/16 12:58:41
Sorry for the late notice, I had missed this patch
|
+ ASSERT_EQ("ok - service worker registered", script_result); |
+ |
+ InfoBarResponder accepting_responder(browser(), true); |
+ ASSERT_TRUE(RunScript("requestNotificationPermission();", &script_result)); |
+ EXPECT_EQ("permission status - granted", script_result); |
+ |
+ ASSERT_TRUE(RunScript("registerPush()", &script_result)); |
+ EXPECT_EQ(std::string(kPushMessagingEndpoint) + " - 1-0", script_result); |
+ |
+ gcm_service()->AddExpectedUnregisterResponse(GCMClient::SUCCESS); |
+ |
+ ASSERT_TRUE(RunScript("unregister()", &script_result)); |
+ EXPECT_EQ("unregister result: true", script_result); |
+} |
+ |
+IN_PROC_BROWSER_TEST_F(PushMessagingBrowserTest, UnregisterNetworkError) { |
+ std::string script_result; |
+ |
+ ASSERT_TRUE(RunScript("registerServiceWorker()", &script_result)); |
Michael van Ouwerkerk
2014/12/16 12:58:41
Same here.
|
+ ASSERT_EQ("ok - service worker registered", script_result); |
+ |
+ InfoBarResponder accepting_responder(browser(), true); |
+ ASSERT_TRUE(RunScript("requestNotificationPermission();", &script_result)); |
+ EXPECT_EQ("permission status - granted", script_result); |
+ |
+ ASSERT_TRUE(RunScript("registerPush()", &script_result)); |
+ EXPECT_EQ(std::string(kPushMessagingEndpoint) + " - 1-0", script_result); |
+ |
+ gcm_service()->AddExpectedUnregisterResponse(GCMClient::NETWORK_ERROR); |
+ |
+ ASSERT_TRUE(RunScript("unregister()", &script_result)); |
+ EXPECT_EQ("unregister error: " |
+ "NetworkError: Failed to connect to the push server.", |
+ script_result); |
+} |
+ |
+IN_PROC_BROWSER_TEST_F(PushMessagingBrowserTest, UnregisterUnknownError) { |
+ std::string script_result; |
+ |
+ ASSERT_TRUE(RunScript("registerServiceWorker()", &script_result)); |
Michael van Ouwerkerk
2014/12/16 12:58:41
Same here.
|
+ ASSERT_EQ("ok - service worker registered", script_result); |
+ |
+ InfoBarResponder accepting_responder(browser(), true); |
+ ASSERT_TRUE(RunScript("requestNotificationPermission();", &script_result)); |
+ EXPECT_EQ("permission status - granted", script_result); |
+ |
+ ASSERT_TRUE(RunScript("registerPush()", &script_result)); |
+ EXPECT_EQ(std::string(kPushMessagingEndpoint) + " - 1-0", script_result); |
+ |
+ gcm_service()->AddExpectedUnregisterResponse(GCMClient::UNKNOWN_ERROR); |
+ |
+ ASSERT_TRUE(RunScript("unregister()", &script_result)); |
+ EXPECT_EQ("unregister error: " |
+ "UnknownError: Unexpected error while trying to unregister from the" |
+ " push server.", script_result); |
+} |
+ |
} // namespace gcm |