15 #include "absl/base/log_severity.h"
25 #include "gmock/gmock.h"
26 #include "gtest/gtest.h"
27 #include "absl/flags/internal/flag.h"
28 #include "absl/flags/marshalling.h"
29 #include "absl/strings/str_cat.h"
33 using ::testing::IsFalse;
35 using ::testing::TestWithParam;
45 TEST(StreamTest, Works) {
47 Eq(
"absl::LogSeverity(-100)"));
53 Eq(
"absl::LogSeverity(4)"));
58 "Flags of type absl::LogSeverity ought to be lock-free.");
60 using ParseFlagFromOutOfRangeIntegerTest = TestWithParam<int64_t>;
62 Instantiation, ParseFlagFromOutOfRangeIntegerTest,
65 TEST_P(ParseFlagFromOutOfRangeIntegerTest, ReturnsError) {
72 using ParseFlagFromAlmostOutOfRangeIntegerTest = TestWithParam<int>;
74 ParseFlagFromAlmostOutOfRangeIntegerTest,
77 TEST_P(ParseFlagFromAlmostOutOfRangeIntegerTest, YieldsExpectedValue) {
86 using ParseFlagFromIntegerMatchingEnumeratorTest =
87 TestWithParam<std::tuple<absl::string_view, absl::LogSeverity>>;
89 Instantiation, ParseFlagFromIntegerMatchingEnumeratorTest,
101 TEST_P(ParseFlagFromIntegerMatchingEnumeratorTest, YieldsExpectedValue) {
110 using ParseFlagFromOtherIntegerTest =
111 TestWithParam<std::tuple<absl::string_view, int>>;
117 TEST_P(ParseFlagFromOtherIntegerTest, YieldsExpectedValue) {
126 using ParseFlagFromEnumeratorTest =
127 TestWithParam<std::tuple<absl::string_view, absl::LogSeverity>>;
129 Instantiation, ParseFlagFromEnumeratorTest,
150 TEST_P(ParseFlagFromEnumeratorTest, YieldsExpectedValue) {
159 using ParseFlagFromGarbageTest = TestWithParam<absl::string_view>;
161 Values(
"",
"\0",
" ",
"garbage",
"kkinfo",
"I"));
162 TEST_P(ParseFlagFromGarbageTest, ReturnsError) {
169 using UnparseFlagToEnumeratorTest =
170 TestWithParam<std::tuple<absl::LogSeverity, absl::string_view>>;
172 Instantiation, UnparseFlagToEnumeratorTest,
177 TEST_P(UnparseFlagToEnumeratorTest, ReturnsExpectedValueAndRoundTrips) {
189 using UnparseFlagToOtherIntegerTest = TestWithParam<int>;
193 TEST_P(UnparseFlagToOtherIntegerTest, ReturnsExpectedValueAndRoundTrips) {
206 TEST(LogThresholdTest, LogSeverityAtLeastTest) {
214 TEST(LogThresholdTest, LogSeverityAtMostTest) {
222 TEST(LogThresholdTest, Extremes) {
228 TEST(LogThresholdTest, Output) {
242 Eq(
"NEGATIVE_INFINITY"));