✅ added a test for EOF error (#367)
This commit is contained in:
parent
dfc49e7afe
commit
8014637ad1
1 changed files with 15 additions and 0 deletions
|
@ -495,4 +495,19 @@ TEST_CASE("regression tests")
|
||||||
json j = json::parse("22e2222");
|
json j = json::parse("22e2222");
|
||||||
CHECK(j == json());
|
CHECK(j == json());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
SECTION("issue #367 - calling stream at EOF")
|
||||||
|
{
|
||||||
|
std::stringstream ss;
|
||||||
|
json j;
|
||||||
|
ss << "123";
|
||||||
|
CHECK_NOTHROW(j << ss);
|
||||||
|
|
||||||
|
// see https://github.com/nlohmann/json/issues/367#issuecomment-262841893:
|
||||||
|
// ss is not at EOF; this yielded an error before the fix
|
||||||
|
// (threw basic_string::append). No, it should just throw
|
||||||
|
// a parse error because of the EOF.
|
||||||
|
CHECK_THROWS_AS(j << ss, std::invalid_argument);
|
||||||
|
CHECK_THROWS_WITH(j << ss, "parse error - unexpected end of input");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue