diff options
Diffstat (limited to 'third_party/abseil_cpp/absl/strings/internal/ostringstream_test.cc')
-rw-r--r-- | third_party/abseil_cpp/absl/strings/internal/ostringstream_test.cc | 102 |
1 files changed, 0 insertions, 102 deletions
diff --git a/third_party/abseil_cpp/absl/strings/internal/ostringstream_test.cc b/third_party/abseil_cpp/absl/strings/internal/ostringstream_test.cc deleted file mode 100644 index 2879e50eb38d..000000000000 --- a/third_party/abseil_cpp/absl/strings/internal/ostringstream_test.cc +++ /dev/null @@ -1,102 +0,0 @@ -// Copyright 2017 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/ostringstream.h" - -#include <memory> -#include <ostream> -#include <string> -#include <type_traits> - -#include "gtest/gtest.h" - -namespace { - -TEST(OStringStream, IsOStream) { - static_assert( - std::is_base_of<std::ostream, absl::strings_internal::OStringStream>(), - ""); -} - -TEST(OStringStream, ConstructDestroy) { - { - absl::strings_internal::OStringStream strm(nullptr); - EXPECT_EQ(nullptr, strm.str()); - } - { - std::string s = "abc"; - { - absl::strings_internal::OStringStream strm(&s); - EXPECT_EQ(&s, strm.str()); - } - EXPECT_EQ("abc", s); - } - { - std::unique_ptr<std::string> s(new std::string); - absl::strings_internal::OStringStream strm(s.get()); - s.reset(); - } -} - -TEST(OStringStream, Str) { - std::string s1; - absl::strings_internal::OStringStream strm(&s1); - const absl::strings_internal::OStringStream& c_strm(strm); - - static_assert(std::is_same<decltype(strm.str()), std::string*>(), ""); - static_assert(std::is_same<decltype(c_strm.str()), const std::string*>(), ""); - - EXPECT_EQ(&s1, strm.str()); - EXPECT_EQ(&s1, c_strm.str()); - - strm.str(&s1); - EXPECT_EQ(&s1, strm.str()); - EXPECT_EQ(&s1, c_strm.str()); - - std::string s2; - strm.str(&s2); - EXPECT_EQ(&s2, strm.str()); - EXPECT_EQ(&s2, c_strm.str()); - - strm.str(nullptr); - EXPECT_EQ(nullptr, strm.str()); - EXPECT_EQ(nullptr, c_strm.str()); -} - -TEST(OStreamStream, WriteToLValue) { - std::string s = "abc"; - { - absl::strings_internal::OStringStream strm(&s); - EXPECT_EQ("abc", s); - strm << ""; - EXPECT_EQ("abc", s); - strm << 42; - EXPECT_EQ("abc42", s); - strm << 'x' << 'y'; - EXPECT_EQ("abc42xy", s); - } - EXPECT_EQ("abc42xy", s); -} - -TEST(OStreamStream, WriteToRValue) { - std::string s = "abc"; - absl::strings_internal::OStringStream(&s) << ""; - EXPECT_EQ("abc", s); - absl::strings_internal::OStringStream(&s) << 42; - EXPECT_EQ("abc42", s); - absl::strings_internal::OStringStream(&s) << 'x' << 'y'; - EXPECT_EQ("abc42xy", s); -} - -} // namespace |