From 3a4f5a8a9cb56b302226edb5b02e4de86d31da6b Mon Sep 17 00:00:00 2001 From: Niels Lohmann Date: Thu, 2 Sep 2021 08:32:19 +0200 Subject: [PATCH] :white_check_mark: add regression tests --- test/src/unit-regression2.cpp | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/test/src/unit-regression2.cpp b/test/src/unit-regression2.cpp index 8d0175e9d..a42220e47 100644 --- a/test/src/unit-regression2.cpp +++ b/test/src/unit-regression2.cpp @@ -181,6 +181,13 @@ class sax_no_exception : public nlohmann::detail::json_sax_dom_parser std::string* sax_no_exception::error_string = nullptr; +///////////////////////////////////////////////////////////////////// +// for #2982 +///////////////////////////////////////////////////////////////////// + +template +class my_allocator : public std::allocator +{}; TEST_CASE("regression tests 2") { @@ -679,6 +686,15 @@ TEST_CASE("regression tests 2") test3[json::json_pointer(p)] = json::object(); CHECK(test3.dump() == "{\"/root\":{}}"); } + + SECTION("issue #2982 - to_{binary format} does not provide a mechanism for specifying a custom allocator for the returned type") + { + std::vector> my_vector; + json j = {1, 2, 3, 4}; + json::to_cbor(j, my_vector); + json k = json::from_cbor(my_vector); + CHECK(j == k); + } } DOCTEST_CLANG_SUPPRESS_WARNING_POP