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 ba6a81fae1179b8d8994592c7e617f80182a95c2..1a2183139ba74850fa3e825466069cb32ca59aaa 100644 |
--- a/chrome/browser/services/gcm/push_messaging_browsertest.cc |
+++ b/chrome/browser/services/gcm/push_messaging_browsertest.cc |
@@ -484,4 +484,41 @@ 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; |
+ |
+ TryToRegisterSuccessfully("1-0" /* expected_push_registration_id */); |
+ |
+ 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; |
+ |
+ TryToRegisterSuccessfully("1-0" /* expected_push_registration_id */); |
+ |
+ 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; |
+ |
+ TryToRegisterSuccessfully("1-0" /* expected_push_registration_id */); |
+ |
+ 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 |