Skip to content

Commit 08967ff

Browse files
committed
Add a test of codec derivation for Scala3 enums that extend java.lang.Enum
1 parent 52bb8ed commit 08967ff

File tree

1 file changed

+10
-1
lines changed

1 file changed

+10
-1
lines changed

jsoniter-scala-macros/shared/src/test/scala-3/com/github/plokhotnyuk/jsoniter_scala/macros/JsonCodecMakerNewEnumSpec.scala

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,9 @@ import scala.util.hashing.MurmurHash3
1313
enum TrafficLight:
1414
case Red, Yellow, Green
1515

16+
enum Java extends Enum[Java]: // extends Java enum
17+
case `JDK-11`, `JDK-17`, `JDK-21`
18+
1619
enum Color(val rgb: Int):
1720
case Red extends Color(0xFF0000)
1821
case Green extends Color(0x00FF00)
@@ -89,7 +92,13 @@ class JsonCodecMakerNewEnumSpec extends VerifyingSpec {
8992
case "Yellow" => "🟨"
9093
case "Green" => "🟩"
9194
}).withDiscriminatorFieldName(None)),
92-
List(TrafficLight.Red, TrafficLight.Yellow, TrafficLight.Green), """["🟥","🟨","🟩"]""".stripMargin)
95+
List(TrafficLight.Red, TrafficLight.Yellow, TrafficLight.Green), """["🟥","🟨","🟩"]""")
96+
}
97+
"serialize and deserialize Scala3 enums that extend java.lang.Enum" in {
98+
verifySerDeser(make[List[Java]],
99+
List(Java.`JDK-21`, Java.`JDK-17`, Java.`JDK-11`), """["JDK-21","JDK-17","JDK-11"]""")
100+
verifySerDeser(make[List[Java]](CodecMakerConfig.withJavaEnumValueNameMapper(JsonCodecMaker.`enforce-kebab-case`)),
101+
List(Java.`JDK-21`, Java.`JDK-17`, Java.`JDK-11`), """["jdk-21","jdk-17","jdk-11"]""")
93102
}
94103
"serialize and deserialize Scala3 enums with mixed types" in {
95104
verifySerDeser(make[List[MyEnum]],

0 commit comments

Comments
 (0)