Merge branch 'develop' of https://github.com/nlohmann/json into develop
This commit is contained in:
commit
be4fba7baf
11 changed files with 393 additions and 175 deletions
|
|
@ -215,7 +215,7 @@ TEST_CASE("parser class")
|
|||
std::string s = "\"1\"";
|
||||
s[1] = '\0';
|
||||
CHECK_THROWS_AS(json::parse(s.begin(), s.end()), json::parse_error&);
|
||||
CHECK_THROWS_WITH(json::parse(s.begin(), s.end()), "[json.exception.parse_error.101] parse error at 2: syntax error - invalid string: control character must be escaped; last read: '\"'");
|
||||
CHECK_THROWS_WITH(json::parse(s.begin(), s.end()), "[json.exception.parse_error.101] parse error at 2: syntax error - invalid string: control character must be escaped; last read: '\"<U+0000>'");
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -247,7 +247,7 @@ TEST_CASE("constructors")
|
|||
|
||||
SECTION("std::pair")
|
||||
{
|
||||
std::pair<float, std::string> p{1.0, "string"};
|
||||
std::pair<float, std::string> p{1.0f, "string"};
|
||||
json j(p);
|
||||
|
||||
CHECK(j.type() == json::value_t::array);
|
||||
|
|
|
|||
|
|
@ -38,6 +38,11 @@ using nlohmann::json;
|
|||
#include <unordered_set>
|
||||
#include <iostream>
|
||||
|
||||
#if defined(_MSC_VER)
|
||||
#pragma warning (push)
|
||||
#pragma warning (disable : 4189) // local variable is initialized but not referenced
|
||||
#endif
|
||||
|
||||
TEST_CASE("README", "[hide]")
|
||||
{
|
||||
{
|
||||
|
|
@ -298,3 +303,7 @@ TEST_CASE("README", "[hide]")
|
|||
std::cout.rdbuf(old_cout_buffer);
|
||||
}
|
||||
}
|
||||
|
||||
#if defined(_MSC_VER)
|
||||
#pragma warning (pop)
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -1233,4 +1233,24 @@ TEST_CASE("regression tests")
|
|||
"[json.exception.type_error.302] type must be array, but is null");
|
||||
}
|
||||
}
|
||||
|
||||
SECTION("issue #367 - Behavior of operator>> should more closely resemble that of built-in overloads.")
|
||||
{
|
||||
SECTION("example 1")
|
||||
{
|
||||
std::istringstream i1_2_3( "{\"first\": \"one\" }{\"second\": \"two\"}3" );
|
||||
json j1, j2, j3;
|
||||
i1_2_3 >> j1;
|
||||
i1_2_3 >> j2;
|
||||
i1_2_3 >> j3;
|
||||
|
||||
std::map<std::string,std::string> m1 = j1;
|
||||
std::map<std::string,std::string> m2 = j2;
|
||||
int i3 = j3;
|
||||
|
||||
CHECK( m1 == ( std::map<std::string,std::string> {{ "first", "one" }} ));
|
||||
CHECK( m2 == ( std::map<std::string,std::string> {{ "second", "two" }} ));
|
||||
CHECK( i3 == 3 );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -201,7 +201,7 @@ void from_json(const BasicJsonType& j, country& c)
|
|||
{
|
||||
{u8"中华人民共和国", country::china},
|
||||
{"France", country::france},
|
||||
{"Российская Федерация", country::russia}
|
||||
{u8"Российская Федерация", country::russia}
|
||||
};
|
||||
|
||||
const auto it = m.find(str);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue