1
1
package com .fasterxml .jackson .module .scala .ser
2
2
3
+ import com .fasterxml .jackson .annotation .{JsonAutoDetect , PropertyAccessor }
3
4
import com .fasterxml .jackson .module .scala .DefaultScalaModule
4
5
5
6
case object CaseObjectExample {
@@ -9,12 +10,35 @@ case object CaseObjectExample {
9
10
10
11
class CaseObjectSerializerTest extends SerializerTest {
11
12
13
+ case object Foo {
14
+ val field : String = " bar"
15
+ }
16
+
12
17
def module = DefaultScalaModule
13
18
14
19
" An ObjectMapper with the DefaultScalaModule" should " serialize a case object as a bean" in {
15
20
serialize(CaseObjectExample ) should (
16
21
equal (""" {"field1":"test","field2":42}""" ) or
17
- equal (""" {"field2":42,"field1":"test"}""" )
22
+ equal (""" {"field2":42,"field1":"test"}""" )
18
23
)
19
24
}
25
+
26
+ it should " serialize a case object when visibility settings set" ignore {
27
+ val mapper = newBuilder
28
+ .visibility(PropertyAccessor .FIELD , JsonAutoDetect .Visibility .ANY )
29
+ .visibility(PropertyAccessor .GETTER , JsonAutoDetect .Visibility .NONE )
30
+ .build()
31
+ mapper.writeValueAsString(CaseObjectExample ) should (
32
+ equal(""" {"field1":"test","field2":42}""" ) or
33
+ equal(""" {"field2":42,"field1":"test"}""" )
34
+ )
35
+ }
36
+
37
+ it should " serialize an inner case object when visibility settings set" in {
38
+ val mapper = newBuilder
39
+ .visibility(PropertyAccessor .FIELD , JsonAutoDetect .Visibility .ANY )
40
+ .visibility(PropertyAccessor .GETTER , JsonAutoDetect .Visibility .NONE )
41
+ .build()
42
+ mapper.writeValueAsString(Foo ) shouldEqual """ {"field":"bar"}"""
43
+ }
20
44
}
0 commit comments