@@ -200,6 +200,11 @@ TEST(JSON_parse_error, empty_object_missing_right_curly) {
200
200
EXPECT_PARSE_ERROR (input, 1 , 2 );
201
201
}
202
202
203
+ TEST (JSON_parse_error, object_missing_closing_curly) {
204
+ std::istringstream input{" {\" foo\" :{}" };
205
+ EXPECT_PARSE_ERROR (input, 1 , 10 );
206
+ }
207
+
203
208
TEST (JSON_parse_error, object_integer_key) {
204
209
std::istringstream input{" {1:false}" };
205
210
EXPECT_PARSE_ERROR (input, 1 , 2 );
@@ -654,13 +659,13 @@ TEST(JSON_parse_error, backspace_is_not_whitespace) {
654
659
EXPECT_PARSE_ERROR (input, 1 , 1 );
655
660
}
656
661
657
- TEST (JSON_parse_error, read_json_invalid ) {
662
+ TEST (JSON_parse_error, read_json_invalid_1 ) {
658
663
try {
659
664
sourcemeta::core::read_json (std::filesystem::path{TEST_DIRECTORY} /
660
- " stub_invalid .json" );
665
+ " stub_invalid_1 .json" );
661
666
} catch (const sourcemeta::core::JSONFileParseError &error) {
662
667
EXPECT_EQ (error.path (),
663
- std::filesystem::path{TEST_DIRECTORY} / " stub_invalid .json" );
668
+ std::filesystem::path{TEST_DIRECTORY} / " stub_invalid_1 .json" );
664
669
EXPECT_EQ (error.line (), 3 );
665
670
EXPECT_EQ (error.column (), 9 );
666
671
EXPECT_STREQ (error.what (), " Failed to parse the JSON document" );
@@ -669,6 +674,21 @@ TEST(JSON_parse_error, read_json_invalid) {
669
674
}
670
675
}
671
676
677
+ TEST (JSON_parse_error, read_json_invalid_2) {
678
+ try {
679
+ sourcemeta::core::read_json (std::filesystem::path{TEST_DIRECTORY} /
680
+ " stub_invalid_2.json" );
681
+ } catch (const sourcemeta::core::JSONFileParseError &error) {
682
+ EXPECT_EQ (error.path (),
683
+ std::filesystem::path{TEST_DIRECTORY} / " stub_invalid_2.json" );
684
+ EXPECT_EQ (error.line (), 2 );
685
+ EXPECT_EQ (error.column (), 1 );
686
+ EXPECT_STREQ (error.what (), " Failed to parse the JSON document" );
687
+ } catch (...) {
688
+ FAIL () << " The parse function was expected to throw a file parse error" ;
689
+ }
690
+ }
691
+
672
692
TEST (JSON_parse_error, read_json_invalid_bigint) {
673
693
try {
674
694
sourcemeta::core::read_json (std::filesystem::path{TEST_DIRECTORY} /
0 commit comments