implement stringify for std::nullopt_t

This commit is contained in:
Martin Jeřábek 2023-08-30 13:16:30 +02:00 committed by Martin Hořeňovský
parent 2a19ae16b8
commit 3a5cde55b7
2 changed files with 10 additions and 0 deletions

View File

@ -398,6 +398,12 @@ namespace Catch {
} }
} }
}; };
template <>
struct StringMaker<std::nullopt_t> {
static std::string convert(const std::nullopt_t&) {
return "{ }";
}
};
} }
#endif // CATCH_CONFIG_ENABLE_OPTIONAL_STRINGMAKER #endif // CATCH_CONFIG_ENABLE_OPTIONAL_STRINGMAKER

View File

@ -28,4 +28,8 @@ TEST_CASE( "std::vector<std::optional<int> > -> toString", "[toString][optional]
REQUIRE( "{ 0, { }, 2 }" == ::Catch::Detail::stringify( type{ 0, {}, 2 } ) ); REQUIRE( "{ 0, { }, 2 }" == ::Catch::Detail::stringify( type{ 0, {}, 2 } ) );
} }
TEST_CASE( "std::nullopt -> toString", "[toString][optional][approvals]" ) {
REQUIRE( "{ }" == ::Catch::Detail::stringify( std::nullopt ) );
}
#endif // CATCH_INTERNAL_CONFIG_CPP17_OPTIONAL #endif // CATCH_INTERNAL_CONFIG_CPP17_OPTIONAL