diff options
Diffstat (limited to 'sync/protocol/proto_enum_conversions_unittest.cc')
-rw-r--r-- | sync/protocol/proto_enum_conversions_unittest.cc | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/sync/protocol/proto_enum_conversions_unittest.cc b/sync/protocol/proto_enum_conversions_unittest.cc new file mode 100644 index 0000000..2445a30 --- /dev/null +++ b/sync/protocol/proto_enum_conversions_unittest.cc @@ -0,0 +1,62 @@ +// 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. + +// Keep this file in sync with the .proto files in this directory. + +#include "sync/protocol/proto_enum_conversions.h" + +#include <string> + +#include "testing/gtest/include/gtest/gtest.h" + +namespace browser_sync { +namespace { + +class ProtoEnumConversionsTest : public testing::Test { +}; + +template <class T> +void TestEnumStringFunction(const char* (*enum_string_fn)(T), + int enum_min, int enum_max) { + for (int i = enum_min; i <= enum_max; ++i) { + const std::string& str = enum_string_fn(static_cast<T>(i)); + EXPECT_FALSE(str.empty()); + } +} + +TEST_F(ProtoEnumConversionsTest, GetBrowserTypeString) { + TestEnumStringFunction( + GetBrowserTypeString, + sync_pb::SessionWindow::BrowserType_MIN, + sync_pb::SessionWindow::BrowserType_MAX); +} + +TEST_F(ProtoEnumConversionsTest, GetPageTransitionString) { + // We have a gap, so we need to do two ranges. + TestEnumStringFunction( + GetPageTransitionString, + sync_pb::TabNavigation::PageTransition_MIN, + sync_pb::TabNavigation::KEYWORD_GENERATED); + TestEnumStringFunction( + GetPageTransitionString, + sync_pb::TabNavigation::CHAIN_START, + sync_pb::TabNavigation::PageTransition_MAX); +} + +TEST_F(ProtoEnumConversionsTest, GetPageTransitionQualifierString) { + TestEnumStringFunction( + GetPageTransitionQualifierString, + sync_pb::TabNavigation::PageTransitionQualifier_MIN, + sync_pb::TabNavigation::PageTransitionQualifier_MAX); +} + +TEST_F(ProtoEnumConversionsTest, GetUpdatesSourceString) { + TestEnumStringFunction( + GetUpdatesSourceString, + sync_pb::GetUpdatesCallerInfo::GetUpdatesSource_MIN, + sync_pb::GetUpdatesCallerInfo::GetUpdatesSource_MAX); +} + +} // namespace +} // namespace browser_sync |