aboutsummaryrefslogtreecommitdiff
path: root/third_party/abseil-cpp/absl/strings/internal/str_format/parser_test.cc
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/abseil-cpp/absl/strings/internal/str_format/parser_test.cc')
-rw-r--r--third_party/abseil-cpp/absl/strings/internal/str_format/parser_test.cc72
1 files changed, 25 insertions, 47 deletions
diff --git a/third_party/abseil-cpp/absl/strings/internal/str_format/parser_test.cc b/third_party/abseil-cpp/absl/strings/internal/str_format/parser_test.cc
index fe0d296360..1b1ee030f1 100644
--- a/third_party/abseil-cpp/absl/strings/internal/str_format/parser_test.cc
+++ b/third_party/abseil-cpp/absl/strings/internal/str_format/parser_test.cc
@@ -1,17 +1,3 @@
-// Copyright 2020 The Abseil Authors.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// https://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
#include "absl/strings/internal/str_format/parser.h"
#include <string.h>
@@ -55,23 +41,23 @@ TEST(LengthModTest, Names) {
TEST(ConversionCharTest, Names) {
struct Expectation {
- FormatConversionChar id;
+ ConversionChar id;
char name;
};
// clang-format off
const Expectation kExpect[] = {
-#define X(c) {FormatConversionCharInternal::c, #c[0]}
- X(c), X(s), // text
+#define X(c) {ConversionChar::c, #c[0]}
+ X(c), X(C), X(s), X(S), // text
X(d), X(i), X(o), X(u), X(x), X(X), // int
X(f), X(F), X(e), X(E), X(g), X(G), X(a), X(A), // float
X(n), X(p), // misc
#undef X
- {FormatConversionCharInternal::kNone, '\0'},
+ {ConversionChar::none, '\0'},
};
// clang-format on
for (auto e : kExpect) {
SCOPED_TRACE(e.name);
- FormatConversionChar v = e.id;
+ ConversionChar v = e.id;
EXPECT_EQ(e.name, FormatConversionCharToChar(v));
}
}
@@ -270,22 +256,15 @@ TEST_F(ConsumeUnboundConversionTest, Flags) {
for (int k = 0; k < kNumFlags; ++k)
if ((i >> k) & 1) fmt += kAllFlags[k];
// flag order shouldn't matter
- if (rev == 1) {
- std::reverse(fmt.begin(), fmt.end());
- }
+ if (rev == 1) { std::reverse(fmt.begin(), fmt.end()); }
fmt += 'd';
SCOPED_TRACE(fmt);
EXPECT_TRUE(Run(fmt.c_str()));
- EXPECT_EQ(fmt.find('-') == std::string::npos,
- !FlagsContains(o.flags, Flags::kLeft));
- EXPECT_EQ(fmt.find('+') == std::string::npos,
- !FlagsContains(o.flags, Flags::kShowPos));
- EXPECT_EQ(fmt.find(' ') == std::string::npos,
- !FlagsContains(o.flags, Flags::kSignCol));
- EXPECT_EQ(fmt.find('#') == std::string::npos,
- !FlagsContains(o.flags, Flags::kAlt));
- EXPECT_EQ(fmt.find('0') == std::string::npos,
- !FlagsContains(o.flags, Flags::kZero));
+ EXPECT_EQ(fmt.find('-') == std::string::npos, !o.flags.left);
+ EXPECT_EQ(fmt.find('+') == std::string::npos, !o.flags.show_pos);
+ EXPECT_EQ(fmt.find(' ') == std::string::npos, !o.flags.sign_col);
+ EXPECT_EQ(fmt.find('#') == std::string::npos, !o.flags.alt);
+ EXPECT_EQ(fmt.find('0') == std::string::npos, !o.flags.zero);
}
}
}
@@ -295,14 +274,14 @@ TEST_F(ConsumeUnboundConversionTest, BasicFlag) {
for (const char* fmt : {"d", "llx", "G", "1$X"}) {
SCOPED_TRACE(fmt);
EXPECT_TRUE(Run(fmt));
- EXPECT_EQ(o.flags, Flags::kBasic);
+ EXPECT_TRUE(o.flags.basic);
}
// Flag is off
for (const char* fmt : {"3d", ".llx", "-G", "1$#X"}) {
SCOPED_TRACE(fmt);
EXPECT_TRUE(Run(fmt));
- EXPECT_NE(o.flags, Flags::kBasic);
+ EXPECT_FALSE(o.flags.basic);
}
}
@@ -370,8 +349,7 @@ TEST_F(ParsedFormatTest, ValueSemantics) {
ParsedFormatBase p2 = p1; // copy construct (empty)
EXPECT_EQ(SummarizeParsedFormat(p1), SummarizeParsedFormat(p2));
- p1 = ParsedFormatBase("hello%s", true,
- {FormatConversionCharSetInternal::s}); // move assign
+ p1 = ParsedFormatBase("hello%s", true, {Conv::s}); // move assign
EXPECT_EQ("[hello]{s:1$s}", SummarizeParsedFormat(p1));
ParsedFormatBase p3 = p1; // copy construct (nonempty)
@@ -389,7 +367,7 @@ TEST_F(ParsedFormatTest, ValueSemantics) {
struct ExpectParse {
const char* in;
- std::initializer_list<FormatConversionCharSet> conv_set;
+ std::initializer_list<Conv> conv_set;
const char* out;
};
@@ -399,9 +377,9 @@ TEST_F(ParsedFormatTest, Parsing) {
const ExpectParse kExpect[] = {
{"", {}, ""},
{"ab", {}, "[ab]"},
- {"a%d", {FormatConversionCharSetInternal::d}, "[a]{d:1$d}"},
- {"a%+d", {FormatConversionCharSetInternal::d}, "[a]{+d:1$d}"},
- {"a% d", {FormatConversionCharSetInternal::d}, "[a]{ d:1$d}"},
+ {"a%d", {Conv::d}, "[a]{d:1$d}"},
+ {"a%+d", {Conv::d}, "[a]{+d:1$d}"},
+ {"a% d", {Conv::d}, "[a]{ d:1$d}"},
{"a%b %d", {}, "[a]!"}, // stop after error
};
for (const auto& e : kExpect) {
@@ -413,13 +391,13 @@ TEST_F(ParsedFormatTest, Parsing) {
TEST_F(ParsedFormatTest, ParsingFlagOrder) {
const ExpectParse kExpect[] = {
- {"a%+ 0d", {FormatConversionCharSetInternal::d}, "[a]{+ 0d:1$d}"},
- {"a%+0 d", {FormatConversionCharSetInternal::d}, "[a]{+0 d:1$d}"},
- {"a%0+ d", {FormatConversionCharSetInternal::d}, "[a]{0+ d:1$d}"},
- {"a% +0d", {FormatConversionCharSetInternal::d}, "[a]{ +0d:1$d}"},
- {"a%0 +d", {FormatConversionCharSetInternal::d}, "[a]{0 +d:1$d}"},
- {"a% 0+d", {FormatConversionCharSetInternal::d}, "[a]{ 0+d:1$d}"},
- {"a%+ 0+d", {FormatConversionCharSetInternal::d}, "[a]{+ 0+d:1$d}"},
+ {"a%+ 0d", {Conv::d}, "[a]{+ 0d:1$d}"},
+ {"a%+0 d", {Conv::d}, "[a]{+0 d:1$d}"},
+ {"a%0+ d", {Conv::d}, "[a]{0+ d:1$d}"},
+ {"a% +0d", {Conv::d}, "[a]{ +0d:1$d}"},
+ {"a%0 +d", {Conv::d}, "[a]{0 +d:1$d}"},
+ {"a% 0+d", {Conv::d}, "[a]{ 0+d:1$d}"},
+ {"a%+ 0+d", {Conv::d}, "[a]{+ 0+d:1$d}"},
};
for (const auto& e : kExpect) {
SCOPED_TRACE(e.in);