diff options
author | Abseil Team <absl-team@google.com> | 2020-06-17 14:16:51 -0700 |
---|---|---|
committer | Andy Getz <durandal@google.com> | 2020-06-18 16:10:44 -0400 |
commit | 4ccc0fce09836a25b474f4b1453146dae2c29f4d (patch) | |
tree | eb4e2c17bd7a605337192b21af4e9fe694b6e429 /absl/strings/internal/str_format/arg_test.cc | |
parent | 4a851046a0102cd986a5714a1af8deef28a544c4 (diff) | |
download | abseil-4ccc0fce09836a25b474f4b1453146dae2c29f4d.tar.gz abseil-4ccc0fce09836a25b474f4b1453146dae2c29f4d.tar.bz2 abseil-4ccc0fce09836a25b474f4b1453146dae2c29f4d.zip |
Export of internal Abseil changes
--
34c0d521b11ed4191ea3e071a864a84e5e5941b7 by Matthew Brown <matthewbr@google.com>:
Release absl::StrFormat custom type extensions
- Allows StrFormat methods to be extended to accept types which implement
AbslFormatConvert()
- NOLINTNEXTLINE(readability-redundant-declaration) used, declarations are
required in some compilers.
PiperOrigin-RevId: 316963065
--
4d475b5ad02d41057447d722ad35573fc4f48d1f by Evan Brown <ezb@google.com>:
Small fix to previous change: the first overload of insert_iterator_unique wasn't actually being selected. Fix that issue and add tests to verify that it actually works.
Note: couldn't use TestInstanceTracker here because that counts instances (and decrements in destructor) rather than counting all constructor calls.
PiperOrigin-RevId: 316927690
GitOrigin-RevId: 34c0d521b11ed4191ea3e071a864a84e5e5941b7
Change-Id: If8bbb8317b93af4084ac4cc55b752b99b1581b58
Diffstat (limited to 'absl/strings/internal/str_format/arg_test.cc')
-rw-r--r-- | absl/strings/internal/str_format/arg_test.cc | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/absl/strings/internal/str_format/arg_test.cc b/absl/strings/internal/str_format/arg_test.cc index bf3d7e8e..f53fd6bd 100644 --- a/absl/strings/internal/str_format/arg_test.cc +++ b/absl/strings/internal/str_format/arg_test.cc @@ -23,8 +23,17 @@ class FormatArgImplTest : public ::testing::Test { enum Color { kRed, kGreen, kBlue }; static const char *hi() { return "hi"; } + + struct X {}; + + X x_; }; +inline FormatConvertResult<FormatConversionCharSet{}> AbslFormatConvert( + const FormatArgImplTest::X &, const FormatConversionSpec &, FormatSink *) { + return {false}; +} + TEST_F(FormatArgImplTest, ToInt) { int out = 0; EXPECT_TRUE(FormatArgImplFriend::ToInt(FormatArgImpl(1), &out)); @@ -59,6 +68,7 @@ TEST_F(FormatArgImplTest, ToInt) { FormatArgImpl(static_cast<int *>(nullptr)), &out)); EXPECT_FALSE(FormatArgImplFriend::ToInt(FormatArgImpl(hi()), &out)); EXPECT_FALSE(FormatArgImplFriend::ToInt(FormatArgImpl("hi"), &out)); + EXPECT_FALSE(FormatArgImplFriend::ToInt(FormatArgImpl(x_), &out)); EXPECT_TRUE(FormatArgImplFriend::ToInt(FormatArgImpl(kBlue), &out)); EXPECT_EQ(2, out); } |