Googletest export
Revert ac3c2a8d04
-- it seems to break some gcc users (#3384)
PiperOrigin-RevId: 370834917
This commit is contained in:
parent
065a0c8140
commit
f5e592d8ee
@ -113,11 +113,6 @@
|
|||||||
#include "gtest/internal/gtest-internal.h"
|
#include "gtest/internal/gtest-internal.h"
|
||||||
#include "gtest/internal/gtest-port.h"
|
#include "gtest/internal/gtest-port.h"
|
||||||
|
|
||||||
#if GTEST_HAS_RTTI
|
|
||||||
#include <typeindex>
|
|
||||||
#include <typeinfo>
|
|
||||||
#endif // GTEST_HAS_RTTI
|
|
||||||
|
|
||||||
namespace testing {
|
namespace testing {
|
||||||
|
|
||||||
// Definitions in the internal* namespaces are subject to change without notice.
|
// Definitions in the internal* namespaces are subject to change without notice.
|
||||||
@ -672,18 +667,6 @@ void PrintTo(const ::std::pair<T1, T2>& value, ::std::ostream* os) {
|
|||||||
*os << ')';
|
*os << ')';
|
||||||
}
|
}
|
||||||
|
|
||||||
#if GTEST_HAS_RTTI
|
|
||||||
inline void PrintTo(const ::std::type_info& value, ::std::ostream* os) {
|
|
||||||
internal::PrintTo<::std::type_info>(value, os);
|
|
||||||
*os << " (\"" << value.name() << "\")";
|
|
||||||
}
|
|
||||||
|
|
||||||
inline void PrintTo(const ::std::type_index& value, ::std::ostream* os) {
|
|
||||||
internal::PrintTo<::std::type_index>(value, os);
|
|
||||||
*os << " (\"" << value.name() << "\")";
|
|
||||||
}
|
|
||||||
#endif // GTEST_HAS_RTTI
|
|
||||||
|
|
||||||
// Implements printing a non-reference type T by letting the compiler
|
// Implements printing a non-reference type T by letting the compiler
|
||||||
// pick the right overload of PrintTo() for T.
|
// pick the right overload of PrintTo() for T.
|
||||||
template <typename T>
|
template <typename T>
|
||||||
|
@ -1612,61 +1612,6 @@ TEST(PrintToStringTest, WorksForCharArrayWithEmbeddedNul) {
|
|||||||
"\n As Text: \"From ä — ẑ\"");
|
"\n As Text: \"From ä — ẑ\"");
|
||||||
}
|
}
|
||||||
|
|
||||||
#if GTEST_HAS_RTTI
|
|
||||||
template <typename T>
|
|
||||||
class PrintToStringTest : public testing::Test {
|
|
||||||
public:
|
|
||||||
using TestType = T;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct PrintBase {
|
|
||||||
virtual ~PrintBase() = default;
|
|
||||||
};
|
|
||||||
struct PrintDerived : PrintBase {};
|
|
||||||
|
|
||||||
using PrintToStringTestTypes =
|
|
||||||
testing::Types<void, int, const volatile int*, PrintBase, PrintDerived>;
|
|
||||||
TYPED_TEST_SUITE(PrintToStringTest, PrintToStringTestTypes);
|
|
||||||
|
|
||||||
// Returns `true` if `haystack` contains `needle`.
|
|
||||||
//
|
|
||||||
// FIXME: Replace with `EXPECT_THAT(haystack, HasSubstr(needle))` once
|
|
||||||
// GoogleTest starts depending on GoogleMock.
|
|
||||||
bool ContainsSubstr(const std::string& haystack, const std::string& needle) {
|
|
||||||
return haystack.find(needle) != std::string::npos;
|
|
||||||
}
|
|
||||||
|
|
||||||
TYPED_TEST(PrintToStringTest, IncludesNameWithTypeInfoAndTypeIndex) {
|
|
||||||
const ::std::type_info& info = typeid(typename TestFixture::TestType);
|
|
||||||
SCOPED_TRACE(info.name());
|
|
||||||
EXPECT_TRUE(ContainsSubstr(PrintToString(info), info.name()));
|
|
||||||
EXPECT_TRUE(
|
|
||||||
ContainsSubstr(PrintToString(::std::type_index{info}), info.name()));
|
|
||||||
}
|
|
||||||
|
|
||||||
TEST(PrintToStringTest, IncludesNameWithTypeInfoAndTypeIndexViaBaseRef) {
|
|
||||||
PrintDerived derived;
|
|
||||||
PrintBase& base = derived;
|
|
||||||
|
|
||||||
{
|
|
||||||
const ::std::type_info& derived_info = typeid(derived);
|
|
||||||
SCOPED_TRACE(derived_info.name());
|
|
||||||
EXPECT_TRUE(
|
|
||||||
ContainsSubstr(PrintToString(derived_info), derived_info.name()));
|
|
||||||
EXPECT_TRUE(ContainsSubstr(PrintToString(::std::type_index{derived_info}),
|
|
||||||
derived_info.name()));
|
|
||||||
}
|
|
||||||
{
|
|
||||||
const ::std::type_info& base_ref_info = typeid(base);
|
|
||||||
SCOPED_TRACE(base_ref_info.name());
|
|
||||||
EXPECT_TRUE(
|
|
||||||
ContainsSubstr(PrintToString(base_ref_info), base_ref_info.name()));
|
|
||||||
EXPECT_TRUE(ContainsSubstr(PrintToString(::std::type_index{base_ref_info}),
|
|
||||||
base_ref_info.name()));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#endif // GTEST_HAS_RTTI
|
|
||||||
|
|
||||||
TEST(IsValidUTF8Test, IllFormedUTF8) {
|
TEST(IsValidUTF8Test, IllFormedUTF8) {
|
||||||
// The following test strings are ill-formed UTF-8 and are printed
|
// The following test strings are ill-formed UTF-8 and are printed
|
||||||
// as hex only (or ASCII, in case of ASCII bytes) because IsValidUTF8() is
|
// as hex only (or ASCII, in case of ASCII bytes) because IsValidUTF8() is
|
||||||
|
Loading…
Reference in New Issue
Block a user