added a test for EOF error (#367)

This commit is contained in:
Niels Lohmann 2016-11-24 21:53:41 +01:00
parent dfc49e7afe
commit 8014637ad1

View File

@ -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");
}
} }