added missing test cases

This commit is contained in:
Niels 2015-04-12 16:57:51 +02:00
parent dda8a5c473
commit f03c6ce458
3 changed files with 17 additions and 9 deletions

View file

@ -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 * ();
} }

View file

@ -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 * ();
} }

View file

@ -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")
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")
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")
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")
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")
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")
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")
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}]";