Commit 2daab5a4 by Niels

fixed #306

parent 8ea0ee50
...@@ -512,7 +512,7 @@ To compile and run the tests, you need to execute ...@@ -512,7 +512,7 @@ To compile and run the tests, you need to execute
$ make check $ make check
=============================================================================== ===============================================================================
All tests passed (8905154 assertions in 35 test cases) All tests passed (8905158 assertions in 35 test cases)
``` ```
For more information, have a look at the file [.travis.yml](https://github.com/nlohmann/json/blob/master/.travis.yml). For more information, have a look at the file [.travis.yml](https://github.com/nlohmann/json/blob/master/.travis.yml).
...@@ -8592,7 +8592,7 @@ basic_json_parser_63: ...@@ -8592,7 +8592,7 @@ basic_json_parser_63:
const auto offset_cursor = m_cursor - m_start; const auto offset_cursor = m_cursor - m_start;
// no stream is used or end of file is reached // no stream is used or end of file is reached
if (m_stream == nullptr or not * m_stream) if (m_stream == nullptr or m_stream->eof())
{ {
// copy unprocessed characters to line buffer // copy unprocessed characters to line buffer
m_line_buffer.clear(); m_line_buffer.clear();
......
...@@ -7889,7 +7889,7 @@ class basic_json ...@@ -7889,7 +7889,7 @@ class basic_json
const auto offset_cursor = m_cursor - m_start; const auto offset_cursor = m_cursor - m_start;
// no stream is used or end of file is reached // no stream is used or end of file is reached
if (m_stream == nullptr or not * m_stream) if (m_stream == nullptr or m_stream->eof())
{ {
// copy unprocessed characters to line buffer // copy unprocessed characters to line buffer
m_line_buffer.clear(); m_line_buffer.clear();
......
{"AmbientOcclusion":false,"AnisotropicFiltering":16,"FOV":90,"FullScreen":true,"MipmapLevel":4,"RenderDistance":4,"VSync":true,"WindowResX":1920,"WindowResY":1080}
\ No newline at end of file
{"AmbientOcclusion":false,"AnisotropicFiltering":16,"FOV":90,"FullScreen":true,"MipmapLevel":4,"RenderDistance":4,"VSync":true,"WindowResX":1920,"WindowResY":1080}
\ No newline at end of file
...@@ -31,6 +31,8 @@ SOFTWARE. ...@@ -31,6 +31,8 @@ SOFTWARE.
#include "json.hpp" #include "json.hpp"
using nlohmann::json; using nlohmann::json;
#include <fstream>
TEST_CASE("regression tests") TEST_CASE("regression tests")
{ {
SECTION("issue #60 - Double quotation mark is not parsed correctly") SECTION("issue #60 - Double quotation mark is not parsed correctly")
...@@ -440,4 +442,19 @@ TEST_CASE("regression tests") ...@@ -440,4 +442,19 @@ TEST_CASE("regression tests")
CHECK(at_integer == val_integer); CHECK(at_integer == val_integer);
} }
SECTION("issue #306 - Parsing fails without space at end of file")
{
for (auto filename :
{
"test/data/regression/broken_file.json",
"test/data/regression/working_file.json"
})
{
CAPTURE(filename);
json j;
std::ifstream f(filename);
CHECK_NOTHROW(j << f);
}
}
} }
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