diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index e6c6bc09..7ae5659d 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -103,7 +103,6 @@ add_fmt_test(locale-test) add_fmt_test(ostream-test) add_fmt_test(compile-test) add_fmt_test(printf-test) -add_fmt_test(custom-formatter-test) add_fmt_test(ranges-test) add_fmt_test(scan-test) diff --git a/test/custom-formatter-test.cc b/test/custom-formatter-test.cc deleted file mode 100644 index 69d21d05..00000000 --- a/test/custom-formatter-test.cc +++ /dev/null @@ -1,56 +0,0 @@ -// Formatting library for C++ - custom argument formatter tests -// -// Copyright (c) 2012 - present, Victor Zverovich -// All rights reserved. -// -// For the license information refer to format.h. - -#ifndef _CRT_SECURE_NO_WARNINGS -#define _CRT_SECURE_NO_WARNINGS -#endif - -#include "fmt/format.h" -#include "gtest-extra.h" - -// MSVC 2013 is known to be broken. -#if !FMT_MSC_VER || FMT_MSC_VER > 1800 - -// A custom argument formatter that doesn't print `-` for floating-point values -// rounded to 0. -class custom_arg_formatter - : public fmt::detail::arg_formatter { - public: - using base = fmt::detail::arg_formatter; - - custom_arg_formatter(fmt::format_context& ctx, - fmt::format_parse_context* parse_ctx, - fmt::format_specs* s = nullptr, const char* = nullptr) - : base(ctx, parse_ctx, s) {} - - using base::operator(); - - iterator operator()(double value) { - // Comparing a float to 0.0 is safe. - if (round(value * pow(10, specs()->precision)) == 0.0) value = 0; - return base::operator()(value); - } -}; - -std::string custom_vformat(fmt::string_view format_str, fmt::format_args args) { - fmt::memory_buffer buffer; - // Pass custom argument formatter as a template arg to vwrite. - fmt::vformat_to( - fmt::detail::buffer_appender(buffer), format_str, args); - return std::string(buffer.data(), buffer.size()); -} - -template -std::string custom_format(const char* format_str, const Args&... args) { - auto va = fmt::make_format_args(args...); - return custom_vformat(format_str, va); -} - -TEST(CustomFormatterTest, Format) { - EXPECT_EQ("0.00", custom_format("{:.2f}", -.00001)); -} -#endif