🔨 added user-defined exceptions 2xx
This commit is contained in:
parent
a4274d7766
commit
0c40c8e3be
9 changed files with 306 additions and 304 deletions
30
src/json.hpp
30
src/json.hpp
|
@ -5755,9 +5755,9 @@ class basic_json
|
|||
example: `"cannot use insert() with string"`
|
||||
@throw invalid_iterator.202 if @a pos is not an iterator of *this;
|
||||
example: `"iterator does not fit current value"`
|
||||
@throw std::domain_error if @a first and @a last do not belong to the same
|
||||
JSON value; example: `"iterators do not fit"`
|
||||
@throw std::domain_error if @a first or @a last are iterators into
|
||||
@throw invalid_iterator.210 if @a first and @a last do not belong to the
|
||||
same JSON value; example: `"iterators do not fit"`
|
||||
@throw invalid_iterator.211 if @a first or @a last are iterators into
|
||||
container for which insert is called; example: `"passed iterators may not
|
||||
belong to container"`
|
||||
|
||||
|
@ -5788,12 +5788,12 @@ class basic_json
|
|||
// check if range iterators belong to the same JSON object
|
||||
if (first.m_object != last.m_object)
|
||||
{
|
||||
JSON_THROW(std::domain_error("iterators do not fit"));
|
||||
JSON_THROW(invalid_iterator(210, "iterators do not fit"));
|
||||
}
|
||||
|
||||
if (first.m_object == this or last.m_object == this)
|
||||
{
|
||||
JSON_THROW(std::domain_error("passed iterators may not belong to container"));
|
||||
JSON_THROW(invalid_iterator(211, "passed iterators may not belong to container"));
|
||||
}
|
||||
|
||||
// insert to array and return iterator
|
||||
|
@ -9288,7 +9288,7 @@ class basic_json
|
|||
|
||||
case basic_json::value_t::null:
|
||||
{
|
||||
JSON_THROW(std::out_of_range("cannot get value"));
|
||||
JSON_THROW(invalid_iterator(214, "cannot get value"));
|
||||
}
|
||||
|
||||
default:
|
||||
|
@ -9298,7 +9298,7 @@ class basic_json
|
|||
return *m_object;
|
||||
}
|
||||
|
||||
JSON_THROW(std::out_of_range("cannot get value"));
|
||||
JSON_THROW(invalid_iterator(214, "cannot get value"));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -9332,7 +9332,7 @@ class basic_json
|
|||
return m_object;
|
||||
}
|
||||
|
||||
JSON_THROW(std::out_of_range("cannot get value"));
|
||||
JSON_THROW(invalid_iterator(214, "cannot get value"));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -9432,7 +9432,7 @@ class basic_json
|
|||
// if objects are not the same, the comparison is undefined
|
||||
if (m_object != other.m_object)
|
||||
{
|
||||
JSON_THROW(std::domain_error("cannot compare iterators of different containers"));
|
||||
JSON_THROW(invalid_iterator(212, "cannot compare iterators of different containers"));
|
||||
}
|
||||
|
||||
assert(m_object != nullptr);
|
||||
|
@ -9474,7 +9474,7 @@ class basic_json
|
|||
// if objects are not the same, the comparison is undefined
|
||||
if (m_object != other.m_object)
|
||||
{
|
||||
JSON_THROW(std::domain_error("cannot compare iterators of different containers"));
|
||||
JSON_THROW(invalid_iterator(212, "cannot compare iterators of different containers"));
|
||||
}
|
||||
|
||||
assert(m_object != nullptr);
|
||||
|
@ -9483,7 +9483,7 @@ class basic_json
|
|||
{
|
||||
case basic_json::value_t::object:
|
||||
{
|
||||
JSON_THROW(std::domain_error("cannot compare order of object iterators"));
|
||||
JSON_THROW(invalid_iterator(213, "cannot compare order of object iterators"));
|
||||
}
|
||||
|
||||
case basic_json::value_t::array:
|
||||
|
@ -9537,7 +9537,7 @@ class basic_json
|
|||
{
|
||||
case basic_json::value_t::object:
|
||||
{
|
||||
JSON_THROW(std::domain_error("cannot use offsets with object iterators"));
|
||||
JSON_THROW(invalid_iterator(209, "cannot use offsets with object iterators"));
|
||||
}
|
||||
|
||||
case basic_json::value_t::array:
|
||||
|
@ -9599,7 +9599,7 @@ class basic_json
|
|||
{
|
||||
case basic_json::value_t::object:
|
||||
{
|
||||
JSON_THROW(std::domain_error("cannot use offsets with object iterators"));
|
||||
JSON_THROW(invalid_iterator(209, "cannot use offsets with object iterators"));
|
||||
}
|
||||
|
||||
case basic_json::value_t::array:
|
||||
|
@ -9636,7 +9636,7 @@ class basic_json
|
|||
|
||||
case basic_json::value_t::null:
|
||||
{
|
||||
JSON_THROW(std::out_of_range("cannot get value"));
|
||||
JSON_THROW(invalid_iterator(214, "cannot get value"));
|
||||
}
|
||||
|
||||
default:
|
||||
|
@ -9646,7 +9646,7 @@ class basic_json
|
|||
return *m_object;
|
||||
}
|
||||
|
||||
JSON_THROW(std::out_of_range("cannot get value"));
|
||||
JSON_THROW(invalid_iterator(214, "cannot get value"));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -5755,9 +5755,9 @@ class basic_json
|
|||
example: `"cannot use insert() with string"`
|
||||
@throw invalid_iterator.202 if @a pos is not an iterator of *this;
|
||||
example: `"iterator does not fit current value"`
|
||||
@throw std::domain_error if @a first and @a last do not belong to the same
|
||||
JSON value; example: `"iterators do not fit"`
|
||||
@throw std::domain_error if @a first or @a last are iterators into
|
||||
@throw invalid_iterator.210 if @a first and @a last do not belong to the
|
||||
same JSON value; example: `"iterators do not fit"`
|
||||
@throw invalid_iterator.211 if @a first or @a last are iterators into
|
||||
container for which insert is called; example: `"passed iterators may not
|
||||
belong to container"`
|
||||
|
||||
|
@ -5788,12 +5788,12 @@ class basic_json
|
|||
// check if range iterators belong to the same JSON object
|
||||
if (first.m_object != last.m_object)
|
||||
{
|
||||
JSON_THROW(std::domain_error("iterators do not fit"));
|
||||
JSON_THROW(invalid_iterator(210, "iterators do not fit"));
|
||||
}
|
||||
|
||||
if (first.m_object == this or last.m_object == this)
|
||||
{
|
||||
JSON_THROW(std::domain_error("passed iterators may not belong to container"));
|
||||
JSON_THROW(invalid_iterator(211, "passed iterators may not belong to container"));
|
||||
}
|
||||
|
||||
// insert to array and return iterator
|
||||
|
@ -9288,7 +9288,7 @@ class basic_json
|
|||
|
||||
case basic_json::value_t::null:
|
||||
{
|
||||
JSON_THROW(std::out_of_range("cannot get value"));
|
||||
JSON_THROW(invalid_iterator(214, "cannot get value"));
|
||||
}
|
||||
|
||||
default:
|
||||
|
@ -9298,7 +9298,7 @@ class basic_json
|
|||
return *m_object;
|
||||
}
|
||||
|
||||
JSON_THROW(std::out_of_range("cannot get value"));
|
||||
JSON_THROW(invalid_iterator(214, "cannot get value"));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -9332,7 +9332,7 @@ class basic_json
|
|||
return m_object;
|
||||
}
|
||||
|
||||
JSON_THROW(std::out_of_range("cannot get value"));
|
||||
JSON_THROW(invalid_iterator(214, "cannot get value"));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -9432,7 +9432,7 @@ class basic_json
|
|||
// if objects are not the same, the comparison is undefined
|
||||
if (m_object != other.m_object)
|
||||
{
|
||||
JSON_THROW(std::domain_error("cannot compare iterators of different containers"));
|
||||
JSON_THROW(invalid_iterator(212, "cannot compare iterators of different containers"));
|
||||
}
|
||||
|
||||
assert(m_object != nullptr);
|
||||
|
@ -9474,7 +9474,7 @@ class basic_json
|
|||
// if objects are not the same, the comparison is undefined
|
||||
if (m_object != other.m_object)
|
||||
{
|
||||
JSON_THROW(std::domain_error("cannot compare iterators of different containers"));
|
||||
JSON_THROW(invalid_iterator(212, "cannot compare iterators of different containers"));
|
||||
}
|
||||
|
||||
assert(m_object != nullptr);
|
||||
|
@ -9483,7 +9483,7 @@ class basic_json
|
|||
{
|
||||
case basic_json::value_t::object:
|
||||
{
|
||||
JSON_THROW(std::domain_error("cannot compare order of object iterators"));
|
||||
JSON_THROW(invalid_iterator(213, "cannot compare order of object iterators"));
|
||||
}
|
||||
|
||||
case basic_json::value_t::array:
|
||||
|
@ -9537,7 +9537,7 @@ class basic_json
|
|||
{
|
||||
case basic_json::value_t::object:
|
||||
{
|
||||
JSON_THROW(std::domain_error("cannot use offsets with object iterators"));
|
||||
JSON_THROW(invalid_iterator(209, "cannot use offsets with object iterators"));
|
||||
}
|
||||
|
||||
case basic_json::value_t::array:
|
||||
|
@ -9599,7 +9599,7 @@ class basic_json
|
|||
{
|
||||
case basic_json::value_t::object:
|
||||
{
|
||||
JSON_THROW(std::domain_error("cannot use offsets with object iterators"));
|
||||
JSON_THROW(invalid_iterator(209, "cannot use offsets with object iterators"));
|
||||
}
|
||||
|
||||
case basic_json::value_t::array:
|
||||
|
@ -9636,7 +9636,7 @@ class basic_json
|
|||
|
||||
case basic_json::value_t::null:
|
||||
{
|
||||
JSON_THROW(std::out_of_range("cannot get value"));
|
||||
JSON_THROW(invalid_iterator(214, "cannot get value"));
|
||||
}
|
||||
|
||||
default:
|
||||
|
@ -9646,7 +9646,7 @@ class basic_json
|
|||
return *m_object;
|
||||
}
|
||||
|
||||
JSON_THROW(std::out_of_range("cannot get value"));
|
||||
JSON_THROW(invalid_iterator(214, "cannot get value"));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -240,8 +240,9 @@ TEST_CASE("algorithms")
|
|||
SECTION("sorting an object")
|
||||
{
|
||||
json j({{"one", 1}, {"two", 2}});
|
||||
CHECK_THROWS_AS(std::sort(j.begin(), j.end()), std::domain_error);
|
||||
CHECK_THROWS_WITH(std::sort(j.begin(), j.end()), "cannot use offsets with object iterators");
|
||||
CHECK_THROWS_AS(std::sort(j.begin(), j.end()), json::invalid_iterator);
|
||||
CHECK_THROWS_WITH(std::sort(j.begin(), j.end()),
|
||||
"[json.exception.invalid_iterator.209] cannot use offsets with object iterators");
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -147,8 +147,8 @@ TEST_CASE("const_iterator class")
|
|||
{
|
||||
json j(json::value_t::null);
|
||||
json::const_iterator it = j.cbegin();
|
||||
CHECK_THROWS_AS(*it, std::out_of_range);
|
||||
CHECK_THROWS_WITH(*it, "cannot get value");
|
||||
CHECK_THROWS_AS(*it, json::invalid_iterator);
|
||||
CHECK_THROWS_WITH(*it, "[json.exception.invalid_iterator.214] cannot get value");
|
||||
}
|
||||
|
||||
SECTION("number")
|
||||
|
@ -157,8 +157,8 @@ TEST_CASE("const_iterator class")
|
|||
json::const_iterator it = j.cbegin();
|
||||
CHECK(*it == json(17));
|
||||
it = j.cend();
|
||||
CHECK_THROWS_AS(*it, std::out_of_range);
|
||||
CHECK_THROWS_WITH(*it, "cannot get value");
|
||||
CHECK_THROWS_AS(*it, json::invalid_iterator);
|
||||
CHECK_THROWS_WITH(*it, "[json.exception.invalid_iterator.214] cannot get value");
|
||||
}
|
||||
|
||||
SECTION("object")
|
||||
|
@ -182,8 +182,8 @@ TEST_CASE("const_iterator class")
|
|||
{
|
||||
json j(json::value_t::null);
|
||||
json::const_iterator it = j.cbegin();
|
||||
CHECK_THROWS_AS(it->type_name(), std::out_of_range);
|
||||
CHECK_THROWS_WITH(it->type_name(), "cannot get value");
|
||||
CHECK_THROWS_AS(it->type_name(), json::invalid_iterator);
|
||||
CHECK_THROWS_WITH(it->type_name(), "[json.exception.invalid_iterator.214] cannot get value");
|
||||
}
|
||||
|
||||
SECTION("number")
|
||||
|
@ -192,8 +192,8 @@ TEST_CASE("const_iterator class")
|
|||
json::const_iterator it = j.cbegin();
|
||||
CHECK(it->type_name() == "number");
|
||||
it = j.cend();
|
||||
CHECK_THROWS_AS(it->type_name(), std::out_of_range);
|
||||
CHECK_THROWS_WITH(it->type_name(), "cannot get value");
|
||||
CHECK_THROWS_AS(it->type_name(), json::invalid_iterator);
|
||||
CHECK_THROWS_WITH(it->type_name(), "[json.exception.invalid_iterator.214] cannot get value");
|
||||
}
|
||||
|
||||
SECTION("object")
|
||||
|
|
|
@ -131,8 +131,8 @@ TEST_CASE("iterator class")
|
|||
{
|
||||
json j(json::value_t::null);
|
||||
json::iterator it = j.begin();
|
||||
CHECK_THROWS_AS(*it, std::out_of_range);
|
||||
CHECK_THROWS_WITH(*it, "cannot get value");
|
||||
CHECK_THROWS_AS(*it, json::invalid_iterator);
|
||||
CHECK_THROWS_WITH(*it, "[json.exception.invalid_iterator.214] cannot get value");
|
||||
}
|
||||
|
||||
SECTION("number")
|
||||
|
@ -141,8 +141,8 @@ TEST_CASE("iterator class")
|
|||
json::iterator it = j.begin();
|
||||
CHECK(*it == json(17));
|
||||
it = j.end();
|
||||
CHECK_THROWS_AS(*it, std::out_of_range);
|
||||
CHECK_THROWS_WITH(*it, "cannot get value");
|
||||
CHECK_THROWS_AS(*it, json::invalid_iterator);
|
||||
CHECK_THROWS_WITH(*it, "[json.exception.invalid_iterator.214] cannot get value");
|
||||
}
|
||||
|
||||
SECTION("object")
|
||||
|
@ -166,8 +166,8 @@ TEST_CASE("iterator class")
|
|||
{
|
||||
json j(json::value_t::null);
|
||||
json::iterator it = j.begin();
|
||||
CHECK_THROWS_AS(it->type_name(), std::out_of_range);
|
||||
CHECK_THROWS_WITH(it->type_name(), "cannot get value");
|
||||
CHECK_THROWS_AS(it->type_name(), json::invalid_iterator);
|
||||
CHECK_THROWS_WITH(it->type_name(), "[json.exception.invalid_iterator.214] cannot get value");
|
||||
}
|
||||
|
||||
SECTION("number")
|
||||
|
@ -176,8 +176,8 @@ TEST_CASE("iterator class")
|
|||
json::iterator it = j.begin();
|
||||
CHECK(it->type_name() == "number");
|
||||
it = j.end();
|
||||
CHECK_THROWS_AS(it->type_name(), std::out_of_range);
|
||||
CHECK_THROWS_WITH(it->type_name(), "cannot get value");
|
||||
CHECK_THROWS_AS(it->type_name(), json::invalid_iterator);
|
||||
CHECK_THROWS_WITH(it->type_name(), "[json.exception.invalid_iterator.214] cannot get value");
|
||||
}
|
||||
|
||||
SECTION("object")
|
||||
|
|
|
@ -501,17 +501,17 @@ TEST_CASE("element access 1")
|
|||
{
|
||||
{
|
||||
json j;
|
||||
CHECK_THROWS_AS(j.front(), std::out_of_range);
|
||||
CHECK_THROWS_AS(j.back(), std::out_of_range);
|
||||
CHECK_THROWS_WITH(j.front(), "cannot get value");
|
||||
CHECK_THROWS_WITH(j.back(), "cannot get value");
|
||||
CHECK_THROWS_AS(j.front(), json::invalid_iterator);
|
||||
CHECK_THROWS_AS(j.back(), json::invalid_iterator);
|
||||
CHECK_THROWS_WITH(j.front(), "[json.exception.invalid_iterator.214] cannot get value");
|
||||
CHECK_THROWS_WITH(j.back(), "[json.exception.invalid_iterator.214] cannot get value");
|
||||
}
|
||||
{
|
||||
const json j{};
|
||||
CHECK_THROWS_AS(j.front(), std::out_of_range);
|
||||
CHECK_THROWS_AS(j.back(), std::out_of_range);
|
||||
CHECK_THROWS_WITH(j.front(), "cannot get value");
|
||||
CHECK_THROWS_WITH(j.back(), "cannot get value");
|
||||
CHECK_THROWS_AS(j.front(), json::invalid_iterator);
|
||||
CHECK_THROWS_AS(j.back(), json::invalid_iterator);
|
||||
CHECK_THROWS_WITH(j.front(), "[json.exception.invalid_iterator.214] cannot get value");
|
||||
CHECK_THROWS_WITH(j.back(), "[json.exception.invalid_iterator.214] cannot get value");
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -239,13 +239,13 @@ TEST_CASE("iterators 1")
|
|||
auto rit = j.rend();
|
||||
auto crit = j.crend();
|
||||
CHECK_THROWS_AS(rit.key(), json::invalid_iterator);
|
||||
CHECK_THROWS_AS(rit.value(), std::out_of_range);
|
||||
CHECK_THROWS_AS(rit.value(), json::invalid_iterator);
|
||||
CHECK_THROWS_AS(crit.key(), json::invalid_iterator);
|
||||
CHECK_THROWS_AS(crit.value(), std::out_of_range);
|
||||
CHECK_THROWS_AS(crit.value(), json::invalid_iterator);
|
||||
CHECK_THROWS_WITH(rit.key(), "[json.exception.invalid_iterator.207] cannot use key() for non-object iterators");
|
||||
CHECK_THROWS_WITH(rit.value(), "cannot get value");
|
||||
CHECK_THROWS_WITH(rit.value(), "[json.exception.invalid_iterator.214] cannot get value");
|
||||
CHECK_THROWS_WITH(crit.key(), "[json.exception.invalid_iterator.207] cannot use key() for non-object iterators");
|
||||
CHECK_THROWS_WITH(crit.value(), "cannot get value");
|
||||
CHECK_THROWS_WITH(crit.value(), "[json.exception.invalid_iterator.214] cannot get value");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -443,13 +443,13 @@ TEST_CASE("iterators 1")
|
|||
auto rit = j.rend();
|
||||
auto crit = j.crend();
|
||||
CHECK_THROWS_AS(rit.key(), json::invalid_iterator);
|
||||
CHECK_THROWS_AS(rit.value(), std::out_of_range);
|
||||
CHECK_THROWS_AS(rit.value(), json::invalid_iterator);
|
||||
CHECK_THROWS_AS(crit.key(), json::invalid_iterator);
|
||||
CHECK_THROWS_AS(crit.value(), std::out_of_range);
|
||||
CHECK_THROWS_AS(crit.value(), json::invalid_iterator);
|
||||
CHECK_THROWS_WITH(rit.key(), "[json.exception.invalid_iterator.207] cannot use key() for non-object iterators");
|
||||
CHECK_THROWS_WITH(rit.value(), "cannot get value");
|
||||
CHECK_THROWS_WITH(rit.value(), "[json.exception.invalid_iterator.214] cannot get value");
|
||||
CHECK_THROWS_WITH(crit.key(), "[json.exception.invalid_iterator.207] cannot use key() for non-object iterators");
|
||||
CHECK_THROWS_WITH(crit.value(), "cannot get value");
|
||||
CHECK_THROWS_WITH(crit.value(), "[json.exception.invalid_iterator.214] cannot get value");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1017,13 +1017,13 @@ TEST_CASE("iterators 1")
|
|||
auto rit = j.rend();
|
||||
auto crit = j.crend();
|
||||
CHECK_THROWS_AS(rit.key(), json::invalid_iterator);
|
||||
CHECK_THROWS_AS(rit.value(), std::out_of_range);
|
||||
CHECK_THROWS_AS(rit.value(), json::invalid_iterator);
|
||||
CHECK_THROWS_AS(crit.key(), json::invalid_iterator);
|
||||
CHECK_THROWS_AS(crit.value(), std::out_of_range);
|
||||
CHECK_THROWS_AS(crit.value(), json::invalid_iterator);
|
||||
CHECK_THROWS_WITH(rit.key(), "[json.exception.invalid_iterator.207] cannot use key() for non-object iterators");
|
||||
CHECK_THROWS_WITH(rit.value(), "cannot get value");
|
||||
CHECK_THROWS_WITH(rit.value(), "[json.exception.invalid_iterator.214] cannot get value");
|
||||
CHECK_THROWS_WITH(crit.key(), "[json.exception.invalid_iterator.207] cannot use key() for non-object iterators");
|
||||
CHECK_THROWS_WITH(crit.value(), "cannot get value");
|
||||
CHECK_THROWS_WITH(crit.value(), "[json.exception.invalid_iterator.214] cannot get value");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1221,13 +1221,13 @@ TEST_CASE("iterators 1")
|
|||
auto rit = j.rend();
|
||||
auto crit = j.crend();
|
||||
CHECK_THROWS_AS(rit.key(), json::invalid_iterator);
|
||||
CHECK_THROWS_AS(rit.value(), std::out_of_range);
|
||||
CHECK_THROWS_AS(rit.value(), json::invalid_iterator);
|
||||
CHECK_THROWS_AS(crit.key(), json::invalid_iterator);
|
||||
CHECK_THROWS_AS(crit.value(), std::out_of_range);
|
||||
CHECK_THROWS_AS(crit.value(), json::invalid_iterator);
|
||||
CHECK_THROWS_WITH(rit.key(), "[json.exception.invalid_iterator.207] cannot use key() for non-object iterators");
|
||||
CHECK_THROWS_WITH(rit.value(), "cannot get value");
|
||||
CHECK_THROWS_WITH(rit.value(), "[json.exception.invalid_iterator.214] cannot get value");
|
||||
CHECK_THROWS_WITH(crit.key(), "[json.exception.invalid_iterator.207] cannot use key() for non-object iterators");
|
||||
CHECK_THROWS_WITH(crit.value(), "cannot get value");
|
||||
CHECK_THROWS_WITH(crit.value(), "[json.exception.invalid_iterator.214] cannot get value");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1425,13 +1425,13 @@ TEST_CASE("iterators 1")
|
|||
auto rit = j.rend();
|
||||
auto crit = j.crend();
|
||||
CHECK_THROWS_AS(rit.key(), json::invalid_iterator);
|
||||
CHECK_THROWS_AS(rit.value(), std::out_of_range);
|
||||
CHECK_THROWS_AS(rit.value(), json::invalid_iterator);
|
||||
CHECK_THROWS_AS(crit.key(), json::invalid_iterator);
|
||||
CHECK_THROWS_AS(crit.value(), std::out_of_range);
|
||||
CHECK_THROWS_AS(crit.value(), json::invalid_iterator);
|
||||
CHECK_THROWS_WITH(rit.key(), "[json.exception.invalid_iterator.207] cannot use key() for non-object iterators");
|
||||
CHECK_THROWS_WITH(rit.value(), "cannot get value");
|
||||
CHECK_THROWS_WITH(rit.value(), "[json.exception.invalid_iterator.214] cannot get value");
|
||||
CHECK_THROWS_WITH(crit.key(), "[json.exception.invalid_iterator.207] cannot use key() for non-object iterators");
|
||||
CHECK_THROWS_WITH(crit.value(), "cannot get value");
|
||||
CHECK_THROWS_WITH(crit.value(), "[json.exception.invalid_iterator.214] cannot get value");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1490,24 +1490,24 @@ TEST_CASE("iterators 1")
|
|||
auto it = j.begin();
|
||||
auto cit = j_const.cbegin();
|
||||
CHECK_THROWS_AS(it.key(), json::invalid_iterator);
|
||||
CHECK_THROWS_AS(it.value(), std::out_of_range);
|
||||
CHECK_THROWS_AS(it.value(), json::invalid_iterator);
|
||||
CHECK_THROWS_AS(cit.key(), json::invalid_iterator);
|
||||
CHECK_THROWS_AS(cit.value(), std::out_of_range);
|
||||
CHECK_THROWS_AS(cit.value(), json::invalid_iterator);
|
||||
CHECK_THROWS_WITH(it.key(), "[json.exception.invalid_iterator.207] cannot use key() for non-object iterators");
|
||||
CHECK_THROWS_WITH(it.value(), "cannot get value");
|
||||
CHECK_THROWS_WITH(it.value(), "[json.exception.invalid_iterator.214] cannot get value");
|
||||
CHECK_THROWS_WITH(cit.key(), "[json.exception.invalid_iterator.207] cannot use key() for non-object iterators");
|
||||
CHECK_THROWS_WITH(cit.value(), "cannot get value");
|
||||
CHECK_THROWS_WITH(cit.value(), "[json.exception.invalid_iterator.214] cannot get value");
|
||||
|
||||
auto rit = j.rend();
|
||||
auto crit = j.crend();
|
||||
CHECK_THROWS_AS(rit.key(), json::invalid_iterator);
|
||||
CHECK_THROWS_AS(rit.value(), std::out_of_range);
|
||||
CHECK_THROWS_AS(rit.value(), json::invalid_iterator);
|
||||
CHECK_THROWS_AS(crit.key(), json::invalid_iterator);
|
||||
CHECK_THROWS_AS(crit.value(), std::out_of_range);
|
||||
CHECK_THROWS_AS(crit.value(), json::invalid_iterator);
|
||||
CHECK_THROWS_WITH(rit.key(), "[json.exception.invalid_iterator.207] cannot use key() for non-object iterators");
|
||||
CHECK_THROWS_WITH(rit.value(), "cannot get value");
|
||||
CHECK_THROWS_WITH(rit.value(), "[json.exception.invalid_iterator.214] cannot get value");
|
||||
CHECK_THROWS_WITH(crit.key(), "[json.exception.invalid_iterator.207] cannot use key() for non-object iterators");
|
||||
CHECK_THROWS_WITH(crit.value(), "cannot get value");
|
||||
CHECK_THROWS_WITH(crit.value(), "[json.exception.invalid_iterator.214] cannot get value");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -81,22 +81,22 @@ TEST_CASE("iterators 2")
|
|||
{
|
||||
if (j.type() == json::value_t::object)
|
||||
{
|
||||
CHECK_THROWS_AS(it1 < it1, std::domain_error);
|
||||
CHECK_THROWS_AS(it1 < it2, std::domain_error);
|
||||
CHECK_THROWS_AS(it2 < it3, std::domain_error);
|
||||
CHECK_THROWS_AS(it1 < it3, std::domain_error);
|
||||
CHECK_THROWS_AS(it1_c < it1_c, std::domain_error);
|
||||
CHECK_THROWS_AS(it1_c < it2_c, std::domain_error);
|
||||
CHECK_THROWS_AS(it2_c < it3_c, std::domain_error);
|
||||
CHECK_THROWS_AS(it1_c < it3_c, std::domain_error);
|
||||
CHECK_THROWS_WITH(it1 < it1, "cannot compare order of object iterators");
|
||||
CHECK_THROWS_WITH(it1 < it2, "cannot compare order of object iterators");
|
||||
CHECK_THROWS_WITH(it2 < it3, "cannot compare order of object iterators");
|
||||
CHECK_THROWS_WITH(it1 < it3, "cannot compare order of object iterators");
|
||||
CHECK_THROWS_WITH(it1_c < it1_c, "cannot compare order of object iterators");
|
||||
CHECK_THROWS_WITH(it1_c < it2_c, "cannot compare order of object iterators");
|
||||
CHECK_THROWS_WITH(it2_c < it3_c, "cannot compare order of object iterators");
|
||||
CHECK_THROWS_WITH(it1_c < it3_c, "cannot compare order of object iterators");
|
||||
CHECK_THROWS_AS(it1 < it1, json::invalid_iterator);
|
||||
CHECK_THROWS_AS(it1 < it2, json::invalid_iterator);
|
||||
CHECK_THROWS_AS(it2 < it3, json::invalid_iterator);
|
||||
CHECK_THROWS_AS(it1 < it3, json::invalid_iterator);
|
||||
CHECK_THROWS_AS(it1_c < it1_c, json::invalid_iterator);
|
||||
CHECK_THROWS_AS(it1_c < it2_c, json::invalid_iterator);
|
||||
CHECK_THROWS_AS(it2_c < it3_c, json::invalid_iterator);
|
||||
CHECK_THROWS_AS(it1_c < it3_c, json::invalid_iterator);
|
||||
CHECK_THROWS_WITH(it1 < it1, "[json.exception.invalid_iterator.213] cannot compare order of object iterators");
|
||||
CHECK_THROWS_WITH(it1 < it2, "[json.exception.invalid_iterator.213] cannot compare order of object iterators");
|
||||
CHECK_THROWS_WITH(it2 < it3, "[json.exception.invalid_iterator.213] cannot compare order of object iterators");
|
||||
CHECK_THROWS_WITH(it1 < it3, "[json.exception.invalid_iterator.213] cannot compare order of object iterators");
|
||||
CHECK_THROWS_WITH(it1_c < it1_c, "[json.exception.invalid_iterator.213] cannot compare order of object iterators");
|
||||
CHECK_THROWS_WITH(it1_c < it2_c, "[json.exception.invalid_iterator.213] cannot compare order of object iterators");
|
||||
CHECK_THROWS_WITH(it2_c < it3_c, "[json.exception.invalid_iterator.213] cannot compare order of object iterators");
|
||||
CHECK_THROWS_WITH(it1_c < it3_c, "[json.exception.invalid_iterator.213] cannot compare order of object iterators");
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -115,22 +115,22 @@ TEST_CASE("iterators 2")
|
|||
{
|
||||
if (j.type() == json::value_t::object)
|
||||
{
|
||||
CHECK_THROWS_AS(it1 <= it1, std::domain_error);
|
||||
CHECK_THROWS_AS(it1 <= it2, std::domain_error);
|
||||
CHECK_THROWS_AS(it2 <= it3, std::domain_error);
|
||||
CHECK_THROWS_AS(it1 <= it3, std::domain_error);
|
||||
CHECK_THROWS_AS(it1_c <= it1_c, std::domain_error);
|
||||
CHECK_THROWS_AS(it1_c <= it2_c, std::domain_error);
|
||||
CHECK_THROWS_AS(it2_c <= it3_c, std::domain_error);
|
||||
CHECK_THROWS_AS(it1_c <= it3_c, std::domain_error);
|
||||
CHECK_THROWS_WITH(it1 <= it1, "cannot compare order of object iterators");
|
||||
CHECK_THROWS_WITH(it1 <= it2, "cannot compare order of object iterators");
|
||||
CHECK_THROWS_WITH(it2 <= it3, "cannot compare order of object iterators");
|
||||
CHECK_THROWS_WITH(it1 <= it3, "cannot compare order of object iterators");
|
||||
CHECK_THROWS_WITH(it1_c <= it1_c, "cannot compare order of object iterators");
|
||||
CHECK_THROWS_WITH(it1_c <= it2_c, "cannot compare order of object iterators");
|
||||
CHECK_THROWS_WITH(it2_c <= it3_c, "cannot compare order of object iterators");
|
||||
CHECK_THROWS_WITH(it1_c <= it3_c, "cannot compare order of object iterators");
|
||||
CHECK_THROWS_AS(it1 <= it1, json::invalid_iterator);
|
||||
CHECK_THROWS_AS(it1 <= it2, json::invalid_iterator);
|
||||
CHECK_THROWS_AS(it2 <= it3, json::invalid_iterator);
|
||||
CHECK_THROWS_AS(it1 <= it3, json::invalid_iterator);
|
||||
CHECK_THROWS_AS(it1_c <= it1_c, json::invalid_iterator);
|
||||
CHECK_THROWS_AS(it1_c <= it2_c, json::invalid_iterator);
|
||||
CHECK_THROWS_AS(it2_c <= it3_c, json::invalid_iterator);
|
||||
CHECK_THROWS_AS(it1_c <= it3_c, json::invalid_iterator);
|
||||
CHECK_THROWS_WITH(it1 <= it1, "[json.exception.invalid_iterator.213] cannot compare order of object iterators");
|
||||
CHECK_THROWS_WITH(it1 <= it2, "[json.exception.invalid_iterator.213] cannot compare order of object iterators");
|
||||
CHECK_THROWS_WITH(it2 <= it3, "[json.exception.invalid_iterator.213] cannot compare order of object iterators");
|
||||
CHECK_THROWS_WITH(it1 <= it3, "[json.exception.invalid_iterator.213] cannot compare order of object iterators");
|
||||
CHECK_THROWS_WITH(it1_c <= it1_c, "[json.exception.invalid_iterator.213] cannot compare order of object iterators");
|
||||
CHECK_THROWS_WITH(it1_c <= it2_c, "[json.exception.invalid_iterator.213] cannot compare order of object iterators");
|
||||
CHECK_THROWS_WITH(it2_c <= it3_c, "[json.exception.invalid_iterator.213] cannot compare order of object iterators");
|
||||
CHECK_THROWS_WITH(it1_c <= it3_c, "[json.exception.invalid_iterator.213] cannot compare order of object iterators");
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -150,22 +150,22 @@ TEST_CASE("iterators 2")
|
|||
{
|
||||
if (j.type() == json::value_t::object)
|
||||
{
|
||||
CHECK_THROWS_AS(it1 > it1, std::domain_error);
|
||||
CHECK_THROWS_AS(it1 > it2, std::domain_error);
|
||||
CHECK_THROWS_AS(it2 > it3, std::domain_error);
|
||||
CHECK_THROWS_AS(it1 > it3, std::domain_error);
|
||||
CHECK_THROWS_AS(it1_c > it1_c, std::domain_error);
|
||||
CHECK_THROWS_AS(it1_c > it2_c, std::domain_error);
|
||||
CHECK_THROWS_AS(it2_c > it3_c, std::domain_error);
|
||||
CHECK_THROWS_AS(it1_c > it3_c, std::domain_error);
|
||||
CHECK_THROWS_WITH(it1 > it1, "cannot compare order of object iterators");
|
||||
CHECK_THROWS_WITH(it1 > it2, "cannot compare order of object iterators");
|
||||
CHECK_THROWS_WITH(it2 > it3, "cannot compare order of object iterators");
|
||||
CHECK_THROWS_WITH(it1 > it3, "cannot compare order of object iterators");
|
||||
CHECK_THROWS_WITH(it1_c > it1_c, "cannot compare order of object iterators");
|
||||
CHECK_THROWS_WITH(it1_c > it2_c, "cannot compare order of object iterators");
|
||||
CHECK_THROWS_WITH(it2_c > it3_c, "cannot compare order of object iterators");
|
||||
CHECK_THROWS_WITH(it1_c > it3_c, "cannot compare order of object iterators");
|
||||
CHECK_THROWS_AS(it1 > it1, json::invalid_iterator);
|
||||
CHECK_THROWS_AS(it1 > it2, json::invalid_iterator);
|
||||
CHECK_THROWS_AS(it2 > it3, json::invalid_iterator);
|
||||
CHECK_THROWS_AS(it1 > it3, json::invalid_iterator);
|
||||
CHECK_THROWS_AS(it1_c > it1_c, json::invalid_iterator);
|
||||
CHECK_THROWS_AS(it1_c > it2_c, json::invalid_iterator);
|
||||
CHECK_THROWS_AS(it2_c > it3_c, json::invalid_iterator);
|
||||
CHECK_THROWS_AS(it1_c > it3_c, json::invalid_iterator);
|
||||
CHECK_THROWS_WITH(it1 > it1, "[json.exception.invalid_iterator.213] cannot compare order of object iterators");
|
||||
CHECK_THROWS_WITH(it1 > it2, "[json.exception.invalid_iterator.213] cannot compare order of object iterators");
|
||||
CHECK_THROWS_WITH(it2 > it3, "[json.exception.invalid_iterator.213] cannot compare order of object iterators");
|
||||
CHECK_THROWS_WITH(it1 > it3, "[json.exception.invalid_iterator.213] cannot compare order of object iterators");
|
||||
CHECK_THROWS_WITH(it1_c > it1_c, "[json.exception.invalid_iterator.213] cannot compare order of object iterators");
|
||||
CHECK_THROWS_WITH(it1_c > it2_c, "[json.exception.invalid_iterator.213] cannot compare order of object iterators");
|
||||
CHECK_THROWS_WITH(it2_c > it3_c, "[json.exception.invalid_iterator.213] cannot compare order of object iterators");
|
||||
CHECK_THROWS_WITH(it1_c > it3_c, "[json.exception.invalid_iterator.213] cannot compare order of object iterators");
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -185,22 +185,22 @@ TEST_CASE("iterators 2")
|
|||
{
|
||||
if (j.type() == json::value_t::object)
|
||||
{
|
||||
CHECK_THROWS_AS(it1 >= it1, std::domain_error);
|
||||
CHECK_THROWS_AS(it1 >= it2, std::domain_error);
|
||||
CHECK_THROWS_AS(it2 >= it3, std::domain_error);
|
||||
CHECK_THROWS_AS(it1 >= it3, std::domain_error);
|
||||
CHECK_THROWS_AS(it1_c >= it1_c, std::domain_error);
|
||||
CHECK_THROWS_AS(it1_c >= it2_c, std::domain_error);
|
||||
CHECK_THROWS_AS(it2_c >= it3_c, std::domain_error);
|
||||
CHECK_THROWS_AS(it1_c >= it3_c, std::domain_error);
|
||||
CHECK_THROWS_WITH(it1 >= it1, "cannot compare order of object iterators");
|
||||
CHECK_THROWS_WITH(it1 >= it2, "cannot compare order of object iterators");
|
||||
CHECK_THROWS_WITH(it2 >= it3, "cannot compare order of object iterators");
|
||||
CHECK_THROWS_WITH(it1 >= it3, "cannot compare order of object iterators");
|
||||
CHECK_THROWS_WITH(it1_c >= it1_c, "cannot compare order of object iterators");
|
||||
CHECK_THROWS_WITH(it1_c >= it2_c, "cannot compare order of object iterators");
|
||||
CHECK_THROWS_WITH(it2_c >= it3_c, "cannot compare order of object iterators");
|
||||
CHECK_THROWS_WITH(it1_c >= it3_c, "cannot compare order of object iterators");
|
||||
CHECK_THROWS_AS(it1 >= it1, json::invalid_iterator);
|
||||
CHECK_THROWS_AS(it1 >= it2, json::invalid_iterator);
|
||||
CHECK_THROWS_AS(it2 >= it3, json::invalid_iterator);
|
||||
CHECK_THROWS_AS(it1 >= it3, json::invalid_iterator);
|
||||
CHECK_THROWS_AS(it1_c >= it1_c, json::invalid_iterator);
|
||||
CHECK_THROWS_AS(it1_c >= it2_c, json::invalid_iterator);
|
||||
CHECK_THROWS_AS(it2_c >= it3_c, json::invalid_iterator);
|
||||
CHECK_THROWS_AS(it1_c >= it3_c, json::invalid_iterator);
|
||||
CHECK_THROWS_WITH(it1 >= it1, "[json.exception.invalid_iterator.213] cannot compare order of object iterators");
|
||||
CHECK_THROWS_WITH(it1 >= it2, "[json.exception.invalid_iterator.213] cannot compare order of object iterators");
|
||||
CHECK_THROWS_WITH(it2 >= it3, "[json.exception.invalid_iterator.213] cannot compare order of object iterators");
|
||||
CHECK_THROWS_WITH(it1 >= it3, "[json.exception.invalid_iterator.213] cannot compare order of object iterators");
|
||||
CHECK_THROWS_WITH(it1_c >= it1_c, "[json.exception.invalid_iterator.213] cannot compare order of object iterators");
|
||||
CHECK_THROWS_WITH(it1_c >= it2_c, "[json.exception.invalid_iterator.213] cannot compare order of object iterators");
|
||||
CHECK_THROWS_WITH(it2_c >= it3_c, "[json.exception.invalid_iterator.213] cannot compare order of object iterators");
|
||||
CHECK_THROWS_WITH(it1_c >= it3_c, "[json.exception.invalid_iterator.213] cannot compare order of object iterators");
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -224,15 +224,15 @@ TEST_CASE("iterators 2")
|
|||
{
|
||||
if (j != k)
|
||||
{
|
||||
CHECK_THROWS_AS(j.begin() == k.begin(), std::domain_error);
|
||||
CHECK_THROWS_AS(j.cbegin() == k.cbegin(), std::domain_error);
|
||||
CHECK_THROWS_WITH(j.begin() == k.begin(), "cannot compare iterators of different containers");
|
||||
CHECK_THROWS_WITH(j.cbegin() == k.cbegin(), "cannot compare iterators of different containers");
|
||||
CHECK_THROWS_AS(j.begin() == k.begin(), json::invalid_iterator);
|
||||
CHECK_THROWS_AS(j.cbegin() == k.cbegin(), json::invalid_iterator);
|
||||
CHECK_THROWS_WITH(j.begin() == k.begin(), "[json.exception.invalid_iterator.212] cannot compare iterators of different containers");
|
||||
CHECK_THROWS_WITH(j.cbegin() == k.cbegin(), "[json.exception.invalid_iterator.212] cannot compare iterators of different containers");
|
||||
|
||||
CHECK_THROWS_AS(j.begin() < k.begin(), std::domain_error);
|
||||
CHECK_THROWS_AS(j.cbegin() < k.cbegin(), std::domain_error);
|
||||
CHECK_THROWS_WITH(j.begin() < k.begin(), "cannot compare iterators of different containers");
|
||||
CHECK_THROWS_WITH(j.cbegin() < k.cbegin(), "cannot compare iterators of different containers");
|
||||
CHECK_THROWS_AS(j.begin() < k.begin(), json::invalid_iterator);
|
||||
CHECK_THROWS_AS(j.cbegin() < k.cbegin(), json::invalid_iterator);
|
||||
CHECK_THROWS_WITH(j.begin() < k.begin(), "[json.exception.invalid_iterator.212] cannot compare iterators of different containers");
|
||||
CHECK_THROWS_WITH(j.cbegin() < k.cbegin(), "[json.exception.invalid_iterator.212] cannot compare iterators of different containers");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -251,53 +251,53 @@ TEST_CASE("iterators 2")
|
|||
{
|
||||
{
|
||||
auto it = j_object.begin();
|
||||
CHECK_THROWS_AS(it += 1, std::domain_error);
|
||||
CHECK_THROWS_WITH(it += 1, "cannot use offsets with object iterators");
|
||||
CHECK_THROWS_AS(it += 1, json::invalid_iterator);
|
||||
CHECK_THROWS_WITH(it += 1, "[json.exception.invalid_iterator.209] cannot use offsets with object iterators");
|
||||
}
|
||||
{
|
||||
auto it = j_object.cbegin();
|
||||
CHECK_THROWS_AS(it += 1, std::domain_error);
|
||||
CHECK_THROWS_WITH(it += 1, "cannot use offsets with object iterators");
|
||||
CHECK_THROWS_AS(it += 1, json::invalid_iterator);
|
||||
CHECK_THROWS_WITH(it += 1, "[json.exception.invalid_iterator.209] cannot use offsets with object iterators");
|
||||
}
|
||||
{
|
||||
auto it = j_object.begin();
|
||||
CHECK_THROWS_AS(it + 1, std::domain_error);
|
||||
CHECK_THROWS_WITH(it + 1, "cannot use offsets with object iterators");
|
||||
CHECK_THROWS_AS(it + 1, json::invalid_iterator);
|
||||
CHECK_THROWS_WITH(it + 1, "[json.exception.invalid_iterator.209] cannot use offsets with object iterators");
|
||||
}
|
||||
{
|
||||
auto it = j_object.cbegin();
|
||||
CHECK_THROWS_AS(it + 1, std::domain_error);
|
||||
CHECK_THROWS_WITH(it + 1, "cannot use offsets with object iterators");
|
||||
CHECK_THROWS_AS(it + 1, json::invalid_iterator);
|
||||
CHECK_THROWS_WITH(it + 1, "[json.exception.invalid_iterator.209] cannot use offsets with object iterators");
|
||||
}
|
||||
{
|
||||
auto it = j_object.begin();
|
||||
CHECK_THROWS_AS(it -= 1, std::domain_error);
|
||||
CHECK_THROWS_WITH(it -= 1, "cannot use offsets with object iterators");
|
||||
CHECK_THROWS_AS(it -= 1, json::invalid_iterator);
|
||||
CHECK_THROWS_WITH(it -= 1, "[json.exception.invalid_iterator.209] cannot use offsets with object iterators");
|
||||
}
|
||||
{
|
||||
auto it = j_object.cbegin();
|
||||
CHECK_THROWS_AS(it -= 1, std::domain_error);
|
||||
CHECK_THROWS_WITH(it -= 1, "cannot use offsets with object iterators");
|
||||
CHECK_THROWS_AS(it -= 1, json::invalid_iterator);
|
||||
CHECK_THROWS_WITH(it -= 1, "[json.exception.invalid_iterator.209] cannot use offsets with object iterators");
|
||||
}
|
||||
{
|
||||
auto it = j_object.begin();
|
||||
CHECK_THROWS_AS(it - 1, std::domain_error);
|
||||
CHECK_THROWS_WITH(it - 1, "cannot use offsets with object iterators");
|
||||
CHECK_THROWS_AS(it - 1, json::invalid_iterator);
|
||||
CHECK_THROWS_WITH(it - 1, "[json.exception.invalid_iterator.209] cannot use offsets with object iterators");
|
||||
}
|
||||
{
|
||||
auto it = j_object.cbegin();
|
||||
CHECK_THROWS_AS(it - 1, std::domain_error);
|
||||
CHECK_THROWS_WITH(it - 1, "cannot use offsets with object iterators");
|
||||
CHECK_THROWS_AS(it - 1, json::invalid_iterator);
|
||||
CHECK_THROWS_WITH(it - 1, "[json.exception.invalid_iterator.209] cannot use offsets with object iterators");
|
||||
}
|
||||
{
|
||||
auto it = j_object.begin();
|
||||
CHECK_THROWS_AS(it - it, std::domain_error);
|
||||
CHECK_THROWS_WITH(it - it, "cannot use offsets with object iterators");
|
||||
CHECK_THROWS_AS(it - it, json::invalid_iterator);
|
||||
CHECK_THROWS_WITH(it - it, "[json.exception.invalid_iterator.209] cannot use offsets with object iterators");
|
||||
}
|
||||
{
|
||||
auto it = j_object.cbegin();
|
||||
CHECK_THROWS_AS(it - it, std::domain_error);
|
||||
CHECK_THROWS_WITH(it - it, "cannot use offsets with object iterators");
|
||||
CHECK_THROWS_AS(it - it, json::invalid_iterator);
|
||||
CHECK_THROWS_WITH(it - it, "[json.exception.invalid_iterator.209] cannot use offsets with object iterators");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -420,17 +420,17 @@ TEST_CASE("iterators 2")
|
|||
{
|
||||
{
|
||||
auto it = j_null.begin();
|
||||
CHECK_THROWS_AS(it[0], std::out_of_range);
|
||||
CHECK_THROWS_AS(it[1], std::out_of_range);
|
||||
CHECK_THROWS_WITH(it[0], "cannot get value");
|
||||
CHECK_THROWS_WITH(it[1], "cannot get value");
|
||||
CHECK_THROWS_AS(it[0], json::invalid_iterator);
|
||||
CHECK_THROWS_AS(it[1], json::invalid_iterator);
|
||||
CHECK_THROWS_WITH(it[0], "[json.exception.invalid_iterator.214] cannot get value");
|
||||
CHECK_THROWS_WITH(it[1], "[json.exception.invalid_iterator.214] cannot get value");
|
||||
}
|
||||
{
|
||||
auto it = j_null.cbegin();
|
||||
CHECK_THROWS_AS(it[0], std::out_of_range);
|
||||
CHECK_THROWS_AS(it[1], std::out_of_range);
|
||||
CHECK_THROWS_WITH(it[0], "cannot get value");
|
||||
CHECK_THROWS_WITH(it[1], "cannot get value");
|
||||
CHECK_THROWS_AS(it[0], json::invalid_iterator);
|
||||
CHECK_THROWS_AS(it[1], json::invalid_iterator);
|
||||
CHECK_THROWS_WITH(it[0], "[json.exception.invalid_iterator.214] cannot get value");
|
||||
CHECK_THROWS_WITH(it[1], "[json.exception.invalid_iterator.214] cannot get value");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -439,14 +439,14 @@ TEST_CASE("iterators 2")
|
|||
{
|
||||
auto it = j_value.begin();
|
||||
CHECK(it[0] == json(42));
|
||||
CHECK_THROWS_AS(it[1], std::out_of_range);
|
||||
CHECK_THROWS_WITH(it[1], "cannot get value");
|
||||
CHECK_THROWS_AS(it[1], json::invalid_iterator);
|
||||
CHECK_THROWS_WITH(it[1], "[json.exception.invalid_iterator.214] cannot get value");
|
||||
}
|
||||
{
|
||||
auto it = j_value.cbegin();
|
||||
CHECK(it[0] == json(42));
|
||||
CHECK_THROWS_AS(it[1], std::out_of_range);
|
||||
CHECK_THROWS_WITH(it[1], "cannot get value");
|
||||
CHECK_THROWS_AS(it[1], json::invalid_iterator);
|
||||
CHECK_THROWS_WITH(it[1], "[json.exception.invalid_iterator.214] cannot get value");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -500,22 +500,22 @@ TEST_CASE("iterators 2")
|
|||
{
|
||||
if (j.type() == json::value_t::object)
|
||||
{
|
||||
CHECK_THROWS_AS(it1 < it1, std::domain_error);
|
||||
CHECK_THROWS_AS(it1 < it2, std::domain_error);
|
||||
CHECK_THROWS_AS(it2 < it3, std::domain_error);
|
||||
CHECK_THROWS_AS(it1 < it3, std::domain_error);
|
||||
CHECK_THROWS_AS(it1_c < it1_c, std::domain_error);
|
||||
CHECK_THROWS_AS(it1_c < it2_c, std::domain_error);
|
||||
CHECK_THROWS_AS(it2_c < it3_c, std::domain_error);
|
||||
CHECK_THROWS_AS(it1_c < it3_c, std::domain_error);
|
||||
CHECK_THROWS_WITH(it1 < it1, "cannot compare order of object iterators");
|
||||
CHECK_THROWS_WITH(it1 < it2, "cannot compare order of object iterators");
|
||||
CHECK_THROWS_WITH(it2 < it3, "cannot compare order of object iterators");
|
||||
CHECK_THROWS_WITH(it1 < it3, "cannot compare order of object iterators");
|
||||
CHECK_THROWS_WITH(it1_c < it1_c, "cannot compare order of object iterators");
|
||||
CHECK_THROWS_WITH(it1_c < it2_c, "cannot compare order of object iterators");
|
||||
CHECK_THROWS_WITH(it2_c < it3_c, "cannot compare order of object iterators");
|
||||
CHECK_THROWS_WITH(it1_c < it3_c, "cannot compare order of object iterators");
|
||||
CHECK_THROWS_AS(it1 < it1, json::invalid_iterator);
|
||||
CHECK_THROWS_AS(it1 < it2, json::invalid_iterator);
|
||||
CHECK_THROWS_AS(it2 < it3, json::invalid_iterator);
|
||||
CHECK_THROWS_AS(it1 < it3, json::invalid_iterator);
|
||||
CHECK_THROWS_AS(it1_c < it1_c, json::invalid_iterator);
|
||||
CHECK_THROWS_AS(it1_c < it2_c, json::invalid_iterator);
|
||||
CHECK_THROWS_AS(it2_c < it3_c, json::invalid_iterator);
|
||||
CHECK_THROWS_AS(it1_c < it3_c, json::invalid_iterator);
|
||||
CHECK_THROWS_WITH(it1 < it1, "[json.exception.invalid_iterator.213] cannot compare order of object iterators");
|
||||
CHECK_THROWS_WITH(it1 < it2, "[json.exception.invalid_iterator.213] cannot compare order of object iterators");
|
||||
CHECK_THROWS_WITH(it2 < it3, "[json.exception.invalid_iterator.213] cannot compare order of object iterators");
|
||||
CHECK_THROWS_WITH(it1 < it3, "[json.exception.invalid_iterator.213] cannot compare order of object iterators");
|
||||
CHECK_THROWS_WITH(it1_c < it1_c, "[json.exception.invalid_iterator.213] cannot compare order of object iterators");
|
||||
CHECK_THROWS_WITH(it1_c < it2_c, "[json.exception.invalid_iterator.213] cannot compare order of object iterators");
|
||||
CHECK_THROWS_WITH(it2_c < it3_c, "[json.exception.invalid_iterator.213] cannot compare order of object iterators");
|
||||
CHECK_THROWS_WITH(it1_c < it3_c, "[json.exception.invalid_iterator.213] cannot compare order of object iterators");
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -534,22 +534,22 @@ TEST_CASE("iterators 2")
|
|||
{
|
||||
if (j.type() == json::value_t::object)
|
||||
{
|
||||
CHECK_THROWS_AS(it1 <= it1, std::domain_error);
|
||||
CHECK_THROWS_AS(it1 <= it2, std::domain_error);
|
||||
CHECK_THROWS_AS(it2 <= it3, std::domain_error);
|
||||
CHECK_THROWS_AS(it1 <= it3, std::domain_error);
|
||||
CHECK_THROWS_AS(it1_c <= it1_c, std::domain_error);
|
||||
CHECK_THROWS_AS(it1_c <= it2_c, std::domain_error);
|
||||
CHECK_THROWS_AS(it2_c <= it3_c, std::domain_error);
|
||||
CHECK_THROWS_AS(it1_c <= it3_c, std::domain_error);
|
||||
CHECK_THROWS_WITH(it1 <= it1, "cannot compare order of object iterators");
|
||||
CHECK_THROWS_WITH(it1 <= it2, "cannot compare order of object iterators");
|
||||
CHECK_THROWS_WITH(it2 <= it3, "cannot compare order of object iterators");
|
||||
CHECK_THROWS_WITH(it1 <= it3, "cannot compare order of object iterators");
|
||||
CHECK_THROWS_WITH(it1_c <= it1_c, "cannot compare order of object iterators");
|
||||
CHECK_THROWS_WITH(it1_c <= it2_c, "cannot compare order of object iterators");
|
||||
CHECK_THROWS_WITH(it2_c <= it3_c, "cannot compare order of object iterators");
|
||||
CHECK_THROWS_WITH(it1_c <= it3_c, "cannot compare order of object iterators");
|
||||
CHECK_THROWS_AS(it1 <= it1, json::invalid_iterator);
|
||||
CHECK_THROWS_AS(it1 <= it2, json::invalid_iterator);
|
||||
CHECK_THROWS_AS(it2 <= it3, json::invalid_iterator);
|
||||
CHECK_THROWS_AS(it1 <= it3, json::invalid_iterator);
|
||||
CHECK_THROWS_AS(it1_c <= it1_c, json::invalid_iterator);
|
||||
CHECK_THROWS_AS(it1_c <= it2_c, json::invalid_iterator);
|
||||
CHECK_THROWS_AS(it2_c <= it3_c, json::invalid_iterator);
|
||||
CHECK_THROWS_AS(it1_c <= it3_c, json::invalid_iterator);
|
||||
CHECK_THROWS_WITH(it1 <= it1, "[json.exception.invalid_iterator.213] cannot compare order of object iterators");
|
||||
CHECK_THROWS_WITH(it1 <= it2, "[json.exception.invalid_iterator.213] cannot compare order of object iterators");
|
||||
CHECK_THROWS_WITH(it2 <= it3, "[json.exception.invalid_iterator.213] cannot compare order of object iterators");
|
||||
CHECK_THROWS_WITH(it1 <= it3, "[json.exception.invalid_iterator.213] cannot compare order of object iterators");
|
||||
CHECK_THROWS_WITH(it1_c <= it1_c, "[json.exception.invalid_iterator.213] cannot compare order of object iterators");
|
||||
CHECK_THROWS_WITH(it1_c <= it2_c, "[json.exception.invalid_iterator.213] cannot compare order of object iterators");
|
||||
CHECK_THROWS_WITH(it2_c <= it3_c, "[json.exception.invalid_iterator.213] cannot compare order of object iterators");
|
||||
CHECK_THROWS_WITH(it1_c <= it3_c, "[json.exception.invalid_iterator.213] cannot compare order of object iterators");
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -569,22 +569,22 @@ TEST_CASE("iterators 2")
|
|||
{
|
||||
if (j.type() == json::value_t::object)
|
||||
{
|
||||
CHECK_THROWS_AS(it1 > it1, std::domain_error);
|
||||
CHECK_THROWS_AS(it1 > it2, std::domain_error);
|
||||
CHECK_THROWS_AS(it2 > it3, std::domain_error);
|
||||
CHECK_THROWS_AS(it1 > it3, std::domain_error);
|
||||
CHECK_THROWS_AS(it1_c > it1_c, std::domain_error);
|
||||
CHECK_THROWS_AS(it1_c > it2_c, std::domain_error);
|
||||
CHECK_THROWS_AS(it2_c > it3_c, std::domain_error);
|
||||
CHECK_THROWS_AS(it1_c > it3_c, std::domain_error);
|
||||
CHECK_THROWS_WITH(it1 > it1, "cannot compare order of object iterators");
|
||||
CHECK_THROWS_WITH(it1 > it2, "cannot compare order of object iterators");
|
||||
CHECK_THROWS_WITH(it2 > it3, "cannot compare order of object iterators");
|
||||
CHECK_THROWS_WITH(it1 > it3, "cannot compare order of object iterators");
|
||||
CHECK_THROWS_WITH(it1_c > it1_c, "cannot compare order of object iterators");
|
||||
CHECK_THROWS_WITH(it1_c > it2_c, "cannot compare order of object iterators");
|
||||
CHECK_THROWS_WITH(it2_c > it3_c, "cannot compare order of object iterators");
|
||||
CHECK_THROWS_WITH(it1_c > it3_c, "cannot compare order of object iterators");
|
||||
CHECK_THROWS_AS(it1 > it1, json::invalid_iterator);
|
||||
CHECK_THROWS_AS(it1 > it2, json::invalid_iterator);
|
||||
CHECK_THROWS_AS(it2 > it3, json::invalid_iterator);
|
||||
CHECK_THROWS_AS(it1 > it3, json::invalid_iterator);
|
||||
CHECK_THROWS_AS(it1_c > it1_c, json::invalid_iterator);
|
||||
CHECK_THROWS_AS(it1_c > it2_c, json::invalid_iterator);
|
||||
CHECK_THROWS_AS(it2_c > it3_c, json::invalid_iterator);
|
||||
CHECK_THROWS_AS(it1_c > it3_c, json::invalid_iterator);
|
||||
CHECK_THROWS_WITH(it1 > it1, "[json.exception.invalid_iterator.213] cannot compare order of object iterators");
|
||||
CHECK_THROWS_WITH(it1 > it2, "[json.exception.invalid_iterator.213] cannot compare order of object iterators");
|
||||
CHECK_THROWS_WITH(it2 > it3, "[json.exception.invalid_iterator.213] cannot compare order of object iterators");
|
||||
CHECK_THROWS_WITH(it1 > it3, "[json.exception.invalid_iterator.213] cannot compare order of object iterators");
|
||||
CHECK_THROWS_WITH(it1_c > it1_c, "[json.exception.invalid_iterator.213] cannot compare order of object iterators");
|
||||
CHECK_THROWS_WITH(it1_c > it2_c, "[json.exception.invalid_iterator.213] cannot compare order of object iterators");
|
||||
CHECK_THROWS_WITH(it2_c > it3_c, "[json.exception.invalid_iterator.213] cannot compare order of object iterators");
|
||||
CHECK_THROWS_WITH(it1_c > it3_c, "[json.exception.invalid_iterator.213] cannot compare order of object iterators");
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -604,22 +604,22 @@ TEST_CASE("iterators 2")
|
|||
{
|
||||
if (j.type() == json::value_t::object)
|
||||
{
|
||||
CHECK_THROWS_AS(it1 >= it1, std::domain_error);
|
||||
CHECK_THROWS_AS(it1 >= it2, std::domain_error);
|
||||
CHECK_THROWS_AS(it2 >= it3, std::domain_error);
|
||||
CHECK_THROWS_AS(it1 >= it3, std::domain_error);
|
||||
CHECK_THROWS_AS(it1_c >= it1_c, std::domain_error);
|
||||
CHECK_THROWS_AS(it1_c >= it2_c, std::domain_error);
|
||||
CHECK_THROWS_AS(it2_c >= it3_c, std::domain_error);
|
||||
CHECK_THROWS_AS(it1_c >= it3_c, std::domain_error);
|
||||
CHECK_THROWS_WITH(it1 >= it1, "cannot compare order of object iterators");
|
||||
CHECK_THROWS_WITH(it1 >= it2, "cannot compare order of object iterators");
|
||||
CHECK_THROWS_WITH(it2 >= it3, "cannot compare order of object iterators");
|
||||
CHECK_THROWS_WITH(it1 >= it3, "cannot compare order of object iterators");
|
||||
CHECK_THROWS_WITH(it1_c >= it1_c, "cannot compare order of object iterators");
|
||||
CHECK_THROWS_WITH(it1_c >= it2_c, "cannot compare order of object iterators");
|
||||
CHECK_THROWS_WITH(it2_c >= it3_c, "cannot compare order of object iterators");
|
||||
CHECK_THROWS_WITH(it1_c >= it3_c, "cannot compare order of object iterators");
|
||||
CHECK_THROWS_AS(it1 >= it1, json::invalid_iterator);
|
||||
CHECK_THROWS_AS(it1 >= it2, json::invalid_iterator);
|
||||
CHECK_THROWS_AS(it2 >= it3, json::invalid_iterator);
|
||||
CHECK_THROWS_AS(it1 >= it3, json::invalid_iterator);
|
||||
CHECK_THROWS_AS(it1_c >= it1_c, json::invalid_iterator);
|
||||
CHECK_THROWS_AS(it1_c >= it2_c, json::invalid_iterator);
|
||||
CHECK_THROWS_AS(it2_c >= it3_c, json::invalid_iterator);
|
||||
CHECK_THROWS_AS(it1_c >= it3_c, json::invalid_iterator);
|
||||
CHECK_THROWS_WITH(it1 >= it1, "[json.exception.invalid_iterator.213] cannot compare order of object iterators");
|
||||
CHECK_THROWS_WITH(it1 >= it2, "[json.exception.invalid_iterator.213] cannot compare order of object iterators");
|
||||
CHECK_THROWS_WITH(it2 >= it3, "[json.exception.invalid_iterator.213] cannot compare order of object iterators");
|
||||
CHECK_THROWS_WITH(it1 >= it3, "[json.exception.invalid_iterator.213] cannot compare order of object iterators");
|
||||
CHECK_THROWS_WITH(it1_c >= it1_c, "[json.exception.invalid_iterator.213] cannot compare order of object iterators");
|
||||
CHECK_THROWS_WITH(it1_c >= it2_c, "[json.exception.invalid_iterator.213] cannot compare order of object iterators");
|
||||
CHECK_THROWS_WITH(it2_c >= it3_c, "[json.exception.invalid_iterator.213] cannot compare order of object iterators");
|
||||
CHECK_THROWS_WITH(it1_c >= it3_c, "[json.exception.invalid_iterator.213] cannot compare order of object iterators");
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -643,15 +643,15 @@ TEST_CASE("iterators 2")
|
|||
{
|
||||
if (j != k)
|
||||
{
|
||||
CHECK_THROWS_AS(j.rbegin() == k.rbegin(), std::domain_error);
|
||||
CHECK_THROWS_AS(j.crbegin() == k.crbegin(), std::domain_error);
|
||||
CHECK_THROWS_WITH(j.rbegin() == k.rbegin(), "cannot compare iterators of different containers");
|
||||
CHECK_THROWS_WITH(j.crbegin() == k.crbegin(), "cannot compare iterators of different containers");
|
||||
CHECK_THROWS_AS(j.rbegin() == k.rbegin(), json::invalid_iterator);
|
||||
CHECK_THROWS_AS(j.crbegin() == k.crbegin(), json::invalid_iterator);
|
||||
CHECK_THROWS_WITH(j.rbegin() == k.rbegin(), "[json.exception.invalid_iterator.212] cannot compare iterators of different containers");
|
||||
CHECK_THROWS_WITH(j.crbegin() == k.crbegin(), "[json.exception.invalid_iterator.212] cannot compare iterators of different containers");
|
||||
|
||||
CHECK_THROWS_AS(j.rbegin() < k.rbegin(), std::domain_error);
|
||||
CHECK_THROWS_AS(j.crbegin() < k.crbegin(), std::domain_error);
|
||||
CHECK_THROWS_WITH(j.rbegin() < k.rbegin(), "cannot compare iterators of different containers");
|
||||
CHECK_THROWS_WITH(j.crbegin() < k.crbegin(), "cannot compare iterators of different containers");
|
||||
CHECK_THROWS_AS(j.rbegin() < k.rbegin(), json::invalid_iterator);
|
||||
CHECK_THROWS_AS(j.crbegin() < k.crbegin(), json::invalid_iterator);
|
||||
CHECK_THROWS_WITH(j.rbegin() < k.rbegin(), "[json.exception.invalid_iterator.212] cannot compare iterators of different containers");
|
||||
CHECK_THROWS_WITH(j.crbegin() < k.crbegin(), "[json.exception.invalid_iterator.212] cannot compare iterators of different containers");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -670,53 +670,53 @@ TEST_CASE("iterators 2")
|
|||
{
|
||||
{
|
||||
auto it = j_object.rbegin();
|
||||
CHECK_THROWS_AS(it += 1, std::domain_error);
|
||||
CHECK_THROWS_WITH(it += 1, "cannot use offsets with object iterators");
|
||||
CHECK_THROWS_AS(it += 1, json::invalid_iterator);
|
||||
CHECK_THROWS_WITH(it += 1, "[json.exception.invalid_iterator.209] cannot use offsets with object iterators");
|
||||
}
|
||||
{
|
||||
auto it = j_object.crbegin();
|
||||
CHECK_THROWS_AS(it += 1, std::domain_error);
|
||||
CHECK_THROWS_WITH(it += 1, "cannot use offsets with object iterators");
|
||||
CHECK_THROWS_AS(it += 1, json::invalid_iterator);
|
||||
CHECK_THROWS_WITH(it += 1, "[json.exception.invalid_iterator.209] cannot use offsets with object iterators");
|
||||
}
|
||||
{
|
||||
auto it = j_object.rbegin();
|
||||
CHECK_THROWS_AS(it + 1, std::domain_error);
|
||||
CHECK_THROWS_WITH(it + 1, "cannot use offsets with object iterators");
|
||||
CHECK_THROWS_AS(it + 1, json::invalid_iterator);
|
||||
CHECK_THROWS_WITH(it + 1, "[json.exception.invalid_iterator.209] cannot use offsets with object iterators");
|
||||
}
|
||||
{
|
||||
auto it = j_object.crbegin();
|
||||
CHECK_THROWS_AS(it + 1, std::domain_error);
|
||||
CHECK_THROWS_WITH(it + 1, "cannot use offsets with object iterators");
|
||||
CHECK_THROWS_AS(it + 1, json::invalid_iterator);
|
||||
CHECK_THROWS_WITH(it + 1, "[json.exception.invalid_iterator.209] cannot use offsets with object iterators");
|
||||
}
|
||||
{
|
||||
auto it = j_object.rbegin();
|
||||
CHECK_THROWS_AS(it -= 1, std::domain_error);
|
||||
CHECK_THROWS_WITH(it -= 1, "cannot use offsets with object iterators");
|
||||
CHECK_THROWS_AS(it -= 1, json::invalid_iterator);
|
||||
CHECK_THROWS_WITH(it -= 1, "[json.exception.invalid_iterator.209] cannot use offsets with object iterators");
|
||||
}
|
||||
{
|
||||
auto it = j_object.crbegin();
|
||||
CHECK_THROWS_AS(it -= 1, std::domain_error);
|
||||
CHECK_THROWS_WITH(it -= 1, "cannot use offsets with object iterators");
|
||||
CHECK_THROWS_AS(it -= 1, json::invalid_iterator);
|
||||
CHECK_THROWS_WITH(it -= 1, "[json.exception.invalid_iterator.209] cannot use offsets with object iterators");
|
||||
}
|
||||
{
|
||||
auto it = j_object.rbegin();
|
||||
CHECK_THROWS_AS(it - 1, std::domain_error);
|
||||
CHECK_THROWS_WITH(it - 1, "cannot use offsets with object iterators");
|
||||
CHECK_THROWS_AS(it - 1, json::invalid_iterator);
|
||||
CHECK_THROWS_WITH(it - 1, "[json.exception.invalid_iterator.209] cannot use offsets with object iterators");
|
||||
}
|
||||
{
|
||||
auto it = j_object.crbegin();
|
||||
CHECK_THROWS_AS(it - 1, std::domain_error);
|
||||
CHECK_THROWS_WITH(it - 1, "cannot use offsets with object iterators");
|
||||
CHECK_THROWS_AS(it - 1, json::invalid_iterator);
|
||||
CHECK_THROWS_WITH(it - 1, "[json.exception.invalid_iterator.209] cannot use offsets with object iterators");
|
||||
}
|
||||
{
|
||||
auto it = j_object.rbegin();
|
||||
CHECK_THROWS_AS(it - it, std::domain_error);
|
||||
CHECK_THROWS_WITH(it - it, "cannot use offsets with object iterators");
|
||||
CHECK_THROWS_AS(it - it, json::invalid_iterator);
|
||||
CHECK_THROWS_WITH(it - it, "[json.exception.invalid_iterator.209] cannot use offsets with object iterators");
|
||||
}
|
||||
{
|
||||
auto it = j_object.crbegin();
|
||||
CHECK_THROWS_AS(it - it, std::domain_error);
|
||||
CHECK_THROWS_WITH(it - it, "cannot use offsets with object iterators");
|
||||
CHECK_THROWS_AS(it - it, json::invalid_iterator);
|
||||
CHECK_THROWS_WITH(it - it, "[json.exception.invalid_iterator.209] cannot use offsets with object iterators");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -799,17 +799,17 @@ TEST_CASE("iterators 2")
|
|||
{
|
||||
{
|
||||
auto it = j_object.rbegin();
|
||||
CHECK_THROWS_AS(it[0], std::domain_error);
|
||||
CHECK_THROWS_AS(it[1], std::domain_error);
|
||||
CHECK_THROWS_WITH(it[0], "cannot use offsets with object iterators");
|
||||
CHECK_THROWS_WITH(it[1], "cannot use offsets with object iterators");
|
||||
CHECK_THROWS_AS(it[0], json::invalid_iterator);
|
||||
CHECK_THROWS_AS(it[1], json::invalid_iterator);
|
||||
CHECK_THROWS_WITH(it[0], "[json.exception.invalid_iterator.209] cannot use offsets with object iterators");
|
||||
CHECK_THROWS_WITH(it[1], "[json.exception.invalid_iterator.209] cannot use offsets with object iterators");
|
||||
}
|
||||
{
|
||||
auto it = j_object.crbegin();
|
||||
CHECK_THROWS_AS(it[0], std::domain_error);
|
||||
CHECK_THROWS_AS(it[1], std::domain_error);
|
||||
CHECK_THROWS_WITH(it[0], "cannot use offsets with object iterators");
|
||||
CHECK_THROWS_WITH(it[1], "cannot use offsets with object iterators");
|
||||
CHECK_THROWS_AS(it[0], json::invalid_iterator);
|
||||
CHECK_THROWS_AS(it[1], json::invalid_iterator);
|
||||
CHECK_THROWS_WITH(it[0], "[json.exception.invalid_iterator.209] cannot use offsets with object iterators");
|
||||
CHECK_THROWS_WITH(it[1], "[json.exception.invalid_iterator.209] cannot use offsets with object iterators");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -839,17 +839,17 @@ TEST_CASE("iterators 2")
|
|||
{
|
||||
{
|
||||
auto it = j_null.rbegin();
|
||||
CHECK_THROWS_AS(it[0], std::out_of_range);
|
||||
CHECK_THROWS_AS(it[1], std::out_of_range);
|
||||
CHECK_THROWS_WITH(it[0], "cannot get value");
|
||||
CHECK_THROWS_WITH(it[1], "cannot get value");
|
||||
CHECK_THROWS_AS(it[0], json::invalid_iterator);
|
||||
CHECK_THROWS_AS(it[1], json::invalid_iterator);
|
||||
CHECK_THROWS_WITH(it[0], "[json.exception.invalid_iterator.214] cannot get value");
|
||||
CHECK_THROWS_WITH(it[1], "[json.exception.invalid_iterator.214] cannot get value");
|
||||
}
|
||||
{
|
||||
auto it = j_null.crbegin();
|
||||
CHECK_THROWS_AS(it[0], std::out_of_range);
|
||||
CHECK_THROWS_AS(it[1], std::out_of_range);
|
||||
CHECK_THROWS_WITH(it[0], "cannot get value");
|
||||
CHECK_THROWS_WITH(it[1], "cannot get value");
|
||||
CHECK_THROWS_AS(it[0], json::invalid_iterator);
|
||||
CHECK_THROWS_AS(it[1], json::invalid_iterator);
|
||||
CHECK_THROWS_WITH(it[0], "[json.exception.invalid_iterator.214] cannot get value");
|
||||
CHECK_THROWS_WITH(it[1], "[json.exception.invalid_iterator.214] cannot get value");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -858,14 +858,14 @@ TEST_CASE("iterators 2")
|
|||
{
|
||||
auto it = j_value.rbegin();
|
||||
CHECK(it[0] == json(42));
|
||||
CHECK_THROWS_AS(it[1], std::out_of_range);
|
||||
CHECK_THROWS_WITH(it[1], "cannot get value");
|
||||
CHECK_THROWS_AS(it[1], json::invalid_iterator);
|
||||
CHECK_THROWS_WITH(it[1], "[json.exception.invalid_iterator.214] cannot get value");
|
||||
}
|
||||
{
|
||||
auto it = j_value.crbegin();
|
||||
CHECK(it[0] == json(42));
|
||||
CHECK_THROWS_AS(it[1], std::out_of_range);
|
||||
CHECK_THROWS_WITH(it[1], "cannot get value");
|
||||
CHECK_THROWS_AS(it[1], json::invalid_iterator);
|
||||
CHECK_THROWS_WITH(it[1], "[json.exception.invalid_iterator.214] cannot get value");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -616,14 +616,15 @@ TEST_CASE("modifiers")
|
|||
{
|
||||
json j_other_array2 = {"first", "second"};
|
||||
|
||||
CHECK_THROWS_AS(j_array.insert(j_array.end(), j_array.begin(), j_array.end()), std::domain_error);
|
||||
CHECK_THROWS_AS(j_array.insert(j_array.end(), j_array.begin(), j_array.end()),
|
||||
json::invalid_iterator);
|
||||
CHECK_THROWS_AS(j_array.insert(j_array.end(), j_other_array.begin(), j_other_array2.end()),
|
||||
std::domain_error);
|
||||
json::invalid_iterator);
|
||||
|
||||
CHECK_THROWS_WITH(j_array.insert(j_array.end(), j_array.begin(), j_array.end()),
|
||||
"passed iterators may not belong to container");
|
||||
"[json.exception.invalid_iterator.211] passed iterators may not belong to container");
|
||||
CHECK_THROWS_WITH(j_array.insert(j_array.end(), j_other_array.begin(), j_other_array2.end()),
|
||||
"iterators do not fit");
|
||||
"[json.exception.invalid_iterator.210] iterators do not fit");
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue