Index: sync/syncable/model_type_unittest.cc |
diff --git a/sync/syncable/model_type_unittest.cc b/sync/syncable/model_type_unittest.cc |
deleted file mode 100644 |
index c0786fa5a2056c7b51b79b905c05137cc49a16dc..0000000000000000000000000000000000000000 |
--- a/sync/syncable/model_type_unittest.cc |
+++ /dev/null |
@@ -1,193 +0,0 @@ |
-// Copyright (c) 2012 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 <memory> |
-#include <string> |
- |
-#include "base/strings/string_util.h" |
-#include "base/test/values_test_util.h" |
-#include "base/values.h" |
-#include "sync/internal_api/public/base/model_type.h" |
-#include "sync/protocol/sync.pb.h" |
-#include "testing/gtest/include/gtest/gtest.h" |
- |
-namespace syncer { |
-namespace { |
- |
-class ModelTypeTest : public testing::Test {}; |
- |
-TEST_F(ModelTypeTest, ModelTypeToValue) { |
- for (int i = FIRST_REAL_MODEL_TYPE; i < MODEL_TYPE_COUNT; ++i) { |
- ModelType model_type = ModelTypeFromInt(i); |
- base::ExpectStringValue(ModelTypeToString(model_type), |
- ModelTypeToValue(model_type)); |
- } |
- base::ExpectStringValue("Top-level folder", |
- ModelTypeToValue(TOP_LEVEL_FOLDER)); |
- base::ExpectStringValue("Unspecified", |
- ModelTypeToValue(UNSPECIFIED)); |
-} |
- |
-TEST_F(ModelTypeTest, ModelTypeFromValue) { |
- for (int i = FIRST_REAL_MODEL_TYPE; i < MODEL_TYPE_COUNT; ++i) { |
- ModelType model_type = ModelTypeFromInt(i); |
- std::unique_ptr<base::StringValue> value(ModelTypeToValue(model_type)); |
- EXPECT_EQ(model_type, ModelTypeFromValue(*value)); |
- } |
-} |
- |
-TEST_F(ModelTypeTest, ModelTypeSetToValue) { |
- const ModelTypeSet model_types(BOOKMARKS, APPS); |
- |
- std::unique_ptr<base::ListValue> value(ModelTypeSetToValue(model_types)); |
- EXPECT_EQ(2u, value->GetSize()); |
- std::string types[2]; |
- EXPECT_TRUE(value->GetString(0, &types[0])); |
- EXPECT_TRUE(value->GetString(1, &types[1])); |
- EXPECT_EQ("Bookmarks", types[0]); |
- EXPECT_EQ("Apps", types[1]); |
-} |
- |
-TEST_F(ModelTypeTest, ModelTypeSetFromValue) { |
- // Try empty set first. |
- ModelTypeSet model_types; |
- std::unique_ptr<base::ListValue> value(ModelTypeSetToValue(model_types)); |
- EXPECT_EQ(model_types, ModelTypeSetFromValue(*value)); |
- |
- // Now try with a few random types. |
- model_types.Put(BOOKMARKS); |
- model_types.Put(APPS); |
- value = ModelTypeSetToValue(model_types); |
- EXPECT_EQ(model_types, ModelTypeSetFromValue(*value)); |
-} |
- |
-TEST_F(ModelTypeTest, IsRealDataType) { |
- EXPECT_FALSE(IsRealDataType(UNSPECIFIED)); |
- EXPECT_FALSE(IsRealDataType(MODEL_TYPE_COUNT)); |
- EXPECT_FALSE(IsRealDataType(TOP_LEVEL_FOLDER)); |
- EXPECT_TRUE(IsRealDataType(FIRST_REAL_MODEL_TYPE)); |
- EXPECT_TRUE(IsRealDataType(BOOKMARKS)); |
- EXPECT_TRUE(IsRealDataType(APPS)); |
- EXPECT_TRUE(IsRealDataType(ARC_PACKAGE)); |
-} |
- |
-TEST_F(ModelTypeTest, IsProxyType) { |
- EXPECT_FALSE(IsProxyType(BOOKMARKS)); |
- EXPECT_FALSE(IsProxyType(MODEL_TYPE_COUNT)); |
- EXPECT_TRUE(IsProxyType(PROXY_TABS)); |
-} |
- |
-// Make sure we can convert ModelTypes to and from specifics field |
-// numbers. |
-TEST_F(ModelTypeTest, ModelTypeToFromSpecificsFieldNumber) { |
- ModelTypeSet protocol_types = ProtocolTypes(); |
- for (ModelTypeSet::Iterator iter = protocol_types.First(); iter.Good(); |
- iter.Inc()) { |
- int field_number = GetSpecificsFieldNumberFromModelType(iter.Get()); |
- EXPECT_EQ(iter.Get(), |
- GetModelTypeFromSpecificsFieldNumber(field_number)); |
- } |
-} |
- |
-TEST_F(ModelTypeTest, ModelTypeOfInvalidSpecificsFieldNumber) { |
- EXPECT_EQ(UNSPECIFIED, GetModelTypeFromSpecificsFieldNumber(0)); |
-} |
- |
-TEST_F(ModelTypeTest, ModelTypeHistogramMapping) { |
- std::set<int> histogram_values; |
- ModelTypeSet all_types = ModelTypeSet::All(); |
- for (ModelTypeSet::Iterator it = all_types.First(); it.Good(); it.Inc()) { |
- SCOPED_TRACE(ModelTypeToString(it.Get())); |
- int histogram_value = ModelTypeToHistogramInt(it.Get()); |
- |
- EXPECT_TRUE(histogram_values.insert(histogram_value).second) |
- << "Expected histogram values to be unique"; |
- |
- // This is not necessary for the mapping to be valid, but most instances of |
- // UMA_HISTOGRAM that use this mapping specify MODEL_TYPE_COUNT as the |
- // maximum possible value. If you break this assumption, you should update |
- // those histograms. |
- EXPECT_LT(histogram_value, MODEL_TYPE_COUNT); |
- } |
-} |
- |
-TEST_F(ModelTypeTest, ModelTypeSetFromString) { |
- syncer::ModelTypeSet empty; |
- syncer::ModelTypeSet one(BOOKMARKS); |
- syncer::ModelTypeSet two(BOOKMARKS, TYPED_URLS); |
- |
- EXPECT_EQ(empty, ModelTypeSetFromString(ModelTypeSetToString(empty))); |
- EXPECT_EQ(one, ModelTypeSetFromString(ModelTypeSetToString(one))); |
- EXPECT_EQ(two, ModelTypeSetFromString(ModelTypeSetToString(two))); |
-} |
- |
-TEST_F(ModelTypeTest, DefaultFieldValues) { |
- syncer::ModelTypeSet types = syncer::ProtocolTypes(); |
- for (ModelTypeSet::Iterator it = types.First(); it.Good(); it.Inc()) { |
- SCOPED_TRACE(ModelTypeToString(it.Get())); |
- |
- sync_pb::EntitySpecifics specifics; |
- syncer::AddDefaultFieldValue(it.Get(), &specifics); |
- EXPECT_TRUE(specifics.IsInitialized()); |
- |
- std::string tmp; |
- EXPECT_TRUE(specifics.SerializeToString(&tmp)); |
- |
- sync_pb::EntitySpecifics from_string; |
- EXPECT_TRUE(from_string.ParseFromString(tmp)); |
- EXPECT_TRUE(from_string.IsInitialized()); |
- |
- EXPECT_EQ(it.Get(), syncer::GetModelTypeFromSpecifics(from_string)); |
- } |
-} |
- |
-TEST_F(ModelTypeTest, ModelTypeToRootTagValues) { |
- ModelTypeSet all_types = ModelTypeSet::All(); |
- for (ModelTypeSet::Iterator it = all_types.First(); it.Good(); it.Inc()) { |
- ModelType model_type = it.Get(); |
- std::string root_tag = ModelTypeToRootTag(model_type); |
- if (IsProxyType(model_type)) { |
- EXPECT_EQ(root_tag, std::string()); |
- } else if (IsRealDataType(model_type)) { |
- EXPECT_TRUE(base::StartsWith(root_tag, "google_chrome_", |
- base::CompareCase::INSENSITIVE_ASCII)); |
- } else { |
- EXPECT_EQ(root_tag, "INVALID"); |
- } |
- } |
-} |
- |
-TEST_F(ModelTypeTest, ModelTypeStringMapping) { |
- ModelTypeSet all_types = ModelTypeSet::All(); |
- for (ModelTypeSet::Iterator it = all_types.First(); it.Good(); it.Inc()) { |
- ModelType model_type = it.Get(); |
- const char* model_type_string = ModelTypeToString(model_type); |
- ModelType converted_model_type = ModelTypeFromString(model_type_string); |
- if (IsRealDataType(model_type)) |
- EXPECT_EQ(converted_model_type, model_type); |
- else |
- EXPECT_EQ(converted_model_type, UNSPECIFIED); |
- } |
-} |
- |
-TEST_F(ModelTypeTest, ModelTypeNotificationTypeMapping) { |
- ModelTypeSet all_types = ModelTypeSet::All(); |
- for (ModelTypeSet::Iterator it = all_types.First(); it.Good(); it.Inc()) { |
- ModelType model_type = it.Get(); |
- std::string notification_type; |
- bool ret = RealModelTypeToNotificationType(model_type, ¬ification_type); |
- if (ret) { |
- ModelType notified_model_type; |
- EXPECT_TRUE(NotificationTypeToRealModelType(notification_type, |
- ¬ified_model_type)); |
- EXPECT_EQ(notified_model_type, model_type); |
- } else { |
- EXPECT_FALSE(ProtocolTypes().Has(model_type)); |
- EXPECT_TRUE(notification_type.empty()); |
- } |
- } |
-} |
- |
-} // namespace |
-} // namespace syncer |