diff --git a/sjsonnet/src/sjsonnet/stdlib/ManifestModule.scala b/sjsonnet/src/sjsonnet/stdlib/ManifestModule.scala index 8bf0b191..364fd522 100644 --- a/sjsonnet/src/sjsonnet/stdlib/ManifestModule.scala +++ b/sjsonnet/src/sjsonnet/stdlib/ManifestModule.scala @@ -130,6 +130,8 @@ object ManifestModule extends AbstractFunctionModule { } catch { case e: ujson.ParseException => throw Error.fail("Invalid JSON: " + e.getMessage, pos)(ev) + case _: ujson.IncompleteParseException => + throw Error.fail("Invalid JSON: unexpected end of JSON input", pos)(ev) } } } diff --git a/sjsonnet/test/resources/new_test_suite/error.parsejson_empty_input.jsonnet b/sjsonnet/test/resources/new_test_suite/error.parsejson_empty_input.jsonnet new file mode 100644 index 00000000..26218f13 --- /dev/null +++ b/sjsonnet/test/resources/new_test_suite/error.parsejson_empty_input.jsonnet @@ -0,0 +1 @@ +std.parseJson("") diff --git a/sjsonnet/test/resources/new_test_suite/error.parsejson_empty_input.jsonnet.golden b/sjsonnet/test/resources/new_test_suite/error.parsejson_empty_input.jsonnet.golden new file mode 100644 index 00000000..bb934b2b --- /dev/null +++ b/sjsonnet/test/resources/new_test_suite/error.parsejson_empty_input.jsonnet.golden @@ -0,0 +1 @@ +sjsonnet.Error: [std.parseJson] Invalid JSON: unexpected end of JSON input diff --git a/sjsonnet/test/resources/new_test_suite/error.parsejson_truncated_input.jsonnet b/sjsonnet/test/resources/new_test_suite/error.parsejson_truncated_input.jsonnet new file mode 100644 index 00000000..92404731 --- /dev/null +++ b/sjsonnet/test/resources/new_test_suite/error.parsejson_truncated_input.jsonnet @@ -0,0 +1 @@ +std.parseJson('{"a":') diff --git a/sjsonnet/test/resources/new_test_suite/error.parsejson_truncated_input.jsonnet.golden b/sjsonnet/test/resources/new_test_suite/error.parsejson_truncated_input.jsonnet.golden new file mode 100644 index 00000000..bb934b2b --- /dev/null +++ b/sjsonnet/test/resources/new_test_suite/error.parsejson_truncated_input.jsonnet.golden @@ -0,0 +1 @@ +sjsonnet.Error: [std.parseJson] Invalid JSON: unexpected end of JSON input