mirror of
https://github.com/nlohmann/json.git
synced 2025-07-15 07:41:50 +03:00
fixed #135: operator[] now only works on nonconst JSON objects
This commit is contained in:
@ -3098,38 +3098,24 @@ TEST_CASE("element access")
|
||||
{
|
||||
CHECK(j["integer"] == json(1));
|
||||
CHECK(j[json::object_t::key_type("integer")] == j["integer"]);
|
||||
CHECK(j_const["integer"] == json(1));
|
||||
CHECK(j_const[json::object_t::key_type("integer")] == j["integer"]);
|
||||
|
||||
CHECK(j["boolean"] == json(true));
|
||||
CHECK(j[json::object_t::key_type("boolean")] == j["boolean"]);
|
||||
CHECK(j_const["boolean"] == json(true));
|
||||
CHECK(j_const[json::object_t::key_type("boolean")] == j["boolean"]);
|
||||
|
||||
CHECK(j["null"] == json(nullptr));
|
||||
CHECK(j[json::object_t::key_type("null")] == j["null"]);
|
||||
CHECK(j_const["null"] == json(nullptr));
|
||||
CHECK(j_const[json::object_t::key_type("null")] == j["null"]);
|
||||
|
||||
CHECK(j["string"] == json("hello world"));
|
||||
CHECK(j[json::object_t::key_type("string")] == j["string"]);
|
||||
CHECK(j_const["string"] == json("hello world"));
|
||||
CHECK(j_const[json::object_t::key_type("string")] == j["string"]);
|
||||
|
||||
CHECK(j["floating"] == json(42.23));
|
||||
CHECK(j[json::object_t::key_type("floating")] == j["floating"]);
|
||||
CHECK(j_const["floating"] == json(42.23));
|
||||
CHECK(j_const[json::object_t::key_type("floating")] == j["floating"]);
|
||||
|
||||
CHECK(j["object"] == json(json::object()));
|
||||
CHECK(j[json::object_t::key_type("object")] == j["object"]);
|
||||
CHECK(j_const["object"] == json(json::object()));
|
||||
CHECK(j_const[json::object_t::key_type("object")] == j["object"]);
|
||||
|
||||
CHECK(j["array"] == json({1, 2, 3}));
|
||||
CHECK(j[json::object_t::key_type("array")] == j["array"]);
|
||||
CHECK(j_const["array"] == json({1, 2, 3}));
|
||||
CHECK(j_const[json::object_t::key_type("array")] == j["array"]);
|
||||
}
|
||||
|
||||
SECTION("access on non-object type")
|
||||
@ -3141,8 +3127,6 @@ TEST_CASE("element access")
|
||||
const json j_const_nonobject(j_nonobject);
|
||||
CHECK_NOTHROW(j_nonobject["foo"]);
|
||||
CHECK_NOTHROW(j_nonobject2[json::object_t::key_type("foo")]);
|
||||
CHECK_THROWS_AS(j_const_nonobject["foo"], std::domain_error);
|
||||
CHECK_THROWS_AS(j_const_nonobject[json::object_t::key_type("foo")], std::domain_error);
|
||||
}
|
||||
|
||||
SECTION("boolean")
|
||||
@ -3151,8 +3135,6 @@ TEST_CASE("element access")
|
||||
const json j_const_nonobject(j_nonobject);
|
||||
CHECK_THROWS_AS(j_nonobject["foo"], std::domain_error);
|
||||
CHECK_THROWS_AS(j_nonobject[json::object_t::key_type("foo")], std::domain_error);
|
||||
CHECK_THROWS_AS(j_const_nonobject["foo"], std::domain_error);
|
||||
CHECK_THROWS_AS(j_const_nonobject[json::object_t::key_type("foo")], std::domain_error);
|
||||
}
|
||||
|
||||
SECTION("string")
|
||||
@ -3161,8 +3143,6 @@ TEST_CASE("element access")
|
||||
const json j_const_nonobject(j_nonobject);
|
||||
CHECK_THROWS_AS(j_nonobject["foo"], std::domain_error);
|
||||
CHECK_THROWS_AS(j_nonobject[json::object_t::key_type("foo")], std::domain_error);
|
||||
CHECK_THROWS_AS(j_const_nonobject["foo"], std::domain_error);
|
||||
CHECK_THROWS_AS(j_const_nonobject[json::object_t::key_type("foo")], std::domain_error);
|
||||
}
|
||||
|
||||
SECTION("array")
|
||||
@ -3171,8 +3151,6 @@ TEST_CASE("element access")
|
||||
const json j_const_nonobject(j_nonobject);
|
||||
CHECK_THROWS_AS(j_nonobject["foo"], std::domain_error);
|
||||
CHECK_THROWS_AS(j_nonobject[json::object_t::key_type("foo")], std::domain_error);
|
||||
CHECK_THROWS_AS(j_const_nonobject["foo"], std::domain_error);
|
||||
CHECK_THROWS_AS(j_const_nonobject[json::object_t::key_type("foo")], std::domain_error);
|
||||
}
|
||||
|
||||
SECTION("number (integer)")
|
||||
@ -3181,8 +3159,6 @@ TEST_CASE("element access")
|
||||
const json j_const_nonobject(j_nonobject);
|
||||
CHECK_THROWS_AS(j_nonobject["foo"], std::domain_error);
|
||||
CHECK_THROWS_AS(j_nonobject[json::object_t::key_type("foo")], std::domain_error);
|
||||
CHECK_THROWS_AS(j_const_nonobject["foo"], std::domain_error);
|
||||
CHECK_THROWS_AS(j_const_nonobject[json::object_t::key_type("foo")], std::domain_error);
|
||||
}
|
||||
|
||||
SECTION("number (floating-point)")
|
||||
@ -3191,8 +3167,6 @@ TEST_CASE("element access")
|
||||
const json j_const_nonobject(j_nonobject);
|
||||
CHECK_THROWS_AS(j_nonobject["foo"], std::domain_error);
|
||||
CHECK_THROWS_AS(j_nonobject[json::object_t::key_type("foo")], std::domain_error);
|
||||
CHECK_THROWS_AS(j_const_nonobject["foo"], std::domain_error);
|
||||
CHECK_THROWS_AS(j_const_nonobject[json::object_t::key_type("foo")], std::domain_error);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user