diff options
author | maniscalco@chromium.org <maniscalco@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-02-22 07:57:23 +0000 |
---|---|---|
committer | maniscalco@chromium.org <maniscalco@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-02-22 07:57:23 +0000 |
commit | 43cf222b2cafdd47be0132e1aa8947a6b581f8c8 (patch) | |
tree | d425a5bb4495dcc177ca0444ad4014a3b530f9cd | |
parent | e297d294d3effe521996e9da29c66ad375fcaccc (diff) | |
download | chromium_src-43cf222b2cafdd47be0132e1aa8947a6b581f8c8.zip chromium_src-43cf222b2cafdd47be0132e1aa8947a6b581f8c8.tar.gz chromium_src-43cf222b2cafdd47be0132e1aa8947a6b581f8c8.tar.bz2 |
Add some unit tests for SyncData.
BUG=
Review URL: https://codereview.chromium.org/174443002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@252763 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | sync/api/sync_data_unittest.cc | 66 | ||||
-rw-r--r-- | sync/sync_tests.gypi | 1 |
2 files changed, 67 insertions, 0 deletions
diff --git a/sync/api/sync_data_unittest.cc b/sync/api/sync_data_unittest.cc new file mode 100644 index 0000000..19d88d4 --- /dev/null +++ b/sync/api/sync_data_unittest.cc @@ -0,0 +1,66 @@ +// Copyright 2014 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 "sync/api/sync_data.h" + +#include <string> + +#include "base/time/time.h" +#include "sync/protocol/sync.pb.h" +#include "testing/gtest/include/gtest/gtest.h" + +using std::string; + +namespace syncer { + +namespace { + +const string kSyncTag = "3984729834"; +const ModelType kDatatype = syncer::PREFERENCES; +const string kNonUniqueTitle = "my preference"; +const int64 kId = 439829; +const base::Time kLastModifiedTime = base::Time(); + +typedef testing::Test SyncDataTest; + +TEST_F(SyncDataTest, NoArgCtor) { + SyncData data; + EXPECT_FALSE(data.IsValid()); +} + +TEST_F(SyncDataTest, CreateLocalDelete) { + SyncData data = SyncData::CreateLocalDelete(kSyncTag, kDatatype); + EXPECT_TRUE(data.IsValid()); + EXPECT_TRUE(data.IsLocal()); + EXPECT_EQ(kSyncTag, data.GetTag()); + EXPECT_EQ(kDatatype, data.GetDataType()); +} + +TEST_F(SyncDataTest, CreateLocalData) { + sync_pb::EntitySpecifics specifics; + specifics.mutable_preference(); + SyncData data = + SyncData::CreateLocalData(kSyncTag, kNonUniqueTitle, specifics); + EXPECT_TRUE(data.IsValid()); + EXPECT_TRUE(data.IsLocal()); + EXPECT_EQ(kSyncTag, data.GetTag()); + EXPECT_EQ(kDatatype, data.GetDataType()); + EXPECT_EQ(kNonUniqueTitle, data.GetTitle()); + EXPECT_TRUE(data.GetSpecifics().has_preference()); +} + +TEST_F(SyncDataTest, CreateRemoteData) { + sync_pb::EntitySpecifics specifics; + specifics.mutable_preference(); + SyncData data = SyncData::CreateRemoteData(kId, specifics, kLastModifiedTime); + EXPECT_TRUE(data.IsValid()); + EXPECT_FALSE(data.IsLocal()); + EXPECT_EQ(kId, data.GetRemoteId()); + EXPECT_EQ(kLastModifiedTime, data.GetRemoteModifiedTime()); + EXPECT_TRUE(data.GetSpecifics().has_preference()); +} + +} // namespace + +} // namespace syncer diff --git a/sync/sync_tests.gypi b/sync/sync_tests.gypi index 78b4c12..e379107 100644 --- a/sync/sync_tests.gypi +++ b/sync/sync_tests.gypi @@ -453,6 +453,7 @@ 'api/attachments/attachment_unittest.cc', 'api/attachments/fake_attachment_store_unittest.cc', 'api/sync_change_unittest.cc', + 'api/sync_data_unittest.cc', 'api/sync_error_unittest.cc', 'api/sync_merge_result_unittest.cc', ], |