Skip to content

Commit

Permalink
Merge pull request #2960 from nlohmann/issue2958
Browse files Browse the repository at this point in the history
Add regression test
  • Loading branch information
nlohmann authored Aug 20, 2021
2 parents eb6541a + 97c7a35 commit cb053bc
Showing 1 changed file with 21 additions and 1 deletion.
22 changes: 21 additions & 1 deletion test/src/unit-regression2.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,8 @@ SOFTWARE.

#define JSON_TESTS_PRIVATE
#include <nlohmann/json.hpp>
using nlohmann::json;
using json = nlohmann::json;
using ordered_json = nlohmann::ordered_json;

#include <list>
#include <cstdio>
Expand Down Expand Up @@ -659,6 +660,25 @@ TEST_CASE("regression tests 2")
{
static_assert(std::is_copy_assignable<nlohmann::ordered_json>::value, "");
}

SECTION("issue #2958 - Inserting in unordered json using a pointer retains the leading slash")
{
std::string p = "/root";

// matching types
json test1;
test1[json::json_pointer(p)] = json::object();
CHECK(test1.dump() == "{\"root\":{}}");

ordered_json test2;
test2[ordered_json::json_pointer(p)] = json::object();
CHECK(test2.dump() == "{\"root\":{}}");

// mixed type - the JSON Pointer is implicitly converted into a string "/root"
ordered_json test3;
test3[json::json_pointer(p)] = json::object();
CHECK(test3.dump() == "{\"/root\":{}}");
}
}

DOCTEST_CLANG_SUPPRESS_WARNING_POP

0 comments on commit cb053bc

Please sign in to comment.