Build Logs
pjfanning/play-json • 3.8.0-RC3:2025-12-04
Errors
4
Warnings
65
Total Lines
1012
1##################################
2Clonning https://github.com/pjfanning/play-json.git into /build/repo using revision 3.3.0
3##################################
4Note: switching to '94cd472997c8ac9400072dfffd993343552901a8'.
5
6You are in 'detached HEAD' state. You can look around, make experimental
7changes and commit them, and you can discard any commits you make in this
8state without impacting any branches by switching back to a branch.
9
10If you want to create a new branch to retain commits you create, you may
11do so (now or later) by using -c with the switch command. Example:
12
13 git switch -c <new-branch-name>
14
15Or undo this operation with:
16
17 git switch -
18
19Turn off this advice by setting config variable advice.detachedHead to false
20
21Would override fixed Scala version: 3.3.3
22----
23Preparing build for 3.8.0-RC3
24Scala binary version found: 3.8
25Implicitly using source version 3.8
26Scala binary version found: 3.8
27Implicitly using source version 3.8
28Would try to apply common scalacOption (best-effort, sbt/mill only):
29Append: ,REQUIRE:-source:3.8
30Remove: ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
31
32Try apply source patch:
33Path: project/Dependencies.scala
34Pattern: val Scala3 = "3.3.3"
35Replacement: val Scala3 = "3.8.0-RC3"
36Starting compilation server
37Compiling project (Scala 3.7.3, JVM (17))
38Compiled project (Scala 3.7.3, JVM (17))
39Successfully applied pattern 'val Scala3 = "3.3.3"' in project/Dependencies.scala
40----
41Starting build for 3.8.0-RC3
42Execute tests: true
43sbt project found:
44Sbt version 1.11.2 is not supported, minimal supported version is 1.11.5
45Enforcing usage of sbt in version 1.11.5
46No prepare script found for project pjfanning/play-json
47##################################
48Scala version: 3.8.0-RC3
49Targets: com.github.pjfanning%play-json
50Project projectConfig: {"projects":{"exclude":[],"overrides":{}},"java":{},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":[],"sourcePatches":[{"path":"project/Dependencies.scala","pattern":"val Scala3 = \"3.3.3\"","replaceWith":"val Scala3 = \"<SCALA_VERSION>\""}]}
51##################################
52Using extra scalacOptions: ,REQUIRE:-source:3.8
53Filtering out scalacOptions: ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
54[sbt_options] declare -a sbt_options=()
55[process_args] java_version = '17'
56[copyRt] java9_rt = '/root/.sbt/1.0/java9-rt-ext-eclipse_adoptium_17_0_8/rt.jar'
57# Executing command line:
58java
59-Dfile.encoding=UTF-8
60-Dcommunitybuild.scala=3.8.0-RC3
61-Dcommunitybuild.project.dependencies.add=
62-Xmx7G
63-Xms4G
64-Xss8M
65-Dsbt.script=/root/.sdkman/candidates/sbt/current/bin/sbt
66-Dscala.ext.dirs=/root/.sbt/1.0/java9-rt-ext-eclipse_adoptium_17_0_8
67-jar
68/root/.sdkman/candidates/sbt/1.11.5/bin/sbt-launch.jar
69"setCrossScalaVersions 3.8.0-RC3"
70"++3.8.0-RC3 -v"
71"mapScalacOptions ",REQUIRE:-source:3.8,-Wconf:msg=can be rewritten automatically under:s" ",-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e""
72"set every credentials := Nil"
73"excludeLibraryDependency com.github.ghik:zerowaste_{scalaVersion} com.olegpy:better-monadic-for_3 org.polyvariant:better-tostring_{scalaVersion} org.wartremover:wartremover_{scalaVersion}"
74"removeScalacOptionsStartingWith -P:wartremover"
75
76moduleMappings
77"runBuild 3.8.0-RC3 """{"projects":{"exclude":[],"overrides":{}},"java":{},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":[],"sourcePatches":[{"path":"project/Dependencies.scala","pattern":"val Scala3 = \"3.3.3\"","replaceWith":"val Scala3 = \"<SCALA_VERSION>\""}]}""" com.github.pjfanning%play-json"
78
79[info] welcome to sbt 1.11.5 (Eclipse Adoptium Java 17.0.8)
80[info] loading settings for project repo-build from akka.sbt, plugins.sbt...
81[info] loading project definition from /build/repo/project
82[info] compiling 6 Scala sources to /build/repo/project/target/scala-2.12/sbt-1.0/classes ...
83[info] Non-compiled module 'compiler-bridge_2.12' for Scala 2.12.20. Compiling...
84[info] Compilation completed in 8.811s.
85[info] done compiling
86[info] loading settings for project root from build.sbt...
87[info] set current project to root (in build file:/build/repo/)
88Execute setCrossScalaVersions: 3.8.0-RC3
89OpenCB::Changing crossVersion 3.8.0-RC3 -> 3.8.0-RC3 in benchmarks/crossScalaVersions
90OpenCB::Changing crossVersion 3.8.0-RC3 -> 3.8.0-RC3 in play-jsonJVM/crossScalaVersions
91OpenCB::Changing crossVersion 3.8.0-RC3 -> 3.8.0-RC3 in docs/crossScalaVersions
92OpenCB::Changing crossVersion 3.8.0-RC3 -> 3.8.0-RC3 in root/crossScalaVersions
93[info] set current project to root (in build file:/build/repo/)
94[info] Setting Scala version to 3.8.0-RC3 on 4 projects.
95[info] Switching Scala version on:
96[info] * root (2.12.20, 2.13.16, 3.8.0-RC3)
97[info] play-jsonJVM (2.12.20, 2.13.16, 3.8.0-RC3)
98[info] benchmarks (2.12.20, 2.13.16, 3.8.0-RC3)
99[info] docs (2.12.20, 2.13.16, 3.8.0-RC3)
100[info] Excluding projects:
101[info] Reapplying settings...
102[info] set current project to root (in build file:/build/repo/)
103Execute mapScalacOptions: ,REQUIRE:-source:3.8,-Wconf:msg=can be rewritten automatically under:s ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
104[info] Reapplying settings...
105[info] set current project to root (in build file:/build/repo/)
106[info] Defining Global / credentials, benchmarks / credentials and 2 others.
107[info] The new values will be used by Compile / scalafmtOnly, Global / pgpSelectPassphrase and 31 others.
108[info] Run `last` for details.
109[info] Reapplying settings...
110[info] set current project to root (in build file:/build/repo/)
111Execute excludeLibraryDependency: com.github.ghik:zerowaste_{scalaVersion} com.olegpy:better-monadic-for_3 org.polyvariant:better-tostring_{scalaVersion} org.wartremover:wartremover_{scalaVersion}
112[info] Reapplying settings...
113OpenCB::Failed to reapply settings in excludeLibraryDependency: Reference to undefined setting:
114
115 Global / allExcludeDependencies from Global / allExcludeDependencies (CommunityBuildPlugin.scala:331)
116 Did you mean allExcludeDependencies ?
117 , retry without global scopes
118[info] Reapplying settings...
119[info] set current project to root (in build file:/build/repo/)
120Execute removeScalacOptionsStartingWith: -P:wartremover
121[info] Reapplying settings...
122[info] set current project to root (in build file:/build/repo/)
123[success] Total time: 0 s, completed Dec 4, 2025, 1:46:48 PM
124Build config: {"projects":{"exclude":[],"overrides":{}},"java":{},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":[],"sourcePatches":[{"path":"project/Dependencies.scala","pattern":"val Scala3 = \"3.3.3\"","replaceWith":"val Scala3 = \"<SCALA_VERSION>\""}]}
125Parsed config: Success(ProjectBuildConfig(ProjectsConfig(List(),Map()),Full,List()))
126Starting build...
127Projects: Set(play-jsonJVM)
128Starting build for ProjectRef(file:/build/repo/,play-jsonJVM) (play-json)... [0/1]
129OpenCB::Exclude Scala3 specific scalacOption `REQUIRE:-source:3.8` in Scala 2.12.20 module Global
130OpenCB::Filter out '-deprecation', matches setting pattern '^-?-deprecation'
131OpenCB::Filter out '-feature', matches setting pattern '^-?-feature'
132Compile scalacOptions: -unchecked, -encoding, utf8, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
133[info] compiling 33 Scala sources to /build/repo/play-json/jvm/target/scala-3.8.0-RC3/classes ...
134[warn] -- [E197] Potential Issue Warning: /build/repo/play-json/shared/src/main/scala-3/play/api/libs/json/JsMacroImpl.scala:88:4
135[warn] 88 | new Reads[A] { self =>
136[warn] | ^
137[warn] | New anonymous class definition will be duplicated at each inline site
138[warn] |
139[warn] | longer explanation available when compiling with `-explain`
140[warn] -- [E197] Potential Issue Warning: /build/repo/play-json/shared/src/main/scala-3/play/api/libs/json/JsMacroImpl.scala:448:4
141[warn] 448 | new OWrites[A] { self =>
142[warn] | ^
143[warn] | New anonymous class definition will be duplicated at each inline site
144[warn] |
145[warn] | longer explanation available when compiling with `-explain`
146[warn] -- [E029] Pattern Match Exhaustivity Warning: /build/repo/play-json/shared/src/main/scala-3/play/api/libs/json/JsMacroImpl.scala:722:14
147[warn] 722 | case WritableField(param, i, optType @ OptionTypeParameter(pt)) =>
148[warn] | ^
149[warn] | match may not be exhaustive.
150[warn] |
151[warn] | It would fail on pattern case: WritableField(_, _, _)
152[warn] |
153[warn] | longer explanation available when compiling with `-explain`
154[warn] there were 17 deprecation warnings; re-run with -deprecation for details
155[warn] four warnings found
156[info] done compiling
157[info] compiling 31 Scala sources to /build/repo/play-json/jvm/target/scala-3.8.0-RC3/test-classes ...
158[warn] -- Warning: /build/repo/play-json/shared/src/test/scala/play/api/libs/json/MacroSpec.scala:107:62
159[warn] 107 | implicit val familyReads: Reads[Family] = Json.reads[Family]
160[warn] | ^^^^^^^^^^^^^^^^^^
161[warn] |Generic type play.api.libs.json.MacroSpec.Lorem[T] is not supported as member of sealed family play.api.libs.json.MacroSpec.Family.
162[warn] -- Warning: /build/repo/play-json/shared/src/test/scala/play/api/libs/json/MacroSpec.scala:206:62
163[warn] 206 | implicit val familyWrites: OWrites[Family] = Json.writes[Family]
164[warn] | ^^^^^^^^^^^^^^^^^^^
165[warn] |Generic type play.api.libs.json.MacroSpec.Lorem[T] is not supported as a member of sealed family play.api.libs.json.MacroSpec.Family
166[warn] -- Warning: /build/repo/play-json/shared/src/test/scala/play/api/libs/json/MacroSpec.scala:383:66
167[warn] 383 | implicit val familyFormat: OFormat[Family] = Json.format[Family]
168[warn] | ^^^^^^^^^^^^^^^^^^^
169[warn] |Generic type play.api.libs.json.MacroSpec.Lorem[T] is not supported as member of sealed family play.api.libs.json.MacroSpec.Family.
170[warn] -- Warning: /build/repo/play-json/shared/src/test/scala/play/api/libs/json/MacroSpec.scala:415:66
171[warn] 415 | implicit val familyFormat: OFormat[Family] = Json.format[Family]
172[warn] | ^^^^^^^^^^^^^^^^^^^
173[warn] |Generic type play.api.libs.json.MacroSpec.Lorem[T] is not supported as member of sealed family play.api.libs.json.MacroSpec.Family.
174[warn] -- Warning: /build/repo/play-json/shared/src/test/scala/play/api/libs/json/MacroSpec.scala:454:65
175[warn] 454 | implicit val familyFormat: OFormat[Family] = Json.format[Family]
176[warn] | ^^^^^^^^^^^^^^^^^^^
177[warn] |Generic type play.api.libs.json.MacroSpec.Lorem[T] is not supported as member of sealed family play.api.libs.json.MacroSpec.Family.
178[warn] -- Warning: /build/repo/play-json/shared/src/test/scala/play/api/libs/json/MacroSpec.scala:595:60
179[warn] 595 | implicit val familyWrites: OWrites[Family] = Json.writes[Family] // Failing:
180[warn] | ^^^^^^^^^^^^^^^^^^^
181[warn] |Generic type play.api.libs.json.MacroSpec.Lorem[T] is not supported as a member of sealed family play.api.libs.json.MacroSpec.Family
182[warn] -- Warning: /build/repo/play-json/shared/src/test/scala/play/api/libs/json/MacroSpec.scala:607:76
183[warn] 607 | implicit val idReads: Reads[Id] = implicitly[Reads[String]].asInstanceOf[Reads[Id]]
184[warn] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
185[warn] | Infinite loop in function body
186[warn] | implicitly[play.api.libs.json.Reads[String]](
187[warn] | play.api.libs.json.MacroSpec.Foo.idReads).asInstanceOf[
188[warn] | play.api.libs.json.Reads[play.api.libs.json.MacroSpec.Foo.Id]]
189[warn] -- [E092] Pattern Match Unchecked Warning: /build/repo/docs/manual/working/scalaGuide/main/json/code/ScalaJsonCombinatorsSpec.scala:443:46
190[warn] 443 | userResult.must(beLike { case JsSuccess(u: User, _) => u.name === "Fiver" })
191[warn] | ^
192[warn] |the type test for User cannot be checked at runtime because it's a local class
193[warn] |
194[warn] | longer explanation available when compiling with `-explain`
195[warn] there were 6 deprecation warnings; re-run with -deprecation for details
196[warn] 9 warnings found
197[warn] there were 6 deprecation warnings; re-run with -deprecation for details
198[warn] 10 warnings found
199[info] done compiling
200[warn] javaOptions will be ignored, fork is set to false
201[info] JsonRichSpec:
202[info] JSON
203[info] - should create json with rich syntax (38 milliseconds)
204[info] JsonMemoryFootprintSpec:
205[info] Json.parse
206# WARNING: Unable to get Instrumentation. Dynamic Attach failed. You may add this JAR as -javaagent manually, or supply -Djdk.attach.allowAttachSelf
207# WARNING: Unable to attach Serviceability Agent. Unable to attach even with module exceptions: [org.openjdk.jol.vm.sa.SASupportException: Sense failed., org.openjdk.jol.vm.sa.SASupportException: Sense failed., org.openjdk.jol.vm.sa.SASupportException: Sense failed.]
208[info] - obj0 (733 milliseconds)
209[info] - obj1 (26 milliseconds)
210[info] - obj4 (23 milliseconds)
211[info] - arr0 (10 milliseconds)
212[info] - arr1 (5 milliseconds)
213[info] - arr4 (7 milliseconds)
214[info] JsonValidSpec
215[info] - num0 (9 milliseconds)
216[info] - num0.1 (4 milliseconds)
217[info] - num0.5 (3 milliseconds)
218[info] - numLongMax (3 milliseconds)
219[info] - numDoubleMax (4 milliseconds)
220[info] - true (1 millisecond)
221[info] - false (1 millisecond)
222[info] - null (1 millisecond)
223[info] JsObject
224[info] - obj0 ++ obj0 (3 milliseconds)
225[info] - obj0 ++ obj1 (5 milliseconds)
226[info] - obj1 ++ obj0 (7 milliseconds)
227[info] - obj1.value (4 milliseconds)
228[info] malicious
229[info] JSON reads should
230[info] - obj0 (99 milliseconds)
231[info] + validate Dates (47 ms)
232[info] + verifyingIf reads (33 ms)
233[info] + validate JsObject to Map without loosing precision (28 ms)
234[info] Total for specification JsonValidSpec
235[info] Finished in 289 ms
236[info] 3 examples, 0 failure, 0 error
237[info] WritesSpec
238[info] - obj1 (506 milliseconds)
239[info] Local date/time should
240[info] + be written as number (2 ms)
241[info] + be written with default implicit as '2011-12-03T10:15:30' (2 ms)
242[info] + be written with custom pattern as '03/12/2011, 10:15:30' (4 ms)
243[info] Offset date/time should
244[info] + be written with default implicit as '2011-12-03T10:15:30-01:30' (7 ms)
245[info] + be written with custom pattern as '03/12/2011, 10:15:30 (-01:30)' (7 ms)
246[info] Zoned date/time should
247[info] + be written as number (6 ms)
248[info] + be written with default implicit as '2011-12-03T10:15:30+01:00[Europe/Paris]' (8 ms)
249[info] - nums (335 milliseconds)
250[info] + be written with default implicit as '2011-12-03T10:15:30+06:30' (5 ms)
251[info] + be written with custom pattern as '03/12/2011, 10:15:30' (1 ms)
252[info] JsObjectSerializationSpec
253[info] Local date should
254[info] + be written as number (1 ms)
255[info] - arr0 (111 milliseconds)
256[info] JsObject should
257[info] + be written with default implicit as '2011-12-03' (2 ms)
258[info] + be written with custom pattern as '03/12/2011' (5 ms)
259[info] ReadsSharedSpec:
260[info] Reads
261[info] should not repath the second result on flatMap
262[info] - when in case of success (5 milliseconds)
263[info] - when in case of failure (9 milliseconds)
264[info] - should widen (11 milliseconds)
265[info] - should be failed (0 milliseconds)
266[info] Map
267[info] - should be successfully read with string keys (3 milliseconds)
268[info] should be read with character keys which
269[info] - are characters (5 milliseconds)
270[info] - are not characters (1 millisecond)
271[info] should be read with boolean keys which
272[info] - are booleans (0 milliseconds)
273[info] - are not booleans (0 milliseconds)
274[info] - should be read with byte keys (0 milliseconds)
275[info] - should be read with short keys (6 milliseconds)
276[info] - should be read with int keys (2 milliseconds)
277[info] - should be read with long keys (0 milliseconds)
278[info] - should be read with float keys (0 milliseconds)
279[info] - should be read with double keys (3 milliseconds)
280[info] + serialize/deserialize correctly (101 ms)
281[info] - should be read with Reads'able keys (1 millisecond)
282[info] Compose
283[info] - should preprocess a JSON object using a Reads (26 milliseconds)
284[info] - should preprocess a JSON object using a function (8 milliseconds)
285[info] Reads result
286[info] - should be flat-mapped (13 milliseconds)
287[info] Functional Reads
288[info] - should be successful for simple case class Owner (11 milliseconds)
289[info] BigDecimal Reads
290[info] - should be successful for JsString("123") (10 milliseconds)
291[info] - should be successful for JsString("23") (0 milliseconds)
292[info] - should be successful for JsString("1.23") (0 milliseconds)
293[info] - should be successful for JsString("1E+1") (1 millisecond)
294[info] - should fail for '1..0' (0 milliseconds)
295[info] - should fail for 'A' (0 milliseconds)
296[info] Total for specification JsObjectSerializationSpec
297[info] BigInteger Reads
298[info] - should be successful for JsString("123") (5 milliseconds)
299[info] - should be successful for JsNumber(123) (0 milliseconds)
300[info] - should be successful for JsString("23") (1 millisecond)
301[info] - should be successful for JsNumber(23) (0 milliseconds)
302[info] - should fails for '1.0' (1 millisecond)
303[info] - should fails for 'A' (0 milliseconds)
304[info] EnumFormat
305[info] - should deserialize correctly enum with custom names (31 milliseconds)
306[info] URI
307[info] - should be read from JsString (1 millisecond)
308[info] - should not be read from invalid JsString (17 milliseconds)
309[info] Tuple
310[info] should be read with custom element names
311[info] - when tuple2 (5 milliseconds)
312[info] - when tuple3 (4 milliseconds)
313[info] Finished in 130 ms
314[info] 1 example, 0 failure, 0 error
315[info] - when tuple4 (2 milliseconds)
316[info] Identity reads
317[info] - should be resolved for ["foo",2] as JsArray (4 milliseconds)
318[info] - should be resolved for ["foo",2] as JsValue (0 milliseconds)
319[info] Local time should
320[info] - should be resolved for false as JsBoolean (0 milliseconds)
321[info] - should be resolved for true as JsValue (0 milliseconds)
322[info] - should be resolved for null as JsNull$ (1 millisecond)
323[info] - should be resolved for null as JsValue (0 milliseconds)
324[info] - should be resolved for 1 as JsNumber (0 milliseconds)
325[info] - should be resolved for 1 as JsValue (0 milliseconds)
326[info] - should be resolved for {"foo":1} as JsObject (0 milliseconds)
327[info] - should be resolved for {"foo":1} as JsValue (0 milliseconds)
328[info] - should be resolved for "foo" as JsString (0 milliseconds)
329[info] - should be resolved for "foo" as JsValue (0 milliseconds)
330[info] WritesSharedSpec:
331[info] Functional Writes
332[info] + be written as number (3 ms)
333[info] - should be successful for the simple case class Location (0 milliseconds)
334[info] - should be contramap'ed (2 milliseconds)
335[info] should be narrow'ed
336[info] - when simple JSON value (1 millisecond)
337[info] - when JSON object (5 milliseconds)
338[info] Traversable Writes
339[info] - should write Seqs (1 millisecond)
340[info] - should write SortedSets (23 milliseconds)
341[info] - should write mutable SortedSets (10 milliseconds)
342[info] Map Writes
343[info] - should write lazy maps (1 millisecond)
344[info] - should write a map nested in a seq (1 millisecond)
345[info] Iterable writes
346[info] - should write maps (2 milliseconds)
347[info] Big integer Writes
348[info] - should write as JsNumber (1 millisecond)
349[info] EnumFormat
350[info] - should serialize correctly enum with custom names (8 milliseconds)
351[info] URI
352[info] - should be written as string (0 milliseconds)
353[info] Tuples
354[info] should be written with custom field names
355[info] - when tuple2 (0 milliseconds)
356[info] - when tuple3 (0 milliseconds)
357[info] - when tuple4 (4 milliseconds)
358[info] Identity writes
359[info] - should be resolved as Writes[JsArray] for ["foo",2] (0 milliseconds)
360[info] - should be resolved as Writes[JsValue] for ["foo",2] (7 milliseconds)
361[info] - should be resolved as Writes[JsBoolean] for true (0 milliseconds)
362[info] - should be resolved as Writes[JsValue] for false (0 milliseconds)
363[info] - should be resolved as Writes[JsNull$] for null (1 millisecond)
364[info] - should be resolved as Writes[JsValue] for null (1 millisecond)
365[info] - should be resolved as Writes[JsNumber] for 1 (0 milliseconds)
366[info] - should be resolved as Writes[JsValue] for 1 (1 millisecond)
367[info] - should be resolved as Writes[JsObject] for {"foo":1} (0 milliseconds)
368[info] - should be resolved as Writes[JsValue] for {"foo":1} (1 millisecond)
369[info] - should be resolved as OWrites[JsObject] for {"foo":1} (0 milliseconds)
370[info] + be written with default implicit as '10:15:30' (7 ms)
371[info] - should be resolved as Writes[JsString] for "foo" (1 millisecond)
372[info] - should be resolved as Writes[JsValue] for "foo" (0 milliseconds)
373[info] MacroScala3Spec:
374[info] Case class
375[info] should not be handled
376[info] - when no custom ProductOf (0 milliseconds)
377[info] should be handled
378[info] - when is declared with more than 22 fields (18 milliseconds)
379[info] JsonSharedSpec:
380[info] JSON
381[info] - should equals JsObject independently of field order (220 milliseconds)
382[info] - should support basic array operations (14 milliseconds)
383[info] + be written with custom pattern as '10.15.30' (4 ms)
384[info] - should serialize and deserialize maps properly (17 milliseconds)
385[info] - should serialize and deserialize (17 milliseconds)
386[info] - should convert to a json object (12 milliseconds)
387[info] - should create object using builder (1 millisecond)
388[info] - should convert to a byte array containing the UTF-8 representation (12 milliseconds)
389[info] Complete JSON should create full object
390[info] - when serialize long integers correctly (5 milliseconds)
391[info] - when serialize short integers correctly (7 milliseconds)
392[info] - when serialize bytes correctly (10 milliseconds)
393[info] - when serialize and deserialize BigDecimals (3 milliseconds)
394[info] - when write BigDecimals with large exponents in scientific notation (2 milliseconds)
395[info] - when write negative BigDecimals with large exponents in scientific notation (2 milliseconds)
396[info] - when write BigDecimals with large negative exponents in scientific notation (8 milliseconds)
397[info] - when write BigDecimals with small exponents as a plain string (4 milliseconds)
398[info] - when write BigDecimals with small negative exponents as a plain string (8 milliseconds)
399[info] - when write BigDecimals with integer base (1 millisecond)
400[info] - when serialize and deserialize Lists (7 milliseconds)
401[info] - when Map[String,String] should be turned into JsValue (9 milliseconds)
402[info] - when can parse recursive object (15 milliseconds)
403[info] - when can parse null values in Object (3 milliseconds)
404[info] - when can parse null values in Array (4 milliseconds)
405[info] - when null root object should be parsed as JsNull (1 millisecond)
406[info] - when JSON pretty print (15 milliseconds)
407[info] - when asciiStringify should escape non-ascii characters (9 milliseconds)
408[info] - when asciiStringify should escape ascii characters properly (6 milliseconds)
409[info] JSON Writes
410[info] - should write list/seq/set/map (14 milliseconds)
411[info] - should write in 2nd level (28 milliseconds)
412[info] - should preserve field ordering (1 millisecond)
413[info] MacroSpec:
414[info] Reads
415[info] - should be generated for simple case class (21 milliseconds)
416[info] Instant should
417[info] - should as Format for a simple generic case class (17 milliseconds)
418[info] - should refuse value other than JsObject when properties are optional (12 milliseconds)
419[info] - should ignore Option alias (22 milliseconds)
420[info] should be generated for a sealed family
421[info] - when using the _value syntax (3 milliseconds)
422[info] - when using the compact syntax (5 milliseconds)
423[info] Writes
424[info] - should be generated for simple case class (1 millisecond)
425[info] - should as Format for a generic case class (2 milliseconds)
426[info] - should ignore Option alias (19 milliseconds)
427[info] - should be generated for a sealed family (20 milliseconds)
428[info] Macro
429[info] should handle case class with self type as nested type parameter
430[info] - when to generate Reads (4 milliseconds)
431[info] - when to generate Writes (4 milliseconds)
432[info] - when to generate Format (6 milliseconds)
433[info] should handle generic case class with multiple generic parameters
434[info] - when to generate Reads (2 milliseconds)
435[info] - when to generate Writes (7 milliseconds)
436[info] - when to generate Format (14 milliseconds)
437[info] should handle generic case class with multiple generic parameters and self references
438[info] - when to generate Reads (3 milliseconds)
439[info] - when to generate Writes (6 milliseconds)
440[info] - when to generate Format (17 milliseconds)
441[info] - should handle sealed family (25 milliseconds)
442[info] - should handle sealed family with custom discriminator name (10 milliseconds)
443[info] - should handle sealed family with typeNaming (16 milliseconds)
444[info] - should handle case objects as empty JsObject (10 milliseconds)
445[info] - should handle refinement type as case class field (17 milliseconds)
446[info] - should handle nesting class (14 milliseconds)
447[info] - should handle case class with generic type and default field (16 milliseconds)
448[info] - should handle case class with generic type and overridden default field (2 milliseconds)
449[info] - should field ordering (15 milliseconds)
450[info] JsonValidSharedSpec:
451[info] JSON reads
452[info] - should validate simple types (5 milliseconds)
453[info] - should invalidate wrong simple type conversion (1 millisecond)
454[info] - should validate simple numbered type conversion (0 milliseconds)
455[info] - should return JsResult with correct values for isSuccess and isError (0 milliseconds)
456[info] - should validate JsObject to Map (0 milliseconds)
457[info] - should invalidate JsObject to Map with wrong type conversion (3 milliseconds)
458[info] - should validate JsObject to Map with custom key type (4 milliseconds)
459[info] - should validate JsArray to List (0 milliseconds)
460[info] - should invalidate JsArray to List with wrong type conversion (4 milliseconds)
461[info] - should validate JsArray of stream to List (1 millisecond)
462[info] - should invalidate JsArray of stream to List with wrong type conversion (0 milliseconds)
463[info] should validate UUID
464[info] - when there is a correct UUID (4 milliseconds)
465[info] - when reject malformed UUIDs (0 milliseconds)
466[info] - when reject well-formed but incorrect UUIDS in strict mode (0 milliseconds)
467[info] - should validate Enums (11 milliseconds)
468[info] - should read fields with null values (1 millisecond)
469[info] - should validate options using validateOpt (1 millisecond)
470[info] JSON JsResult
471[info] - should recover from error (10 milliseconds)
472[info] JSON case class/tuple validation
473[info] - should validate simple reads (0 milliseconds)
474[info] should validate reads on the root path
475[info] - when reads (1 millisecond)
476[info] - when readNullables (0 milliseconds)
477[info] - when readNullables for missing root path fragment (4 milliseconds)
478[info] - when readNullables for badly formed root path (1 millisecond)
479[info] - when readNullables for null root path (0 milliseconds)
480[info] - should validate simple constraints (10 milliseconds)
481[info] - should test JsPath.create (1 millisecond)
482[info] - should validate simple case class reads/writes (14 milliseconds)
483[info] - should validate simple case class format with custom apply/unapply (1 millisecond)
484[info] - should validate simple case class format (7 milliseconds)
485[info] - should JsObject tupled reads (1 millisecond)
486[info] - should JsObject tupled reads new syntax (0 milliseconds)
487[info] - should JsObject tupled writes (0 milliseconds)
488[info] - should JsObject tupled format (1 millisecond)
489[info] - should Format simpler syntax without constraints (0 milliseconds)
490[info] - should Format simpler syntax with constraints (0 milliseconds)
491[info] - should Compose reads (0 milliseconds)
492[info] - should Apply min/max correctly on ordered types (4 milliseconds)
493[info] JSON generators
494[info] - should Build JSON from JSON Reads (6 milliseconds)
495[info] JSON Reads
496[info] - should report correct path for validation errors (7 milliseconds)
497[info] - should mix reads constraints (5 milliseconds)
498[info] - should recursive reads (5 milliseconds)
499[info] - should recursive writes (2 milliseconds)
500[info] - should recursive formats (5 milliseconds)
501[info] - should lots of fields to read (13 milliseconds)
502[info] - should single field case class (5 milliseconds)
503[info] - should reduce Reads[JsObject] (0 milliseconds)
504[info] - should reduce Reads[JsArray] (5 milliseconds)
505[info] - should reduce Reads[JsArray] no type (0 milliseconds)
506[info] - should serialize JsError to json (11 milliseconds)
507[info] - should prune json (1 millisecond)
508[info] JSON Writes
509[info] - should manage option (6 milliseconds)
510[info] - should join (1 millisecond)
511[info] JSON Format
512[info] - should manage option (2 milliseconds)
513[info] JsResult
514[info] - should be usable in for-comprehensions (7 milliseconds)
515[info] should be a functor
516[info] - when JsSuccess (1 millisecond)
517[info] - when JsError (0 milliseconds)
518[info] - should have filtering methods that allow users to customize the error (5 milliseconds)
519[info] JsPathSpec:
520[info] JsPath
521[info] - should retrieve simple path (0 milliseconds)
522[info] - should retrieve path with array index (1 millisecond)
523[info] - should retrieve 1-level recursive path (5 milliseconds)
524[info] - should retrieve 2-level recursive path (1 millisecond)
525[info] - should retrieve 2-level middle recursive path (0 milliseconds)
526[info] - should retrieve simple indexed path (0 milliseconds)
527[info] - should retrieve 2-level recursive indexed path #1 (0 milliseconds)
528[info] - should retrieve 2-level recursive indexed path #2 (0 milliseconds)
529[info] - should retrieve recursive in jsobject and jsarray #1 (0 milliseconds)
530[info] - should retrieve recursive in jsobject and jsarray #2 (0 milliseconds)
531[info] - should retrieve with symbol keys (1 millisecond)
532[info] - should prune field from 1-level JsObject (4 milliseconds)
533[info] - should get JsPath till last node (0 milliseconds)
534[info] - should read deep nullable nested fields (1 millisecond)
535[info] JsObjectSpec:
536[info] JsObject.deepMerge
537[info] - should not fail when the objects are empty (1 millisecond)
538[info] - should merge correctly when the source object is empty (0 milliseconds)
539[info] + be written as number (4 ms)
540[info] - should merge correctly when the incoming object is empty (2 milliseconds)
541[info] JsObject.deepMerge should keep existing attributes where there is no collision and
542[info] - should overwrite existing attributes on collision when value is not a JsArray or JsObject (6 milliseconds)
543[info] - should recursively merge where elements are both of type JsArray or both of type JsObject (0 milliseconds)
544[info] + be written with default implicit as '2011-12-03T10:15:30Z' (7 ms)
545[info] - should properly merge a deep structure (1 millisecond)
546[info] JsObject.++
547[info] - should preserve order of fields (4 milliseconds)
548[info] JsObject.+
549[info] - should preserve order of fields (1 millisecond)
550[info] JsObject.-
551[info] + be written with custom pattern as '03/12/2011, 10:15:30' (9 ms)
552[info] - should preserve order of fields (0 milliseconds)
553[info] JsObject
554[info] - should accept null fields when calling Json.obj (1 millisecond)
555[info] - should accept null fields when calling Json.arr (0 milliseconds)
556[info] ZoneId should
557[info] - arr1 (363 milliseconds)
558[info] + be written as time zone string America/Los_Angeles (1 ms)
559[info] TupleSpec:
560[info] Reading/Write tuples
561[info] - should work for small tuples (5 milliseconds)
562[info] - should work for large tuples (6 milliseconds)
563[info] - should work for nested tuples (1 millisecond)
564[info] FormatSharedSpec:
565[info] Format
566[info] - should be bimap'ed (1 millisecond)
567[info] OFormat
568[info] - should be bimap'ed (12 milliseconds)
569[info] + be written as time zone string UTC (1 ms)
570[info] ScalaJsonAutomatedSpec
571[info] + be written as time zone string CET (1 ms)
572[info] QuotesSpec:
573[info] Product
574[info] should be inspected for elements
575[info] - when Foo (4 milliseconds)
576[info] + be written as time zone string UTC-8 (1 ms)
577[info] Scala JSON automated should
578[info] for case class
579[info] OWrites should
580[info] + produce a Reads (4 ms)
581[info] + be transformed with JsObject function (2 ms)
582[info] - when generic Bar *** FAILED *** (29 milliseconds)
583[info] List("(val name,List(),TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class scala)),object Predef),type String))", "(val opt,List(),AppliedType(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Option),List(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int))))", "(val scores,List(),AppliedType(TypeRef(TermRef(TermRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),object collection),object immutable),trait Seq),List(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Double))))") did not equal List("(val name,List(),TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class scala)),object Predef),type String))", "(val opt,List(),AppliedType(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Option),List(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int))))", "(val scores,List(),AppliedType(TypeRef(ThisType(TypeRef(NoPrefix,module class immutable)),trait Seq),List(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Double))))") (QuotesSpec.scala:27)
584[info] Analysis:
585[info] List(2: "(val scores,List(),AppliedType(TypeRef(TermRef(TermRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),object collection),object immutable),trait Seq),List(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Double))))" -> "(val scores,List(),AppliedType(TypeRef(ThisType(TypeRef(NoPrefix,module class immutable)),trait Seq),List(TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Double))))")
586[info] + do the same thing as a manual Reads (11 ms)
587[info] when of non-case class
588[info] - when there is no ProductOf (0 milliseconds)
589[info] - when it's defined a ill-typed ProductOf (2 milliseconds)
590[info] when it's defined a well-typed ProductOf
591[info] - when by import *** FAILED *** (1 millisecond)
592[info] List() did not equal List("(val name,List(),TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class scala)),object Predef),type String))", "(val age,List(),TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int))") (QuotesSpec.scala:57)
593[info] Analysis:
594[info] Nil$(0: -> "(val name,List(),TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class scala)),object Predef),type String))", 1: -> "(val age,List(),TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int))")
595[info] - when by local val *** FAILED *** (2 milliseconds)
596[info] List() did not equal List("(val name,List(),TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class scala)),object Predef),type String))", "(val age,List(),TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int))") (QuotesSpec.scala:63)
597[info] Analysis:
598[info] Nil$(0: -> "(val name,List(),TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class scala)),object Predef),type String))", 1: -> "(val age,List(),TypeRef(TermRef(ThisType(TypeRef(NoPrefix,module class <root>)),object scala),class Int))")
599[info] + produce a Writes (6 ms)
600[info] should be created
601[info] - when from Foo (1 millisecond)
602[info] - when from generic Bar (2 milliseconds)
603[info] - when from BigFat (0 milliseconds)
604[info] when from non-case class
605[info] - when fail when there is no Conversion[T, _ <: Product] (1 millisecond)
606[info] + be transformed with a value transformation (13 ms)
607[info] - when fail when Conversion[T, _ <: Product] defined without ProductOf (1 millisecond)
608[info] - when be successful when conversion is provided (0 milliseconds)
609[info] should be transformed
610[info] - when Foo (0 milliseconds)
611[info] - when generic Bar (3 milliseconds)
612[info] - when BigFat (1 millisecond)
613[info] Direct known subtypes
614[info] - should be resolved for sealed trait (0 milliseconds)
615[info] + be transformed with an object transformation (12 ms)
616[info] + produce a Format (32 ms)
617[info] + produce a Writes with SnakeCase (10 ms)
618[info] + be transformed with another OWrites (5 ms)
619[info] JsResultSpec:
620[info] JSON Result
621[info] + produce a Format with SnakeCase (9 ms)
622[info] Locale should
623[info] - should be functor (8 milliseconds)
624[info] - should be converted to Success (1 millisecond)
625[info] + be fr-FR and be written as JSON object (3 ms)
626[info] - should be converted to basic Failure (5 milliseconds)
627[info] - should be created from a Success (0 milliseconds)
628[info] + produce a Reads with SnakeCase (6 ms)
629[info] - should be created from a Failure (1 millisecond)
630[info] JsSuccess
631[info] - should be recovered (0 milliseconds)
632[info] JsError
633[info] - should be recovered (0 milliseconds)
634[info] JsResult
635[info] - should return true for JsSuccess(x)#contains(x) (0 milliseconds)
636[info] - should return false for JsSuccess(x)#contains(y) (0 milliseconds)
637[info] - should return false for JsError(_)#contains(_) (1 millisecond)
638[info] - should return true for JsSuccess(x)#exists(p) if p(x) == true (1 millisecond)
639[info] - should return false for JsSuccess(x)#exists(p) if p(x) == false (0 milliseconds)
640[info] - should return false for JsError(_).exists(_) (5 milliseconds)
641[info] JsSuccess#forall
642[info] - should return true for JsSuccess(x * 2).forall(_ % 2 == 0) (1 millisecond)
643[info] + be fr-CA and be written as JSON object (7 ms)
644[info] - should return false for JsSuccess(x, {x < 0}).forall(_ >) (3 milliseconds)
645[info] JsError#forall
646[info] - should return true (0 milliseconds)
647[info] + produce a Format with Custom Naming (8 ms)
648[info] + be fr and be written as JSON object (1 ms)
649[info] + automatically serialize a case class to JSON (8 ms)
650[info] + automatically convert JSON to a case class (7 ms)
651[info] + be fr-Latn-FR-polyton-a-foo-b-bar-u-bar-foo-ka-ipsum-kb-value and be written as JSON object (8 ms)
652[info] JsonTransSpec:
653[info] JSON transformers
654[info] - should pick a value at a path (1 millisecond)
655[info] - should pick a branch (0 milliseconds)
656[info] - should copy input JSON and update a branch (merge the updated branch with input JSON) (0 milliseconds)
657[info] - should pick a branch and update its content (1 millisecond)
658[info] - should put a value in a new branch (don't keep passed json) (0 milliseconds)
659[info] - should create a new path by copying a branch (1 millisecond)
660[info] + be fr-FR and be written as JSON string (tag) (10 ms)
661[info] - should copy full json and prune a branch (1 millisecond)
662[info] - should pick a single branch and prune a sub-branch (1 millisecond)
663[info] + automatically convert JSON for a sealed family (33 ms)
664[info] - should copy the full json and update a 2nd-level path and then prune a subbranch (1 millisecond)
665[info] - should deepMerge when reducing JsObjects (2 milliseconds)
666[info] should report the correct path in the JsError
667[info] - when the field to modify doesn't exist (1 millisecond)
668[info] - when the reader is the wrong type (7 milliseconds)
669[info] + automatically convert custom JSON for a sealed family (33 ms)
670[info] + be fr-CA and be written as JSON string (tag) (7 ms)
671[info] + produce a json object with nulls (5 ms)
672[info] Total for specification ScalaJsonAutomatedSpec
673[info] Finished in 327 ms
674[info] 13 examples, 0 failure, 0 error
675[info] + be fr and be written as JSON string (tag) (1 ms)
676[info] + be fr-Latn-FR-polyton-a-foo-b-bar-u-bar-foo-ka-ipsum-kb-value and be written as JSON string (tag) (1 ms)
677[info] Java Duration should
678[info] + be written as milliseconds (2 ms)
679[info] + be written as ISO string (2 ms)
680[info] Java Period should
681[info] ScalaJsonCombinatorsSpec
682[info] + be written as ISO string 'P2D' (1 ms)
683[info] + be written as ISO string 'P19D' (0 ms)
684[info] + be written as ISO string 'P4M19D' (0 ms)
685[info] Scala JSON should
686[info] + allow using JsPath (79 ms)
687[info] Map should
688[info] + allow creating simple Reads (10 ms)
689[info] + be successfully written with custom (locale) keys (1 ms)
690[info] Total for specification WritesSpec
691[info] Finished in 1 second, 434 ms
692[info] 40 examples, 0 failure, 0 error
693[info] + allow creating complex Reads (22 ms)
694[info] + allow creating complex Reads in a single statement (7 ms)
695[info] + allow mapping Reads using usual combinators (20 ms)
696[info] + allow filtering Reads results with combinators (15 ms)
697[info] + allow pre-processing Reads with combinators (3 ms)
698[info] JsonExtensionSpec:
699[info] JsonExtension
700Name: Watership Down
701[info] - should create a reads[User] (6 milliseconds)
702[info] - should create a writes[User] (3 milliseconds)
703[info] - should create a format[User] (2 milliseconds)
704[info] + allow mapping Reads with convenience combinators (9 ms)
705[info] - should create a reads[Dog] (6 milliseconds)
706[info] - should create a writes[Dog] (3 milliseconds)
707[info] + allow validation with Reads (3 ms)
708[info] + allow creating Reads for model (10 ms)
709[info] - should create a format[Dog] (8 milliseconds)
710[info] + allow creating Writes for model (10 ms)
711[info] - should create a reads[RecUser] (11 milliseconds)
712[info] - should create a writes[RecUser] (5 milliseconds)
713[info] + allow transforming values with Writes (11 ms)
714[info] + allow creating Reads/Writes for recursive types (14 ms)
715[info] - should create a format[RecUser] (14 milliseconds)
716[info] - should create a reads[User1] (3 milliseconds)
717[info] - should create a writes[User1] (1 millisecond)
718[info] - should create a format[User1] (3 milliseconds)
719[info] + allow creating Format from components (10 ms)
720[info] + allow creating Format from combinators (13 ms)
721[info] - should create a format[WrappedGenericInt] (10 milliseconds)
722[info] + allow functional combinators on Format (8 ms)
723[info] - should create a format[WrappedGenericIntString] (7 milliseconds)
724[info] should VarArgsOnly reads, writes, format
725[info] - should formats should be able to read and write (2 milliseconds)
726[info] - should reads should be able to read valid Json and ignore invalid Json (2 milliseconds)
727[info] - should writes should be able to spit out valid json (1 millisecond)
728[info] should LastVarArg reads, writes, format
729[info] - should formats should be able to read and write (4 milliseconds)
730[info] - should reads should be able to read valid Json and ignore invalid Json (1 millisecond)
731[info] - should writes should be able to spit out valid json (1 millisecond)
732[info] Total for specification ScalaJsonCombinatorsSpec
733[info] Finished in 282 ms
734[info] 16 examples, 0 failure, 0 error
735[info] - should manage Map[String, User] (3 milliseconds)
736[info] - should manage Boxed class (2 milliseconds)
737[info] - should test 21 fields (8 milliseconds)
738[info] - should test inception with overridden object (2 milliseconds)
739[info] - should test case class 1 field (3 milliseconds)
740[info] - should test case class 1 field option (3 milliseconds)
741[info] - should test case class 1 field list (5 milliseconds)
742[info] - should test case class 1 field set (4 milliseconds)
743[info] - should test case class 1 field map (3 milliseconds)
744[info] ScalaJsonSpec
745[info] - should test case class 1 field seq[Dog] (14 milliseconds)
746[info] - should test case reads in companion object (6 milliseconds)
747[info] Scala JSON should
748[info] - should test case single-field in companion object (10 milliseconds)
749[info] + parse json (1 ms)
750[info] - should test hygiene (6 milliseconds)
751[info] + allow constructing json using case classes (1 ms)
752[info] - should create a format[CustomApply] (3 milliseconds)
753[info] - should create a writes[UserProfile] with SnakeCase (3 milliseconds)
754[info] - should create a reads[UserProfile] with SnakeCase (1 millisecond)
755[info] + allow constructing json using factory methods (1 ms)
756[info] - should create a format[UserProfile] with SnakeCase (5 milliseconds)
757[info] - should create a writes[UserProfile] with PascalCase (2 milliseconds)
758[info] - should create a reads[UserProfile] with PascalCase (1 millisecond)
759[info] - should create a format[UserProfile] with PascalCase (4 milliseconds)
760[info] + allow constructing json using builder (1 ms)
761[info] - should create a writes[UserProfile] with CustomNaming (9 milliseconds)
762[info] + allow converting simple types (3 ms)
763[info] - should create a reads[UserProfile] with CustomNaming (2 milliseconds)
764[info] + allow converting of models (13 ms)
765[info] - should create a format[UserProfile] with CustomNaming (3 milliseconds)
766[info] + allow converting models preferred (15 ms)
767[info] - should create a stacked format[UserProfile] with SnakeCase (12 milliseconds)
768[info] - should create a Writes[Optional] with optionHandlers=WritesNull (2 milliseconds)
769Name: Watership Down
770[info] + allow traversing JsValue tree (7 ms)
771[info] - should create a Format[Optional] with optionHandlers=WritesNull (8 milliseconds)
772[info] + allow converting JsValue to String (2 ms)
773[info] + allow converting JsValue using as (4 ms)
774[info] + allow converting JsValue using asOpt (9 ms)
775[info] + allow converting JsValue using validate (9 ms)
776[info] + allow converting JsValue to model (9 ms)
777[info] + handle simple tuples (2 ms)
778[info] Total for specification ScalaJsonSpec
779[info] Finished in 181 ms
780[info] 14 examples, 0 failure, 0 error
781[info] JSON
782[info] JSON Reads
783[info] Local date/time should
784[info] Complete JSON should create full object
785[info] + be successfully read from number (1 ms)
786[info] + with custom date format (2 ms)
787[info] + not be read from invalid number (3 ms)
788[info] with default/lenient date format should
789[info] + not be read from invalid string (6 ms)
790[info] + with default/lenient date format with millis and UTC zone (6 ms)
791[info] + with default/lenient date format with millis and ISO8601 zone (4 ms)
792[info] be successfully read with default implicit
793[info] + with default/lenient date format with no millis and UTC zone (5 ms)
794[info] + with default/lenient date format with no millis and ISO8601 zone (2 ms)
795[info] + with default/lenient date format with millis (2 ms)
796[info] + with default/lenient date format without millis or time zone (2 ms)
797[info] + from '2011-12-03T10:15:30' (4 ms)
798[info] when parsing numbers
799[info] + from '2011-12-03T10:15:30+01:00' (with TZ offset) (1 ms)
800[info] + from '2011-12-03T10:15:30+01:00[Europe/Paris]' (with time zone) (8 ms)
801[info] for Long should
802[info] + be successfully read with custom pattern from '03/12/2011, 10:15:30' (1 ms)
803[info] not be read from invalid corrected string
804[info] + success for valid positive number (5 ms)
805[info] + success for valid negative number (1 ms)
806[info] + success for max value (4 ms)
807[info] + success for min value (2 ms)
808[info] + fail for positive number out of Long limits (5 ms)
809[info] + fail for negative number out of Long limits (2 ms)
810[info] + with default implicit (4 ms)
811[info] for Integer should
812[info] + with custom formatter (2 ms)
813[info] + success for valid positive number (9 ms)
814[info] + success for valid negative number (3 ms)
815[info] be successfully read from corrected string
816[info] + with default implicit (1 ms)
817[info] + with custom formatter (1 ms)
818[info] + fail for positive number out of Int limits (1 ms)
819[info] + fail for negative number out of Int limits (1 ms)
820[info] Offset date/time should
821[info] for Float should
822[info] not be read
823[info] + success for valid positive number (3 ms)
824[info] + success for valid negative number (1 ms)
825[info] + success for max value (2 ms)
826[info] + success for min value (2 ms)
827[info] for Double should
828[info] + success for valid positive number (1 ms)
829[info] + success for valid negative number (0 ms)
830[info] + from an invalid string (2 ms)
831[info] + from a number (3 ms)
832[info] + success when parsing max value (3 ms)
833[info] be successfully read with default implicit
834[info] + success when parsing min value (5 ms)
835[info] + from '2011-12-03T10:15:30-05:00' (2 ms)
836[info] for BigDecimals should
837[info] + be successfully read with custom pattern from '03/12/2011, 10:15:30' (1 ms)
838[info] + maintain precision when parsing BigDecimals within precision limit (2 ms)
839[info] not be read from invalid corrected string
840[info] + truncate when exceeding the precision limit (2 ms)
841[info] + drop trailing zeros for non-zero decimal by default (2 ms)
842[info] + drop single trailing zero decimal by default (0 ms)
843[info] + drop multiple trailing zero decimals by default (0 ms)
844[info] + drop multiple trailing zero decimals from zero value by default (1 ms)
845[info] + drop multiple trailing zero decimals from multiple of ten (0 ms)
846[info] + integer multiple of ten unchanged (1 ms)
847[info] + integer zero unchanged (2 ms)
848[info] + drop multiple trailing zeros for non-zero decimal with preserveZeroDecimal=true (2 ms)
849[info] + do not drop single trailing zero decimal with preserveZeroDecimal=true (3 ms)
850[info] + with default implicit (2 ms)
851[info] + with custom formatter (2 ms)
852[info] + preserve a single trailing zero decimal with preserveZeroDecimal=true (6 ms)
853[info] + preserve a single trailing zero decimal from zero decimal with preserveZeroDecimal=true (2 ms)
854[info] be successfully read from corrected string
855[info] + preserve a single trailing zero decimal from multiple of ten with preserveZeroDecimal=true (2 ms)
856[info] + with default implicit (2 ms)
857[info] + with custom formatter (2 ms)
858[info] + integer multiple of ten with preserveZeroDecimal=true (2 ms)
859[info] + integer zero with preserveZeroDecimal=true (1 ms)
860[info] + success when not exceeding the scale limit for positive numbers (1 ms)
861[info] Zoned date/time should
862[info] + success when not exceeding the scale limit for negative numbers (2 ms)
863[info] + success when not exceeding the number of digits limit for negative numbers (2 ms)
864[info] + success when not exceeding the number of digits limit for positive numbers (1 ms)
865[info] + fail when exceeding the scale limit for positive numbers (4 ms)
866[info] + fail when exceeding the scale limit for negative numbers (1 ms)
867[info] + be successfully read from number (7 ms)
868[info] + not be read from invalid string (2 ms)
869[info] + not be read from invalid number (4 ms)
870[info] + fail when exceeding the number of digits limit for positive numbers (31 ms)
871[info] be successfully read with default implicit
872[info] + from '2011-12-03T10:15:30+01:00' (with TZ offset) (4 ms)
873[info] + fail when exceeding the number of digits limit for negative numbers (16 ms)
874[info] + Optional parameters in JSON should generate post w/o date (1 ms)
875[info] + Invalid parameters shoud be ignored (1 ms)
876[info] + Serialize and deserialize Jackson ObjectNodes (45 ms)
877[info] + Serialize and deserialize Jackson ArrayNodes (5 ms)
878[info] + from '2011-12-03T10:15:30+01:00[Europe/Paris]' (with time zone) (1 ms)
879[info] + Deserialize integer JsNumber as Jackson number node (2 ms)
880[info] + be successfully read with custom pattern from '03/12/2011, 10:15:30+08:00' (5 ms)
881[info] + Deserialize float JsNumber as Jackson number node (3 ms)
882[info] not be read from invalid corrected string
883[info] + Serialize JsNumbers with integers correctly (14 ms)
884[info] + with default implicit (7 ms)
885[info] + with custom formatter (5 ms)
886[info] + Serialize JsNumbers with decimal points correctly (11 ms)
887[info] + Serialize JsNumbers with e notation correctly (1 ms)
888[info] + parse from InputStream (13 ms)
889[info] be successfully read from corrected string
890[info] + keep isomorphism between serialized and deserialized data (3 ms)
891[info] Total for specification JSON
892[info] Finished in 668 ms
893[info] 60 examples, 82 expectations, 0 failure, 0 error
894[info] + with default implicit (6 ms)
895[info] + with custom formatter (2 ms)
896[info] Local date should
897[info] + be successfully read from number (9 ms)
898[info] + not be read from invalid number (10 ms)
899[info] + not be read from invalid string (11 ms)
900[info] + be successfully read with default implicit from '2011-12-03' (1 ms)
901[info] + be successfully read with custom pattern from '03/12/2011' (3 ms)
902[info] not be read from invalid corrected string
903[info] + with default implicit (5 ms)
904[info] + with custom formatter (4 ms)
905[info] be successfully read from corrected string
906[info] + with default implicit (1 ms)
907[info] + with custom formatter (2 ms)
908[info] Local time should
909[info] + be successfully read from number (2 ms)
910[info] + not be read from invalid number (7 ms)
911[info] + not be read from invalid string (1 ms)
912[info] + be successfully read with default implicit from '10:15:30' (2 ms)
913[info] + be successfully read with custom pattern from '10.15.30' (1 ms)
914[info] not be read from invalid corrected string
915[info] + with default implicit (2 ms)
916[info] + with custom formatter (2 ms)
917[info] be successfully read from corrected string
918[info] + with default implicit (2 ms)
919[info] + with custom formatter (1 ms)
920[info] Instant should
921[info] + be successfully read from number (1 ms)
922[info] + not be read from invalid number (2 ms)
923[info] + not be read from invalid string (1 ms)
924[info] be successfully read with default implicit
925[info] + from '2015-05-01T13:00:00Z' (with zeros) (2 ms)
926[info] + from '2011-12-03T10:15:30Z' (2 ms)
927[info] + from '2015-05-01T13:00:00+02:00' (with TZ offset and zeros) (1 ms)
928[info] + from '2011-12-03T10:15:30+01:00' (with TZ offset) (3 ms)
929[info] + from '2011-12-03T10:15:30+01:00[Europe/Paris]' (with time zone) (1 ms)
930[info] + from '2011-12-03T00:00:00+01:00[Europe/Paris]' (with time zone) (2 ms)
931[info] + be successfully read with custom pattern from '03/12/2011, 10:15:30 Z' (1 ms)
932[info] not be read from invalid corrected string
933[info] + with default implicit (2 ms)
934[info] + with custom formatter (1 ms)
935[info] be successfully read from corrected string
936[info] + with default implicit (1 ms)
937[info] + with custom formatter (1 ms)
938[info] ZoneId should
939[info] + be successfully read from America/Los_Angeles (0 ms)
940[info] + be successfully read from UTC (0 ms)
941[info] + be successfully read from CET (0 ms)
942[info] + be successfully read from UTC-8 (1 ms)
943[info] + not be read from number (2 ms)
944[info] + not be read from unknown time zone (4 ms)
945[info] + not be read from malformed time zone (3 ms)
946[info] Locale should
947[info] + be fr-FR and be read as JSON object (4 ms)
948[info] + be fr-CA and be read as JSON object (2 ms)
949[info] + be fr and be read as JSON object (3 ms)
950[info] + be fr-Latn-FR-polyton-a-foo-b-bar-u-bar-foo-ka-ipsum-kb-value and be read as JSON object (2 ms)
951[info] + be fr-FR and be read from JSON string (tag) (1 ms)
952[info] + be fr-CA and be read from JSON string (tag) (2 ms)
953[info] + be fr and be read from JSON string (tag) (1 ms)
954[info] + be fr-Latn-FR-polyton-a-foo-b-bar-u-bar-foo-ka-ipsum-kb-value and be read from JSON string (tag) (2 ms)
955[info] Java Duration should
956[info] + be parsed from "PT1S" as JsSuccess(PT1S,) (2 ms)
957[info] + be parsed from "1 seconds" as JsError(List((,List(JsonValidationError(List(error.invalid.duration),ArraySeq()))))) (7 ms)
958[info] + be parsed from "foo" as JsError(List((,List(JsonValidationError(List(error.invalid.duration),ArraySeq()))))) (1 ms)
959[info] + be parsed from 1000 as JsSuccess(PT1S,) (6 ms)
960[info] + be parsed from 1.234 as JsError(List((,List(JsonValidationError(List(error.expected.long),ArraySeq()))))) (1 ms)
961[info] Java Period should
962[info] + be parsed from "P2D" as JsSuccess(P2D,) (1 ms)
963[info] + be parsed from 2 as JsSuccess(P2D,) (1 ms)
964[info] + be parsed from "2 days" as JsError(List((,List(JsonValidationError(List(error.invalid.stringPeriod),ArraySeq()))))) (1 ms)
965[info] + be parsed from "P2W" as JsSuccess(P14D,) (0 ms)
966[info] + be parsed from "P19D" as JsSuccess(P19D,) (0 ms)
967[info] + be parsed from 19 as JsSuccess(P19D,) (0 ms)
968[info] + be parsed from "P2M19D" as JsSuccess(P2M19D,) (0 ms)
969[info] + be parsed from "foo" as JsError(List((,List(JsonValidationError(List(error.invalid.stringPeriod),ArraySeq()))))) (0 ms)
970[info] + be parsed from 1.234 as JsError(List((,List(JsonValidationError(List(error.expected.int),ArraySeq()))))) (0 ms)
971[info] + be parsed as days from '2' as P2D (1 ms)
972[info] + be parsed as days from '19' as P19D (1 ms)
973[info] + be parsed as weeks (1 ms)
974[info] + be parsed as months (1 ms)
975[info] + be parsed as years (2 ms)
976[info] Long numbers should
977[info] + parse a long number (2 ms)
978[info] + parse a negative long number (2 ms)
979[info] + not read from invalid number (2 ms)
980[info] + parse a large long number 2 (2 ms)
981[info] BigDecimal numbers should
982[info] + parse long string (2 ms)
983[info] + not parse string exceeding digit limit (1 ms)
984[info] + parse string with acceptable scale (1 ms)
985[info] + not parse string exceeding scale limit (1 ms)
986[info] BigInt numbers should
987[info] + parse long string (2 ms)
988[info] + not parse string exceeding digit limit (1 ms)
989[info] Map should
990[info] + be successfully read with custom (locale) keys (2 ms)
991[info] Total for specification JSON Reads
992[info] Finished in 1 second, 270 ms
993[info] 106 examples, 0 failure, 0 error
994
995************************
996Build summary:
997[{
998 "module": "play-json",
999 "compile": {"status": "ok", "tookMs": 23164, "warnings": 3, "errors": 0, "sourceVersion": "3.8"},
1000 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
1001 "test-compile": {"status": "ok", "tookMs": 26368, "warnings": 9, "errors": 0, "sourceVersion": "3.8"},
1002 "test": {"status": "failed", "tookMs": 20885, "passed": 589, "failed": 3, "ignored": 0, "skipped": 0, "total": 592, "byFramework": [{"framework": "specs2", "stats": {"passed": 253, "failed": 0, "ignored": 0, "skipped": 0, "total": 253}},{"framework": "unknown", "stats": {"passed": 336, "failed": 3, "ignored": 0, "skipped": 0, "total": 339}}]},
1003 "publish": {"status": "skipped", "tookMs": 0},
1004 "metadata": {
1005 "crossScalaVersions": ["2.12.20", "2.13.16", "3.3.3"]
1006}
1007}]
1008************************
1009[error] Scala3CommunityBuild$ProjectBuildFailureException: 1 module(s) finished with failures: play-json
1010[error] (Global / runBuild) Scala3CommunityBuild$ProjectBuildFailureException: 1 module(s) finished with failures: play-json
1011[error] Total time: 92 s (0:01:32.0), completed Dec 4, 2025, 1:48:20 PM
1012[0JBuild failed, not retrying.