From 889006f0069cebc351baf100784005818c57cd38 Mon Sep 17 00:00:00 2001 From: Niels Lohmann Date: Sat, 17 Jun 2017 13:37:04 +0200 Subject: [PATCH] :white_check_mark: regression test for #600 --- test/src/unit-regression.cpp | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/test/src/unit-regression.cpp b/test/src/unit-regression.cpp index cd2374ff8..0489e630c 100644 --- a/test/src/unit-regression.cpp +++ b/test/src/unit-regression.cpp @@ -1166,6 +1166,41 @@ TEST_CASE("regression tests") CHECK_THROWS_AS(json::parse(vec), json::parse_error); } + SECTION("issue #600 - how does one convert a map in Json back to std::map?") + { + SECTION("example 1") + { + // create a map + std::map m1 {{"key", 1}}; + + // create and print a JSON from the map + json j = m1; + std::cout << j << std::endl; + + // get the map out of JSON + std::map m2 = j; + + // make sure the roundtrip succeeds + CHECK(m1 == m2); + } + + SECTION("example 2") + { + // create a map + std::map m1 {{"key", "val"}}; + + // create and print a JSON from the map + json j = m1; + std::cout << j << std::endl; + + // get the map out of JSON + std::map m2 = j; + + // make sure the roundtrip succeeds + CHECK(m1 == m2); + } + } + SECTION("issue #602 - BOM not skipped when using json:parse(iterator)") { std::string i = "\xef\xbb\xbf{\n \"foo\": true\n}";