mirror of
https://github.com/fmtlib/fmt.git
synced 2025-11-25 03:39:56 +01:00
Improve handling of back_insert_iterator that writes into a buffer
This commit is contained in:
@@ -114,7 +114,7 @@ TEST(base_test, is_back_insert_iterator) {
|
||||
|
||||
TEST(base_test, buffer_appender) {
|
||||
#ifdef __cpp_lib_ranges
|
||||
static_assert(std::output_iterator<fmt::appender, char>);
|
||||
EXPECT_TRUE((std::output_iterator<fmt::appender, char>));
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -268,6 +268,16 @@ TEST(buffer_test, append_allocates_enough_storage) {
|
||||
buffer.append(test, test + 9);
|
||||
}
|
||||
|
||||
TEST(base_test, get_buffer) {
|
||||
mock_buffer<char> buffer;
|
||||
void* buffer_ptr = &buffer;
|
||||
auto&& appender_result = fmt::detail::get_buffer<char>(fmt::appender(buffer));
|
||||
EXPECT_EQ(&appender_result, buffer_ptr);
|
||||
auto&& back_inserter_result =
|
||||
fmt::detail::get_buffer<char>(std::back_inserter(buffer));
|
||||
EXPECT_EQ(&back_inserter_result, buffer_ptr);
|
||||
}
|
||||
|
||||
struct custom_context {
|
||||
using char_type = char;
|
||||
using parse_context_type = fmt::format_parse_context;
|
||||
|
||||
Reference in New Issue
Block a user