OLD | NEW |
| (Empty) |
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 the .proto files in this directory. | |
6 | |
7 #include "sync/protocol/proto_enum_conversions.h" | |
8 | |
9 #include <string> | |
10 | |
11 #include "testing/gtest/include/gtest/gtest.h" | |
12 | |
13 namespace syncer { | |
14 namespace { | |
15 | |
16 class ProtoEnumConversionsTest : public testing::Test { | |
17 }; | |
18 | |
19 template <class T> | |
20 void TestEnumStringFunction(const char* (*enum_string_fn)(T), | |
21 int enum_min, int enum_max) { | |
22 for (int i = enum_min; i <= enum_max; ++i) { | |
23 const std::string& str = enum_string_fn(static_cast<T>(i)); | |
24 EXPECT_FALSE(str.empty()); | |
25 } | |
26 } | |
27 | |
28 TEST_F(ProtoEnumConversionsTest, GetAppListItemTypeString) { | |
29 TestEnumStringFunction( | |
30 GetAppListItemTypeString, | |
31 sync_pb::AppListSpecifics::AppListItemType_MIN, | |
32 sync_pb::AppListSpecifics::AppListItemType_MAX); | |
33 } | |
34 | |
35 TEST_F(ProtoEnumConversionsTest, GetBrowserTypeString) { | |
36 TestEnumStringFunction( | |
37 GetBrowserTypeString, | |
38 sync_pb::SessionWindow::BrowserType_MIN, | |
39 sync_pb::SessionWindow::BrowserType_MAX); | |
40 } | |
41 | |
42 TEST_F(ProtoEnumConversionsTest, GetPageTransitionString) { | |
43 TestEnumStringFunction( | |
44 GetPageTransitionString, | |
45 sync_pb::SyncEnums::PageTransition_MIN, | |
46 sync_pb::SyncEnums::PageTransition_MAX); | |
47 } | |
48 | |
49 TEST_F(ProtoEnumConversionsTest, GetPageTransitionQualifierString) { | |
50 TestEnumStringFunction( | |
51 GetPageTransitionRedirectTypeString, | |
52 sync_pb::SyncEnums::PageTransitionRedirectType_MIN, | |
53 sync_pb::SyncEnums::PageTransitionRedirectType_MAX); | |
54 } | |
55 | |
56 TEST_F(ProtoEnumConversionsTest, GetWifiCredentialSecurityClassString) { | |
57 TestEnumStringFunction( | |
58 GetWifiCredentialSecurityClassString, | |
59 sync_pb::WifiCredentialSpecifics::SecurityClass_MIN, | |
60 sync_pb::WifiCredentialSpecifics::SecurityClass_MAX); | |
61 } | |
62 | |
63 TEST_F(ProtoEnumConversionsTest, GetUpdatesSourceString) { | |
64 TestEnumStringFunction( | |
65 GetUpdatesSourceString, | |
66 sync_pb::GetUpdatesCallerInfo::GetUpdatesSource_MIN, | |
67 sync_pb::GetUpdatesCallerInfo::PERIODIC); | |
68 TestEnumStringFunction( | |
69 GetUpdatesSourceString, | |
70 sync_pb::GetUpdatesCallerInfo::RETRY, | |
71 sync_pb::GetUpdatesCallerInfo::GetUpdatesSource_MAX); | |
72 } | |
73 | |
74 TEST_F(ProtoEnumConversionsTest, GetResponseTypeString) { | |
75 TestEnumStringFunction( | |
76 GetResponseTypeString, | |
77 sync_pb::CommitResponse::ResponseType_MIN, | |
78 sync_pb::CommitResponse::ResponseType_MAX); | |
79 } | |
80 | |
81 TEST_F(ProtoEnumConversionsTest, GetErrorTypeString) { | |
82 // We have a gap, so we need to do two ranges. | |
83 TestEnumStringFunction( | |
84 GetErrorTypeString, | |
85 sync_pb::SyncEnums::ErrorType_MIN, | |
86 sync_pb::SyncEnums::MIGRATION_DONE); | |
87 TestEnumStringFunction( | |
88 GetErrorTypeString, | |
89 sync_pb::SyncEnums::UNKNOWN, | |
90 sync_pb::SyncEnums::ErrorType_MAX); | |
91 } | |
92 | |
93 TEST_F(ProtoEnumConversionsTest, GetActionString) { | |
94 TestEnumStringFunction( | |
95 GetActionString, | |
96 sync_pb::SyncEnums::Action_MIN, | |
97 sync_pb::SyncEnums::Action_MAX); | |
98 } | |
99 | |
100 } // namespace | |
101 } // namespace syncer | |
OLD | NEW |