aboutsummaryrefslogtreecommitdiff
path: root/absl/strings/internal/str_format/extension_test.cc
diff options
context:
space:
mode:
authorAbseil Team <absl-team@google.com>2022-09-15 14:29:39 -0700
committerCopybara-Service <copybara-worker@google.com>2022-09-15 14:30:34 -0700
commitab2e2c4f6062999afaf960759dfccb77f350c702 (patch)
treea09ca81723521190744e2ec917a9f697cd08254b /absl/strings/internal/str_format/extension_test.cc
parentd423ac0ef052bd7b6fc53fd1a026a44e1713d993 (diff)
downloadabseil-ab2e2c4f6062999afaf960759dfccb77f350c702.tar.gz
abseil-ab2e2c4f6062999afaf960759dfccb77f350c702.tar.bz2
abseil-ab2e2c4f6062999afaf960759dfccb77f350c702.zip
Adds support for "%v" in absl::StrFormat and related functions for numeric types, including integer and floating point values. Users may now specify %v and have the format specifier deduced. Integer values will print according to %d specifications, unsigned values will use %u, and floating point values will use %g. Note that %v does not work for `char` due to ambiguity regarding the intended output. Please continue to use %c for `char`.
PiperOrigin-RevId: 474658166 Change-Id: Iecae39263e368b27232db440535f2bf7da8d863c
Diffstat (limited to 'absl/strings/internal/str_format/extension_test.cc')
-rw-r--r--absl/strings/internal/str_format/extension_test.cc11
1 files changed, 11 insertions, 0 deletions
diff --git a/absl/strings/internal/str_format/extension_test.cc b/absl/strings/internal/str_format/extension_test.cc
index 1c93fdb1..694c1264 100644
--- a/absl/strings/internal/str_format/extension_test.cc
+++ b/absl/strings/internal/str_format/extension_test.cc
@@ -19,6 +19,7 @@
#include <random>
#include <string>
+#include "gmock/gmock.h"
#include "gtest/gtest.h"
#include "absl/strings/str_format.h"
#include "absl/strings/string_view.h"
@@ -95,4 +96,14 @@ TEST(FormatExtensionTest, VerifyEnumEquality) {
#undef X_VAL
}
+TEST(FormatExtensionTest, SetConversionChar) {
+ absl::str_format_internal::FormatConversionSpecImpl spec;
+ EXPECT_EQ(spec.conversion_char(),
+ absl::str_format_internal::FormatConversionCharInternal::kNone);
+ spec.set_conversion_char(
+ absl::str_format_internal::FormatConversionCharInternal::d);
+ EXPECT_EQ(spec.conversion_char(),
+ absl::str_format_internal::FormatConversionCharInternal::d);
+}
+
} // namespace