summaryrefslogtreecommitdiff
path: root/src/test/scala/spray/json/JsonParserSpec.scala
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/scala/spray/json/JsonParserSpec.scala')
-rw-r--r--src/test/scala/spray/json/JsonParserSpec.scala11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/test/scala/spray/json/JsonParserSpec.scala b/src/test/scala/spray/json/JsonParserSpec.scala
index 9b849b3..1ca0ddc 100644
--- a/src/test/scala/spray/json/JsonParserSpec.scala
+++ b/src/test/scala/spray/json/JsonParserSpec.scala
@@ -118,8 +118,8 @@ class JsonParserSpec extends Specification {
}
"produce proper error messages" in {
- def errorMessage(input: String) =
- try JsonParser(input) catch { case e: JsonParser.ParsingException => e.getMessage }
+ def errorMessage(input: String, settings: JsonParserSettings = JsonParserSettings.default) =
+ try JsonParser(input, settings) catch { case e: JsonParser.ParsingException => e.getMessage }
errorMessage("""[null, 1.23 {"key":true } ]""") ===
"""Unexpected character '{' at input index 12 (line 1, position 13), expected ']':
@@ -144,6 +144,13 @@ class JsonParserSpec extends Specification {
|{}x
| ^
|""".stripMargin
+
+ "reject numbers which are too big / have too high precision" in {
+ val settings = JsonParserSettings.default.withMaxNumberCharacters(5)
+ errorMessage("123.4567890", settings) ===
+ "Number too long:The number starting with '123.4567890' had 11 characters which is more than the allowed limit " +
+ "maxNumberCharacters = 5. If this is legit input consider increasing the limit."
+ }
}
"fail gracefully for deeply nested structures" in {