123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113 |
- // Copyright 2016 The Chromium Authors. All rights reserved.
- // Use of this source code is governed by a BSD-style license that can be
- // found in the LICENSE file.
- #include "components/sync_device_info/device_info_util.h"
- #include "base/time/time.h"
- #include "components/sync/protocol/device_info_specifics.pb.h"
- #include "testing/gtest/include/gtest/gtest.h"
- using base::Time;
- using sync_pb::DeviceInfoSpecifics;
- namespace syncer {
- namespace {
- class DeviceInfoUtilTest : public testing::Test {
- protected:
- DeviceInfoUtilTest() {
- // Test cases assume |small_| and |big_| are smaller and bigger,
- // respectively,
- // than both constants.
- EXPECT_LT(small_, DeviceInfoUtil::kActiveThreshold);
- EXPECT_LT(small_, DeviceInfoUtil::GetPulseInterval());
- EXPECT_GT(big_, DeviceInfoUtil::kActiveThreshold);
- EXPECT_GT(big_, DeviceInfoUtil::GetPulseInterval());
- }
- const Time now_ = Time::Now();
- const base::TimeDelta small_ = base::Milliseconds(1);
- const base::TimeDelta big_ = base::Days(1000);
- };
- } // namespace
- TEST_F(DeviceInfoUtilTest, CalculatePulseDelaySame) {
- EXPECT_EQ(DeviceInfoUtil::GetPulseInterval(),
- DeviceInfoUtil::CalculatePulseDelay(Time(), Time()));
- EXPECT_EQ(DeviceInfoUtil::GetPulseInterval(),
- DeviceInfoUtil::CalculatePulseDelay(now_, now_));
- EXPECT_EQ(DeviceInfoUtil::GetPulseInterval(),
- DeviceInfoUtil::CalculatePulseDelay(now_ + big_, now_ + big_));
- }
- TEST_F(DeviceInfoUtilTest, CalculatePulseDelayMiddle) {
- EXPECT_EQ(DeviceInfoUtil::GetPulseInterval() - small_,
- DeviceInfoUtil::CalculatePulseDelay(Time(), Time() + small_));
- EXPECT_EQ(small_,
- DeviceInfoUtil::CalculatePulseDelay(
- Time(), Time() + DeviceInfoUtil::GetPulseInterval() - small_));
- }
- TEST_F(DeviceInfoUtilTest, CalculatePulseDelayStale) {
- EXPECT_EQ(base::TimeDelta(),
- DeviceInfoUtil::CalculatePulseDelay(
- Time(), Time() + DeviceInfoUtil::GetPulseInterval()));
- EXPECT_EQ(base::TimeDelta(),
- DeviceInfoUtil::CalculatePulseDelay(
- Time(), Time() + DeviceInfoUtil::GetPulseInterval() + small_));
- EXPECT_EQ(base::TimeDelta(),
- DeviceInfoUtil::CalculatePulseDelay(
- Time(), Time() + DeviceInfoUtil::GetPulseInterval() + small_));
- EXPECT_EQ(base::TimeDelta(),
- DeviceInfoUtil::CalculatePulseDelay(
- now_, now_ + DeviceInfoUtil::GetPulseInterval()));
- }
- TEST_F(DeviceInfoUtilTest, CalculatePulseDelayFuture) {
- EXPECT_EQ(DeviceInfoUtil::GetPulseInterval(),
- DeviceInfoUtil::CalculatePulseDelay(Time() + small_, Time()));
- EXPECT_EQ(DeviceInfoUtil::GetPulseInterval(),
- DeviceInfoUtil::CalculatePulseDelay(
- Time() + DeviceInfoUtil::GetPulseInterval(), Time()));
- EXPECT_EQ(DeviceInfoUtil::GetPulseInterval(),
- DeviceInfoUtil::CalculatePulseDelay(Time() + big_, Time()));
- EXPECT_EQ(DeviceInfoUtil::GetPulseInterval(),
- DeviceInfoUtil::CalculatePulseDelay(now_ + big_, now_));
- }
- TEST_F(DeviceInfoUtilTest, IsActive) {
- EXPECT_TRUE(DeviceInfoUtil::IsActive(Time(), Time()));
- EXPECT_TRUE(DeviceInfoUtil::IsActive(now_, now_));
- EXPECT_TRUE(DeviceInfoUtil::IsActive(now_, now_ + small_));
- EXPECT_TRUE(DeviceInfoUtil::IsActive(
- now_, now_ + DeviceInfoUtil::kActiveThreshold - small_));
- EXPECT_FALSE(
- DeviceInfoUtil::IsActive(now_, now_ + DeviceInfoUtil::kActiveThreshold));
- EXPECT_FALSE(DeviceInfoUtil::IsActive(
- now_, now_ + DeviceInfoUtil::kActiveThreshold + small_));
- EXPECT_FALSE(DeviceInfoUtil::IsActive(
- now_, now_ + DeviceInfoUtil::kActiveThreshold + big_));
- EXPECT_TRUE(DeviceInfoUtil::IsActive(now_ + small_, now_));
- EXPECT_TRUE(DeviceInfoUtil::IsActive(now_ + big_, now_));
- }
- TEST_F(DeviceInfoUtilTest, TagRoundTrip) {
- DeviceInfoSpecifics specifics;
- ASSERT_EQ("", DeviceInfoUtil::TagToCacheGuid(
- DeviceInfoUtil::SpecificsToTag(specifics)));
- std::string cache_guid("guid");
- specifics.set_cache_guid(cache_guid);
- ASSERT_EQ(cache_guid, DeviceInfoUtil::TagToCacheGuid(
- DeviceInfoUtil::SpecificsToTag(specifics)));
- specifics.set_cache_guid(DeviceInfoUtil::kClientTagPrefix);
- ASSERT_EQ(DeviceInfoUtil::kClientTagPrefix,
- DeviceInfoUtil::TagToCacheGuid(
- DeviceInfoUtil::SpecificsToTag(specifics)));
- }
- } // namespace syncer
|