summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormaniscalco@chromium.org <maniscalco@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-02-22 07:57:23 +0000
committermaniscalco@chromium.org <maniscalco@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-02-22 07:57:23 +0000
commit43cf222b2cafdd47be0132e1aa8947a6b581f8c8 (patch)
treed425a5bb4495dcc177ca0444ad4014a3b530f9cd
parente297d294d3effe521996e9da29c66ad375fcaccc (diff)
downloadchromium_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.cc66
-rw-r--r--sync/sync_tests.gypi1
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',
],