🔨 another try to fix #714

adding std::ios_base::binary when opening all_unicode.json.cbor
parent c4d66267
...@@ -6789,7 +6789,7 @@ class json_ref ...@@ -6789,7 +6789,7 @@ class json_ref
{} {}
template <class... Args> template <class... Args>
json_ref(Args&&... args) json_ref(Args&& ... args)
: owned_value(std::forward<Args>(args)...), : owned_value(std::forward<Args>(args)...),
value_ref(&owned_value), value_ref(&owned_value),
is_rvalue(true) is_rvalue(true)
......
...@@ -38,18 +38,18 @@ using nlohmann::json; ...@@ -38,18 +38,18 @@ using nlohmann::json;
namespace namespace
{ {
struct nocopy struct nocopy
{ {
nocopy() = default; nocopy() = default;
nocopy(const nocopy &) = delete; nocopy(const nocopy&) = delete;
int val = 0; int val = 0;
friend void to_json(json& j, const nocopy& n) friend void to_json(json& j, const nocopy& n)
{ {
j = {{"val", n.val}}; j = {{"val", n.val}};
} }
}; };
} }
TEST_CASE("regression tests") TEST_CASE("regression tests")
...@@ -1270,40 +1270,39 @@ TEST_CASE("regression tests") ...@@ -1270,40 +1270,39 @@ TEST_CASE("regression tests")
} }
} }
/* SECTION("issue #714 - throw std::ios_base::failure exception when failbit set to true")
SECTION("issue #714 - throw std::ios_base::failure exception when failbit set to true") {
{ {
{ std::ifstream is;
std::ifstream is; is.exceptions(
is.exceptions( is.exceptions()
is.exceptions() | std::ios_base::failbit
| std::ios_base::failbit | std::ios_base::badbit
| std::ios_base::badbit ); // handle different exceptions as 'file not found', 'permission denied'
); // handle different exceptions as 'file not found', 'permission denied'
is.open("test/data/regression/working_file.json");
is.open("test/data/regression/working_file.json"); CHECK_NOTHROW(nlohmann::json::parse(is));
CHECK_NOTHROW(nlohmann::json::parse(is)); }
}
{ {
std::ifstream is; std::ifstream is;
is.exceptions( is.exceptions(
is.exceptions() is.exceptions()
| std::ios_base::failbit | std::ios_base::failbit
| std::ios_base::badbit | std::ios_base::badbit
); // handle different exceptions as 'file not found', 'permission denied' ); // handle different exceptions as 'file not found', 'permission denied'
is.open("test/data/json_nlohmann_tests/all_unicode.json.cbor"); is.open("test/data/json_nlohmann_tests/all_unicode.json.cbor",
CHECK_NOTHROW(nlohmann::json::from_cbor(is)); std::ios_base::in | std::ios_base::binary);
} CHECK_NOTHROW(nlohmann::json::from_cbor(is));
} }
*/ }
SECTION("issue #805 - copy constructor is used with std::initializer_list constructor.") SECTION("issue #805 - copy constructor is used with std::initializer_list constructor.")
{ {
nocopy n; nocopy n;
json j; json j;
j = {{"nocopy", n}}; j = {{"nocopy", n}};
CHECK(j["nocopy"]["val"] == 0); CHECK(j["nocopy"]["val"] == 0);
} }
} }
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