blob: 3bc4870eda7dfb7fd0051b24ba4107043563a942 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
package cc.spray.json
import org.specs2.mutable._
class CompactPrinterSpec extends Specification {
"The CompactPrinter" should {
"print JsNull to 'null'" in {
CompactPrinter(JsNull) mustEqual "null"
}
"print JsTrue to 'true'" in {
CompactPrinter(JsTrue) mustEqual "true"
}
"print JsFalse to 'false'" in {
CompactPrinter(JsFalse) mustEqual "false"
}
"print JsNumber(0) to '0'" in {
CompactPrinter(JsNumber(0)) mustEqual "0"
}
"print JsNumber(1.23) to '1.23'" in {
CompactPrinter(JsNumber(1.23)) mustEqual "1.23"
}
"print JsNumber(1.23) to '1.23'" in {
CompactPrinter(JsNumber(1.23)) mustEqual "1.23"
}
"print JsNumber(-1E10) to '-1E10'" in {
CompactPrinter(JsNumber(-1E10)) mustEqual "-1.0E+10"
}
"print JsNumber(12.34e-10) to '12.34e-10'" in {
CompactPrinter(JsNumber(12.34e-10)) mustEqual "1.234E-9"
}
"print JsString(\"xyz\") to \"xyz\"" in {
CompactPrinter(JsString("xyz")) mustEqual "\"xyz\""
}
"properly escape special chars in JsString" in {
CompactPrinter(JsString("\"\\\b\f\n\r\t\u12AB")) mustEqual """"\"\\\b\f\n\r\t""" + "\\u12ab\""
}
"properly print a simple JsObject" in (
CompactPrinter(JsObject(JsField("key", 42), JsField("key2", "value")))
mustEqual """{"key":42,"key2":"value"}"""
)
"properly print a simple JsArray" in (
CompactPrinter(JsArray(JsNull, JsNumber(1.23), JsObject(JsField("key", true))))
mustEqual """[null,1.23,{"key":true}]"""
)
"properly print a JSON padding (JSONP) if requested" in {
CompactPrinter(JsTrue, Some("customCallback")) mustEqual("customCallback(true)")
}
}
}
|