blob: 55fbc360100919ae6ca79de8a45d477848edd757 [file] [edit]
// Protocol Buffers - Google's data interchange format
// Copyright 2008 Google Inc. All rights reserved.
//
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file or at
// https://developers.google.com/open-source/licenses/bsd
#include "google/protobuf/naming_style.h"
#include <string>
#include <gmock/gmock.h>
#include <gtest/gtest.h>
#include "absl/status/status_matchers.h"
namespace google {
namespace protobuf {
namespace internal {
namespace {
using ::absl_testing::IsOk;
using ::testing::Not;
TEST(NamingStyleTest, ContainsBadUnderscores) {
EXPECT_TRUE(ContainsBadUnderscores("_foo"));
EXPECT_TRUE(ContainsBadUnderscores("foo_"));
EXPECT_TRUE(ContainsBadUnderscores("foo__bar"));
EXPECT_TRUE(ContainsBadUnderscores("foo_1"));
EXPECT_FALSE(ContainsBadUnderscores("foo_bar"));
EXPECT_FALSE(ContainsBadUnderscores("foo_bar_baz"));
EXPECT_FALSE(ContainsBadUnderscores(""));
}
TEST(NamingStyleTest, IsValidTitleCaseName) {
EXPECT_THAT(IsValidTitleCaseName("Foo"), IsOk());
EXPECT_THAT(IsValidTitleCaseName("FooBar"), IsOk());
EXPECT_THAT(IsValidTitleCaseName("foo"), Not(IsOk()));
EXPECT_THAT(IsValidTitleCaseName("Foo_Bar"), Not(IsOk()));
EXPECT_THAT(IsValidTitleCaseName(""), Not(IsOk()));
}
TEST(NamingStyleTest, IsValidLowerSnakeCaseName) {
EXPECT_THAT(IsValidLowerSnakeCaseName("foo"), IsOk());
EXPECT_THAT(IsValidLowerSnakeCaseName("foo_bar"), IsOk());
EXPECT_THAT(IsValidLowerSnakeCaseName("foo_bar_123"), Not(IsOk()));
EXPECT_THAT(IsValidLowerSnakeCaseName("Foo"), Not(IsOk()));
EXPECT_THAT(IsValidLowerSnakeCaseName("fooBar"), Not(IsOk()));
EXPECT_THAT(IsValidLowerSnakeCaseName("foo__bar"), Not(IsOk()));
EXPECT_THAT(IsValidLowerSnakeCaseName(""), Not(IsOk()));
}
TEST(NamingStyleTest, IsValidUpperSnakeCaseName) {
EXPECT_THAT(IsValidUpperSnakeCaseName("FOO"), IsOk());
EXPECT_THAT(IsValidUpperSnakeCaseName("FOO_BAR"), IsOk());
EXPECT_THAT(IsValidUpperSnakeCaseName("FOO_BAR_123"), Not(IsOk()));
EXPECT_THAT(IsValidUpperSnakeCaseName("foo"), Not(IsOk()));
EXPECT_THAT(IsValidUpperSnakeCaseName("FOO_bar"), Not(IsOk()));
EXPECT_THAT(IsValidUpperSnakeCaseName("FOO__BAR"), Not(IsOk()));
EXPECT_THAT(IsValidUpperSnakeCaseName(""), Not(IsOk()));
}
} // namespace
} // namespace internal
} // namespace protobuf
} // namespace google