Chromium Code Reviews| Index: components/sync/device_info/device_info_service_unittest.cc |
| diff --git a/components/sync/device_info/device_info_service_unittest.cc b/components/sync/device_info/device_info_service_unittest.cc |
| index 83a9c8d4e55a32dd1f696f5fde7bf3a0277fe549..42c577cfcf54c3899ebca46cef7ddc76ebcedc7c 100644 |
| --- a/components/sync/device_info/device_info_service_unittest.cc |
| +++ b/components/sync/device_info/device_info_service_unittest.cc |
| @@ -731,6 +731,24 @@ TEST_F(DeviceInfoServiceTest, CountActiveDevices) { |
| EXPECT_EQ(2, service()->CountActiveDevices()); |
| } |
| +TEST_F(DeviceInfoServiceTest, MultipleOnProviderInitialized) { |
| + set_local_device(base::WrapUnique(new LocalDeviceInfoProviderMock())); |
|
maxbogue
2016/10/25 19:28:33
MakeUnique?
skym
2016/10/25 19:32:48
Done.
|
| + InitializeAndPump(); |
| + EXPECT_EQ(nullptr, processor()->metadata()); |
| + |
| + // Verify the processor was given metadata. |
| + local_device()->Initialize(CreateDeviceInfo()); |
| + base::RunLoop().RunUntilIdle(); |
| + const MetadataBatch* metadata = processor()->metadata(); |
| + EXPECT_NE(nullptr, metadata); |
| + |
| + // Pointer address of metadata should remain constant because the processor |
| + // should not have been given new metadata. |
| + local_device()->Initialize(CreateDeviceInfo()); |
| + base::RunLoop().RunUntilIdle(); |
| + EXPECT_EQ(metadata, processor()->metadata()); |
| +} |
| + |
| } // namespace |
| } // namespace syncer |