prefs->SetBoolean(prefs::kGCMChannelEnabled, true);
prefs->SetBoolean(prefs::kInvalidationServiceUseGCMChannel, true);
EXPECT_EQ(TiclInvalidationService::GCM_NETWORK_CHANNEL, GetNetworkChannel());
prefs->SetBoolean(prefs::kGCMChannelEnabled, true);
prefs->SetBoolean(prefs::kInvalidationServiceUseGCMChannel, true);
EXPECT_EQ(TiclInvalidationService::GCM_NETWORK_CHANNEL, GetNetworkChannel());
- prefs->SetBoolean(prefs::kInvalidationServiceUseGCMChannel, false);
- EXPECT_EQ(TiclInvalidationService::PUSH_CLIENT_CHANNEL, GetNetworkChannel());
+ prefs->ClearPref(prefs::kGCMChannelEnabled);
+ prefs->SetBoolean(prefs::kInvalidationServiceUseGCMChannel, true);
+ EXPECT_EQ(TiclInvalidationService::GCM_NETWORK_CHANNEL, GetNetworkChannel());
- // If invalidation channel setting says use GCM but GCM is not ALWAYS_ENABLED,
- // fall back to push channel.
+ // If invalidation channel setting is set to false, fall back to push channel.
+ prefs->SetBoolean(prefs::kGCMChannelEnabled, true);
- EXPECT_EQ(TiclInvalidationService::PUSH_CLIENT_CHANNEL, GetNetworkChannel());
-
- // If invalidation channel setting is enabled first and the GCM setting is
- // enabled after that, switch to GCM channel.
- prefs->SetBoolean(prefs::kGCMChannelEnabled, true);
- EXPECT_EQ(TiclInvalidationService::GCM_NETWORK_CHANNEL, GetNetworkChannel());
+ EXPECT_EQ(TiclInvalidationService::PUSH_CLIENT_CHANNEL, GetNetworkChannel());