syncable_enum_conversions_unittest.cc revision 5821806d5e7f356e8fa4b058a389a808ea183019
1// Copyright (c) 2012 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5// Keep this file in sync with entry_kernel.h. 6 7#include "sync/syncable/syncable_enum_conversions.h" 8 9#include <string> 10 11#include "testing/gtest/include/gtest/gtest.h" 12 13namespace syncer { 14namespace syncable { 15namespace { 16 17class SyncableEnumConversionsTest : public testing::Test { 18}; 19 20template <class T> 21void TestEnumStringFunction(const char* (*enum_string_fn)(T), 22 int enum_min, int enum_max) { 23 EXPECT_LE(enum_min, enum_max); 24 for (int i = enum_min; i <= enum_max; ++i) { 25 const std::string& str = enum_string_fn(static_cast<T>(i)); 26 EXPECT_FALSE(str.empty()); 27 } 28} 29 30TEST_F(SyncableEnumConversionsTest, GetMetahandleFieldString) { 31 TestEnumStringFunction( 32 GetMetahandleFieldString, INT64_FIELDS_BEGIN, META_HANDLE); 33} 34 35TEST_F(SyncableEnumConversionsTest, GetBaseVersionString) { 36 TestEnumStringFunction( 37 GetBaseVersionString, META_HANDLE + 1, BASE_VERSION); 38} 39 40TEST_F(SyncableEnumConversionsTest, GetInt64FieldString) { 41 TestEnumStringFunction( 42 GetInt64FieldString, BASE_VERSION + 1, INT64_FIELDS_END - 1); 43} 44 45TEST_F(SyncableEnumConversionsTest, GetTimeFieldString) { 46 TestEnumStringFunction( 47 GetTimeFieldString, TIME_FIELDS_BEGIN, TIME_FIELDS_END - 1); 48} 49 50TEST_F(SyncableEnumConversionsTest, GetIdFieldString) { 51 TestEnumStringFunction( 52 GetIdFieldString, ID_FIELDS_BEGIN, ID_FIELDS_END - 1); 53} 54 55TEST_F(SyncableEnumConversionsTest, GetIndexedBitFieldString) { 56 TestEnumStringFunction( 57 GetIndexedBitFieldString, BIT_FIELDS_BEGIN, INDEXED_BIT_FIELDS_END - 1); 58} 59 60TEST_F(SyncableEnumConversionsTest, GetIsDelFieldString) { 61 TestEnumStringFunction( 62 GetIsDelFieldString, INDEXED_BIT_FIELDS_END, IS_DEL); 63} 64 65TEST_F(SyncableEnumConversionsTest, GetBitFieldString) { 66 TestEnumStringFunction( 67 GetBitFieldString, IS_DEL + 1, BIT_FIELDS_END - 1); 68} 69 70TEST_F(SyncableEnumConversionsTest, GetStringFieldString) { 71 TestEnumStringFunction( 72 GetStringFieldString, STRING_FIELDS_BEGIN, STRING_FIELDS_END - 1); 73} 74 75TEST_F(SyncableEnumConversionsTest, GetProtoFieldString) { 76 TestEnumStringFunction( 77 GetProtoFieldString, PROTO_FIELDS_BEGIN, PROTO_FIELDS_END - 1); 78} 79 80TEST_F(SyncableEnumConversionsTest, GetOrdinalFieldString) { 81 TestEnumStringFunction( 82 GetOrdinalFieldString, ORDINAL_FIELDS_BEGIN, ORDINAL_FIELDS_END - 1); 83} 84 85TEST_F(SyncableEnumConversionsTest, GetBitTempString) { 86 TestEnumStringFunction( 87 GetBitTempString, BIT_TEMPS_BEGIN, BIT_TEMPS_END - 1); 88} 89 90} // namespace 91} // namespace syncable 92} // namespace syncer 93