OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/browser/services/gcm/push_messaging_application_id.h" | 5 #include "chrome/browser/services/gcm/push_messaging_application_id.h" |
6 #include "testing/gtest/include/gtest/gtest.h" | 6 #include "testing/gtest/include/gtest/gtest.h" |
7 | 7 |
8 namespace gcm { | 8 namespace gcm { |
9 | 9 |
10 class PushMessagingApplicationIdTest : public testing::Test { | 10 class PushMessagingApplicationIdTest : public testing::Test { |
11 protected: | 11 protected: |
12 PushMessagingApplicationId GenerateId( | 12 PushMessagingApplicationId GenerateId( |
13 const GURL& origin, | 13 const GURL& origin, |
14 int64 service_worker_registration_id) { | 14 int64 service_worker_registration_id) { |
15 // To bypass DCHECK in PushMessagingApplicationId::Generate, we just use it | 15 // To bypass DCHECK in PushMessagingApplicationId::Generate, we just use it |
16 // to generate app_id_guid, and then use private constructor. | 16 // to generate app_id_guid, and then use private constructor. |
17 std::string app_id_guid = gcm::PushMessagingApplicationId::Generate( | 17 std::string app_id_guid = gcm::PushMessagingApplicationId::Generate( |
18 GURL("https://www.example.com/"), 1).app_id_guid; | 18 GURL("https://www.example.com/"), 1).app_id_guid(); |
19 return PushMessagingApplicationId(app_id_guid, origin, | 19 return PushMessagingApplicationId(app_id_guid, origin, |
20 service_worker_registration_id); | 20 service_worker_registration_id); |
21 } | 21 } |
22 }; | 22 }; |
23 | 23 |
24 TEST_F(PushMessagingApplicationIdTest, ConstructorValidity) { | 24 TEST_F(PushMessagingApplicationIdTest, ConstructorValidity) { |
25 EXPECT_TRUE(GenerateId(GURL("https://www.example.com/"), 1).IsValid()); | 25 EXPECT_TRUE(GenerateId(GURL("https://www.example.com/"), 1).IsValid()); |
26 EXPECT_TRUE(GenerateId(GURL("https://www.example.com"), 1).IsValid()); | 26 EXPECT_TRUE(GenerateId(GURL("https://www.example.com"), 1).IsValid()); |
27 EXPECT_FALSE(GenerateId(GURL(""), 1).IsValid()); | 27 EXPECT_FALSE(GenerateId(GURL(""), 1).IsValid()); |
28 EXPECT_FALSE(GenerateId(GURL("foo"), 1).IsValid()); | 28 EXPECT_FALSE(GenerateId(GURL("foo"), 1).IsValid()); |
29 EXPECT_FALSE(GenerateId(GURL("https://www.example.com/foo"), 1).IsValid()); | 29 EXPECT_FALSE(GenerateId(GURL("https://www.example.com/foo"), 1).IsValid()); |
30 EXPECT_FALSE(GenerateId(GURL("https://www.example.com/#foo"), 1).IsValid()); | 30 EXPECT_FALSE(GenerateId(GURL("https://www.example.com/#foo"), 1).IsValid()); |
31 EXPECT_FALSE(GenerateId(GURL("https://www.example.com/"), -1).IsValid()); | 31 EXPECT_FALSE(GenerateId(GURL("https://www.example.com/"), -1).IsValid()); |
32 } | 32 } |
33 | 33 |
34 TEST_F(PushMessagingApplicationIdTest, UniqueGuids) { | 34 TEST_F(PushMessagingApplicationIdTest, UniqueGuids) { |
35 EXPECT_NE(gcm::PushMessagingApplicationId::Generate( | 35 EXPECT_NE(gcm::PushMessagingApplicationId::Generate( |
36 GURL("https://www.example.com/"), 1).app_id_guid, | 36 GURL("https://www.example.com/"), 1).app_id_guid(), |
37 gcm::PushMessagingApplicationId::Generate( | 37 gcm::PushMessagingApplicationId::Generate( |
38 GURL("https://www.example.com/"), 1).app_id_guid); | 38 GURL("https://www.example.com/"), 1).app_id_guid()); |
39 } | 39 } |
40 | 40 |
41 } // namespace gcm | 41 } // namespace gcm |
OLD | NEW |