| Index: google_apis/gcm/engine/gcm_store_impl_unittest.cc
|
| diff --git a/google_apis/gcm/engine/gcm_store_impl_unittest.cc b/google_apis/gcm/engine/gcm_store_impl_unittest.cc
|
| index 1a6c4bb996af57d9c9040106f73bb363cc8256dd..b7bf75d685db0ff4ea313775fd80ec461c2de8d8 100644
|
| --- a/google_apis/gcm/engine/gcm_store_impl_unittest.cc
|
| +++ b/google_apis/gcm/engine/gcm_store_impl_unittest.cc
|
| @@ -33,6 +33,7 @@ const int kNumMessagesPerApp = 20;
|
|
|
| // App name for testing.
|
| const char kAppName[] = "my_app";
|
| +const char kAppName2[] = "my_app_2";
|
|
|
| // Category name for testing.
|
| const char kCategoryName[] = "my_category";
|
| @@ -741,6 +742,56 @@ TEST_F(GCMStoreImplTest, LastTokenFetchTime) {
|
| EXPECT_EQ(base::Time(), load_result->last_token_fetch_time);
|
| }
|
|
|
| +TEST_F(GCMStoreImplTest, InstanceIDData) {
|
| + scoped_ptr<GCMStore> gcm_store(BuildGCMStore());
|
| + scoped_ptr<GCMStore::LoadResult> load_result;
|
| + gcm_store->Load(base::Bind(
|
| + &GCMStoreImplTest::LoadCallback, base::Unretained(this), &load_result));
|
| + PumpLoop();
|
| +
|
| + std::string instance_id_data("Foo");
|
| + gcm_store->AddInstanceIDData(
|
| + kAppName,
|
| + instance_id_data,
|
| + base::Bind(&GCMStoreImplTest::UpdateCallback, base::Unretained(this)));
|
| + PumpLoop();
|
| +
|
| + std::string instance_id_data2("Hello Instance ID");
|
| + gcm_store->AddInstanceIDData(
|
| + kAppName2,
|
| + instance_id_data2,
|
| + base::Bind(&GCMStoreImplTest::UpdateCallback, base::Unretained(this)));
|
| + PumpLoop();
|
| +
|
| + gcm_store = BuildGCMStore().Pass();
|
| + gcm_store->Load(base::Bind(
|
| + &GCMStoreImplTest::LoadCallback, base::Unretained(this), &load_result));
|
| + PumpLoop();
|
| +
|
| + ASSERT_EQ(2u, load_result->instance_id_data.size());
|
| + ASSERT_TRUE(load_result->instance_id_data.find(kAppName) !=
|
| + load_result->instance_id_data.end());
|
| + ASSERT_TRUE(load_result->instance_id_data.find(kAppName2) !=
|
| + load_result->instance_id_data.end());
|
| + EXPECT_EQ(instance_id_data, load_result->instance_id_data[kAppName]);
|
| + EXPECT_EQ(instance_id_data2, load_result->instance_id_data[kAppName2]);
|
| +
|
| + gcm_store->RemoveInstanceIDData(
|
| + kAppName,
|
| + base::Bind(&GCMStoreImplTest::UpdateCallback, base::Unretained(this)));
|
| + PumpLoop();
|
| +
|
| + gcm_store = BuildGCMStore().Pass();
|
| + gcm_store->Load(base::Bind(
|
| + &GCMStoreImplTest::LoadCallback, base::Unretained(this), &load_result));
|
| + PumpLoop();
|
| +
|
| + ASSERT_EQ(1u, load_result->instance_id_data.size());
|
| + ASSERT_TRUE(load_result->instance_id_data.find(kAppName2) !=
|
| + load_result->instance_id_data.end());
|
| + EXPECT_EQ(instance_id_data2, load_result->instance_id_data[kAppName2]);
|
| +}
|
| +
|
| } // namespace
|
|
|
| } // namespace gcm
|
|
|