💄 clean up
This commit is contained in:
parent
a3063c2419
commit
d173517212
3 changed files with 34 additions and 4 deletions
|
@ -873,8 +873,17 @@ class basic_json
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
case value_t::null:
|
||||||
|
{
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
default:
|
default:
|
||||||
{
|
{
|
||||||
|
if (t == value_t::null)
|
||||||
|
{
|
||||||
|
throw std::domain_error("961c151d2e87f2686a955a9be24d316f1362bf21"); // LCOV_EXCL_LINE
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -873,8 +873,17 @@ class basic_json
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
case value_t::null:
|
||||||
|
{
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
default:
|
default:
|
||||||
{
|
{
|
||||||
|
if (t == value_t::null)
|
||||||
|
{
|
||||||
|
throw std::domain_error("961c151d2e87f2686a955a9be24d316f1362bf21"); // LCOV_EXCL_LINE
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -141,7 +141,10 @@ TEST_CASE("controlled bad_alloc")
|
||||||
{
|
{
|
||||||
next_construct_fails = false;
|
next_construct_fails = false;
|
||||||
auto t = my_json::value_t::object;
|
auto t = my_json::value_t::object;
|
||||||
auto clean_up = [](my_json::json_value& j){ my_allocator_clean_up(j.object); };
|
auto clean_up = [](my_json::json_value & j)
|
||||||
|
{
|
||||||
|
my_allocator_clean_up(j.object);
|
||||||
|
};
|
||||||
CHECK_NOTHROW(my_json::json_value j(t); clean_up(j));
|
CHECK_NOTHROW(my_json::json_value j(t); clean_up(j));
|
||||||
next_construct_fails = true;
|
next_construct_fails = true;
|
||||||
CHECK_THROWS_AS(my_json::json_value j(t), std::bad_alloc);
|
CHECK_THROWS_AS(my_json::json_value j(t), std::bad_alloc);
|
||||||
|
@ -151,7 +154,10 @@ TEST_CASE("controlled bad_alloc")
|
||||||
{
|
{
|
||||||
next_construct_fails = false;
|
next_construct_fails = false;
|
||||||
auto t = my_json::value_t::array;
|
auto t = my_json::value_t::array;
|
||||||
auto clean_up = [](my_json::json_value& j){ my_allocator_clean_up(j.array); };
|
auto clean_up = [](my_json::json_value & j)
|
||||||
|
{
|
||||||
|
my_allocator_clean_up(j.array);
|
||||||
|
};
|
||||||
CHECK_NOTHROW(my_json::json_value j(t); clean_up(j));
|
CHECK_NOTHROW(my_json::json_value j(t); clean_up(j));
|
||||||
next_construct_fails = true;
|
next_construct_fails = true;
|
||||||
CHECK_THROWS_AS(my_json::json_value j(t), std::bad_alloc);
|
CHECK_THROWS_AS(my_json::json_value j(t), std::bad_alloc);
|
||||||
|
@ -161,7 +167,10 @@ TEST_CASE("controlled bad_alloc")
|
||||||
{
|
{
|
||||||
next_construct_fails = false;
|
next_construct_fails = false;
|
||||||
auto t = my_json::value_t::string;
|
auto t = my_json::value_t::string;
|
||||||
auto clean_up = [](my_json::json_value& j){ my_allocator_clean_up(j.string); };
|
auto clean_up = [](my_json::json_value & j)
|
||||||
|
{
|
||||||
|
my_allocator_clean_up(j.string);
|
||||||
|
};
|
||||||
CHECK_NOTHROW(my_json::json_value j(t); clean_up(j));
|
CHECK_NOTHROW(my_json::json_value j(t); clean_up(j));
|
||||||
next_construct_fails = true;
|
next_construct_fails = true;
|
||||||
CHECK_THROWS_AS(my_json::json_value j(t), std::bad_alloc);
|
CHECK_THROWS_AS(my_json::json_value j(t), std::bad_alloc);
|
||||||
|
@ -173,7 +182,10 @@ TEST_CASE("controlled bad_alloc")
|
||||||
{
|
{
|
||||||
next_construct_fails = false;
|
next_construct_fails = false;
|
||||||
my_json::string_t v("foo");
|
my_json::string_t v("foo");
|
||||||
auto clean_up = [](my_json::json_value& j){ my_allocator_clean_up(j.string); };
|
auto clean_up = [](my_json::json_value & j)
|
||||||
|
{
|
||||||
|
my_allocator_clean_up(j.string);
|
||||||
|
};
|
||||||
CHECK_NOTHROW(my_json::json_value j(v); clean_up(j));
|
CHECK_NOTHROW(my_json::json_value j(v); clean_up(j));
|
||||||
next_construct_fails = true;
|
next_construct_fails = true;
|
||||||
CHECK_THROWS_AS(my_json::json_value j(v), std::bad_alloc);
|
CHECK_THROWS_AS(my_json::json_value j(v), std::bad_alloc);
|
||||||
|
|
Loading…
Reference in a new issue