Commit f03c6ce4 authored by Niels's avatar Niels

added missing test cases

parent dda8a5c4
...@@ -3541,7 +3541,7 @@ class basic_json ...@@ -3541,7 +3541,7 @@ class basic_json
} }
/// return the value of an iterator /// return the value of an iterator
inline reference value() const inline const_reference value() const
{ {
return this->base().operator * (); return this->base().operator * ();
} }
......
...@@ -3541,7 +3541,7 @@ class basic_json ...@@ -3541,7 +3541,7 @@ class basic_json
} }
/// return the value of an iterator /// return the value of an iterator
inline reference value() const inline const_reference value() const
{ {
return this->base().operator * (); return this->base().operator * ();
} }
......
...@@ -3846,7 +3846,7 @@ TEST_CASE("iterators") ...@@ -3846,7 +3846,7 @@ TEST_CASE("iterators")
CHECK(cit.value() == json(true)); CHECK(cit.value() == json(true));
auto rit = j.rend(); auto rit = j.rend();
auto crit = j.rend(); auto crit = j.crend();
CHECK_THROWS_AS(rit.key(), std::domain_error); CHECK_THROWS_AS(rit.key(), std::domain_error);
CHECK(rit.value() == json(true)); CHECK(rit.value() == json(true));
CHECK_THROWS_AS(crit.key(), std::domain_error); CHECK_THROWS_AS(crit.key(), std::domain_error);
...@@ -4044,7 +4044,7 @@ TEST_CASE("iterators") ...@@ -4044,7 +4044,7 @@ TEST_CASE("iterators")
CHECK(cit.value() == json("hello world")); CHECK(cit.value() == json("hello world"));
auto rit = j.rend(); auto rit = j.rend();
auto crit = j.rend(); auto crit = j.crend();
CHECK_THROWS_AS(rit.key(), std::domain_error); CHECK_THROWS_AS(rit.key(), std::domain_error);
CHECK(rit.value() == json("hello world")); CHECK(rit.value() == json("hello world"));
CHECK_THROWS_AS(crit.key(), std::domain_error); CHECK_THROWS_AS(crit.key(), std::domain_error);
...@@ -4235,7 +4235,7 @@ TEST_CASE("iterators") ...@@ -4235,7 +4235,7 @@ TEST_CASE("iterators")
CHECK(cit.value() == json(1)); CHECK(cit.value() == json(1));
auto rit = j.rend(); auto rit = j.rend();
auto crit = j.rend(); auto crit = j.crend();
CHECK_THROWS_AS(rit.key(), std::domain_error); CHECK_THROWS_AS(rit.key(), std::domain_error);
CHECK(rit.value() == json(1)); CHECK(rit.value() == json(1));
CHECK_THROWS_AS(crit.key(), std::domain_error); CHECK_THROWS_AS(crit.key(), std::domain_error);
...@@ -4426,7 +4426,7 @@ TEST_CASE("iterators") ...@@ -4426,7 +4426,7 @@ TEST_CASE("iterators")
CHECK(cit.value() == json(1)); CHECK(cit.value() == json(1));
auto rit = j.rend(); auto rit = j.rend();
auto crit = j.rend(); auto crit = j.crend();
CHECK(rit.key() == "A"); CHECK(rit.key() == "A");
CHECK(rit.value() == json(1)); CHECK(rit.value() == json(1));
CHECK(crit.key() == "A"); CHECK(crit.key() == "A");
...@@ -4624,7 +4624,7 @@ TEST_CASE("iterators") ...@@ -4624,7 +4624,7 @@ TEST_CASE("iterators")
CHECK(cit.value() == json(23)); CHECK(cit.value() == json(23));
auto rit = j.rend(); auto rit = j.rend();
auto crit = j.rend(); auto crit = j.crend();
CHECK_THROWS_AS(rit.key(), std::domain_error); CHECK_THROWS_AS(rit.key(), std::domain_error);
CHECK(rit.value() == json(23)); CHECK(rit.value() == json(23));
CHECK_THROWS_AS(crit.key(), std::domain_error); CHECK_THROWS_AS(crit.key(), std::domain_error);
...@@ -4822,7 +4822,7 @@ TEST_CASE("iterators") ...@@ -4822,7 +4822,7 @@ TEST_CASE("iterators")
CHECK(cit.value() == json(23.42)); CHECK(cit.value() == json(23.42));
auto rit = j.rend(); auto rit = j.rend();
auto crit = j.rend(); auto crit = j.crend();
CHECK_THROWS_AS(rit.key(), std::domain_error); CHECK_THROWS_AS(rit.key(), std::domain_error);
CHECK(rit.value() == json(23.42)); CHECK(rit.value() == json(23.42));
CHECK_THROWS_AS(crit.key(), std::domain_error); CHECK_THROWS_AS(crit.key(), std::domain_error);
...@@ -4890,7 +4890,7 @@ TEST_CASE("iterators") ...@@ -4890,7 +4890,7 @@ TEST_CASE("iterators")
CHECK_THROWS_AS(cit.value(), std::out_of_range); CHECK_THROWS_AS(cit.value(), std::out_of_range);
auto rit = j.rend(); auto rit = j.rend();
auto crit = j.rend(); auto crit = j.crend();
CHECK_THROWS_AS(rit.key(), std::domain_error); CHECK_THROWS_AS(rit.key(), std::domain_error);
CHECK_THROWS_AS(rit.value(), std::out_of_range); CHECK_THROWS_AS(rit.value(), std::out_of_range);
CHECK_THROWS_AS(crit.key(), std::domain_error); CHECK_THROWS_AS(crit.key(), std::domain_error);
...@@ -6328,6 +6328,14 @@ TEST_CASE("serialization") ...@@ -6328,6 +6328,14 @@ TEST_CASE("serialization")
TEST_CASE("deserialization") TEST_CASE("deserialization")
{ {
SECTION("stream")
{
std::stringstream ss;
ss << "[\"foo\",1,2,3,false,{\"one\":1}]";
json j = json::parse(ss);
CHECK(j == json({"foo", 1, 2, 3, false, {{"one", 1}}}));
}
SECTION("string") SECTION("string")
{ {
auto s = "[\"foo\",1,2,3,false,{\"one\":1}]"; auto s = "[\"foo\",1,2,3,false,{\"one\":1}]";
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment