Build Logs
pjfanning/play-json • 3.8.0-RC2:2025-11-28
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-RC2
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-RC2"
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-RC2
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-RC2
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-RC2
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-RC2"
70"++3.8.0-RC2 -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-RC2 """{"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.802s.
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-RC2
89OpenCB::Changing crossVersion 3.8.0-RC2 -> 3.8.0-RC2 in benchmarks/crossScalaVersions
90OpenCB::Changing crossVersion 3.8.0-RC2 -> 3.8.0-RC2 in play-jsonJVM/crossScalaVersions
91OpenCB::Changing crossVersion 3.8.0-RC2 -> 3.8.0-RC2 in docs/crossScalaVersions
92OpenCB::Changing crossVersion 3.8.0-RC2 -> 3.8.0-RC2 in root/crossScalaVersions
93[info] set current project to root (in build file:/build/repo/)
94[info] Setting Scala version to 3.8.0-RC2 on 4 projects.
95[info] Switching Scala version on:
96[info] * root (2.12.20, 2.13.16, 3.8.0-RC2)
97[info] play-jsonJVM (2.12.20, 2.13.16, 3.8.0-RC2)
98[info] benchmarks (2.12.20, 2.13.16, 3.8.0-RC2)
99[info] docs (2.12.20, 2.13.16, 3.8.0-RC2)
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 Nov 28, 2025, 3:36:56 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-RC2/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-RC2/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] JsonMemoryFootprintSpec:
202[info] Json.parse
203# WARNING: Unable to get Instrumentation. Dynamic Attach failed. You may add this JAR as -javaagent manually, or supply -Djdk.attach.allowAttachSelf
204[info] JsObjectSerializationSpec
205[info] ScalaJsonCombinatorsSpec
206[info] WritesSpec
207[info] JsObject should
208[info] Scala JSON should
209[info] Local date/time should
210[info] + allow using JsPath (90 ms)
211[info] + serialize/deserialize correctly (139 ms)
212[info] + be written as number (7 ms)
213[info] Total for specification JsObjectSerializationSpec
214[info] Finished in 265 ms
215[info] 1 example, 0 failure, 0 error
216[info] + be written with default implicit as '2011-12-03T10:15:30' (5 ms)
217[info] + allow creating simple Reads (38 ms)
218[info] + allow creating complex Reads (59 ms)
219[info] + be written with custom pattern as '03/12/2011, 10:15:30' (5 ms)
220[info] Offset date/time should
221[info] + allow creating complex Reads in a single statement (57 ms)
222[info] + allow mapping Reads using usual combinators (28 ms)
223[info] + allow filtering Reads results with combinators (27 ms)
224[info] + allow pre-processing Reads with combinators (10 ms)
225Name: Watership Down
226[info] + allow mapping Reads with convenience combinators (12 ms)
227[info] + be written with default implicit as '2011-12-03T10:15:30-01:30' (8 ms)
228[info] + be written with custom pattern as '03/12/2011, 10:15:30 (-01:30)' (2 ms)
229[info] + allow validation with Reads (30 ms)
230# 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.]
231[info] + allow creating Reads for model (54 ms)
232[info] + allow creating Writes for model (42 ms)
233[info] Zoned date/time should
234[info] + be written as number (2 ms)
235[info] + allow transforming values with Writes (47 ms)
236[info] - obj0 (1 second, 47 milliseconds)
237[info] + be written with default implicit as '2011-12-03T10:15:30+01:00[Europe/Paris]' (22 ms)
238[info] + allow creating Reads/Writes for recursive types (13 ms)
239[info] + allow creating Format from components (16 ms)
240[info] + allow creating Format from combinators (25 ms)
241[info] - obj1 (63 milliseconds)
242[info] + allow functional combinators on Format (20 ms)
243[info] + be written with default implicit as '2011-12-03T10:15:30+06:30' (5 ms)
244[info] Total for specification ScalaJsonCombinatorsSpec
245[info] Finished in 537 ms
246[info] 16 examples, 0 failure, 0 error
247[info] + be written with custom pattern as '03/12/2011, 10:15:30' (1 ms)
248[info] - obj4 (37 milliseconds)
249[info] - arr0 (10 milliseconds)
250[info] Local date should
251[info] + be written as number (1 ms)
252[info] - arr1 (4 milliseconds)
253[info] + be written with default implicit as '2011-12-03' (6 ms)
254[info] - arr4 (11 milliseconds)
255[info] - num0 (22 milliseconds)
256[info] - num0.1 (11 milliseconds)
257[info] - num0.5 (8 milliseconds)
258[info] - numLongMax (16 milliseconds)
259[info] + be written with custom pattern as '03/12/2011' (14 ms)
260[info] - numDoubleMax (11 milliseconds)
261[info] - true (1 millisecond)
262[info] - false (3 milliseconds)
263[info] - null (2 milliseconds)
264[info] JsObject
265[info] Local time should
266[info] - obj0 ++ obj0 (11 milliseconds)
267[info] + be written as number (1 ms)
268[info] - obj0 ++ obj1 (6 milliseconds)
269[info] - obj1 ++ obj0 (8 milliseconds)
270[info] + be written with default implicit as '10:15:30' (0 ms)
271[info] - obj1.value (7 milliseconds)
272[info] malicious
273[info] + be written with custom pattern as '10.15.30' (1 ms)
274[info] Instant should
275[info] + be written as number (1 ms)
276[info] + be written with default implicit as '2011-12-03T10:15:30Z' (4 ms)
277[info] - obj0 (144 milliseconds)
278[info] + be written with custom pattern as '03/12/2011, 10:15:30' (1 ms)
279[info] ZoneId should
280[info] + be written as time zone string America/Los_Angeles (0 ms)
281[info] + be written as time zone string UTC (0 ms)
282[info] + be written as time zone string CET (1 ms)
283[info] + be written as time zone string UTC-8 (1 ms)
284[info] OWrites should
285[info] + be transformed with JsObject function (8 ms)
286[info] + be transformed with a value transformation (5 ms)
287[info] + be transformed with an object transformation (13 ms)
288[info] + be transformed with another OWrites (1 ms)
289[info] Locale should
290[info] + be fr-FR and be written as JSON object (11 ms)
291[info] + be fr-CA and be written as JSON object (0 ms)
292[info] + be fr and be written as JSON object (0 ms)
293[info] + be fr-Latn-FR-polyton-a-foo-b-bar-u-bar-foo-ka-ipsum-kb-value and be written as JSON object (4 ms)
294[info] + be fr-FR and be written as JSON string (tag) (1 ms)
295[info] + be fr-CA and be written as JSON string (tag) (1 ms)
296[info] + be fr and be written as JSON string (tag) (0 ms)
297[info] + be fr-Latn-FR-polyton-a-foo-b-bar-u-bar-foo-ka-ipsum-kb-value and be written as JSON string (tag) (0 ms)
298[info] Java Duration should
299[info] + be written as milliseconds (1 ms)
300[info] + be written as ISO string (1 ms)
301[info] MacroScala3Spec:
302[info] Case class
303[info] should not be handled
304[info] - when no custom ProductOf (11 milliseconds)
305[info] should be handled
306[info] - when is declared with more than 22 fields (63 milliseconds)
307[info] JsonValidSharedSpec:
308[info] Java Period should
309[info] JSON reads
310[info] - should validate simple types (11 milliseconds)
311[info] - should invalidate wrong simple type conversion (1 millisecond)
312[info] - should validate simple numbered type conversion (2 milliseconds)
313[info] - should return JsResult with correct values for isSuccess and isError (1 millisecond)
314[info] - should validate JsObject to Map (8 milliseconds)
315[info] - should invalidate JsObject to Map with wrong type conversion (4 milliseconds)
316[info] - should validate JsObject to Map with custom key type (14 milliseconds)
317[info] - should validate JsArray to List (2 milliseconds)
318[info] - should invalidate JsArray to List with wrong type conversion (1 millisecond)
319[info] - should validate JsArray of stream to List (0 milliseconds)
320[info] - should invalidate JsArray of stream to List with wrong type conversion (7 milliseconds)
321[info] should validate UUID
322[info] - when there is a correct UUID (2 milliseconds)
323[info] - when reject malformed UUIDs (0 milliseconds)
324[info] - when reject well-formed but incorrect UUIDS in strict mode (3 milliseconds)
325[info] - should validate Enums (67 milliseconds)
326[info] - should read fields with null values (3 milliseconds)
327[info] - should validate options using validateOpt (3 milliseconds)
328[info] JSON JsResult
329[info] - should recover from error (1 millisecond)
330[info] JSON case class/tuple validation
331[info] - should validate simple reads (0 milliseconds)
332[info] should validate reads on the root path
333[info] - when reads (9 milliseconds)
334[info] - when readNullables (0 milliseconds)
335[info] + be written as ISO string 'P2D' (1 ms)
336[info] - when readNullables for missing root path fragment (4 milliseconds)
337[info] - when readNullables for badly formed root path (0 milliseconds)
338[info] - when readNullables for null root path (1 millisecond)
339[info] - should validate simple constraints (1 millisecond)
340[info] - should test JsPath.create (7 milliseconds)
341[info] - should validate simple case class reads/writes (1 millisecond)
342[info] - should validate simple case class format with custom apply/unapply (9 milliseconds)
343[info] - should validate simple case class format (1 millisecond)
344[info] - should JsObject tupled reads (10 milliseconds)
345[info] - should JsObject tupled reads new syntax (1 millisecond)
346[info] + be written as ISO string 'P19D' (1 ms)
347[info] - should JsObject tupled writes (2 milliseconds)
348[info] - should JsObject tupled format (5 milliseconds)
349[info] - should Format simpler syntax without constraints (2 milliseconds)
350[info] - should Format simpler syntax with constraints (1 millisecond)
351[info] - should Compose reads (13 milliseconds)
352[info] - should Apply min/max correctly on ordered types (2 milliseconds)
353[info] JSON generators
354[info] - should Build JSON from JSON Reads (25 milliseconds)
355[info] JSON Reads
356[info] - should report correct path for validation errors (8 milliseconds)
357[info] - should mix reads constraints (10 milliseconds)
358[info] - should recursive reads (7 milliseconds)
359[info] - should recursive writes (9 milliseconds)
360[info] - should recursive formats (5 milliseconds)
361[info] + be written as ISO string 'P4M19D' (1 ms)
362[info] - should lots of fields to read (17 milliseconds)
363[info] - should single field case class (2 milliseconds)
364[info] - should reduce Reads[JsObject] (1 millisecond)
365[info] - should reduce Reads[JsArray] (12 milliseconds)
366[info] - should reduce Reads[JsArray] no type (1 millisecond)
367[info] - should serialize JsError to json (7 milliseconds)
368[info] - should prune json (5 milliseconds)
369[info] JSON Writes
370[info] - should manage option (2 milliseconds)
371[info] - should join (2 milliseconds)
372[info] JSON Format
373[info] - should manage option (6 milliseconds)
374[info] JsResult
375[info] - should be usable in for-comprehensions (1 millisecond)
376[info] should be a functor
377[info] - when JsSuccess (4 milliseconds)
378[info] - when JsError (0 milliseconds)
379[info] - should have filtering methods that allow users to customize the error (2 milliseconds)
380[info] - obj1 (543 milliseconds)
381[info] Map should
382[info] + be successfully written with custom (locale) keys (1 ms)
383[info] Total for specification WritesSpec
384[info] Finished in 1 second, 442 ms
385[info] 40 examples, 0 failure, 0 error
386[info] JsonSharedSpec:
387[info] JSON
388[info] - nums (302 milliseconds)
389[info] - should equals JsObject independently of field order (256 milliseconds)
390[info] - should support basic array operations (13 milliseconds)
391[info] - should serialize and deserialize maps properly (6 milliseconds)
392[info] - arr0 (75 milliseconds)
393[info] - should serialize and deserialize (13 milliseconds)
394[info] - should convert to a json object (13 milliseconds)
395[info] - should create object using builder (1 millisecond)
396[info] - should convert to a byte array containing the UTF-8 representation (22 milliseconds)
397[info] Complete JSON should create full object
398[info] - when serialize long integers correctly (3 milliseconds)
399[info] - when serialize short integers correctly (8 milliseconds)
400[info] - when serialize bytes correctly (8 milliseconds)
401[info] - when serialize and deserialize BigDecimals (2 milliseconds)
402[info] - when write BigDecimals with large exponents in scientific notation (3 milliseconds)
403[info] - when write negative BigDecimals with large exponents in scientific notation (2 milliseconds)
404[info] - when write BigDecimals with large negative exponents in scientific notation (4 milliseconds)
405[info] - when write BigDecimals with small exponents as a plain string (2 milliseconds)
406[info] - when write BigDecimals with small negative exponents as a plain string (4 milliseconds)
407[info] - when write BigDecimals with integer base (2 milliseconds)
408[info] - when serialize and deserialize Lists (3 milliseconds)
409[info] - when Map[String,String] should be turned into JsValue (5 milliseconds)
410[info] - when can parse recursive object (3 milliseconds)
411[info] - when can parse null values in Object (4 milliseconds)
412[info] - when can parse null values in Array (2 milliseconds)
413[info] - when null root object should be parsed as JsNull (6 milliseconds)
414[info] - when JSON pretty print (24 milliseconds)
415[info] - when asciiStringify should escape non-ascii characters (3 milliseconds)
416[info] - when asciiStringify should escape ascii characters properly (3 milliseconds)
417[info] JSON Writes
418[info] - should write list/seq/set/map (10 milliseconds)
419[info] - should write in 2nd level (6 milliseconds)
420[info] - should preserve field ordering (1 millisecond)
421[info] JsonValidSpec
422[info] - arr1 (287 milliseconds)
423[info] JSON reads should
424[info] + validate Dates (9 ms)
425[info] QuotesSpec:
426[info] Product
427[info] should be inspected for elements
428[info] - when Foo (1 millisecond)
429[info] + verifyingIf reads (17 ms)
430[info] + validate JsObject to Map without loosing precision (1 ms)
431[info] Total for specification JsonValidSpec
432[info] Finished in 61 ms
433[info] 3 examples, 0 failure, 0 error
434[info] - when generic Bar *** FAILED *** (38 milliseconds)
435[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)
436[info] Analysis:
437[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))))")
438[info] when of non-case class
439[info] - when there is no ProductOf (4 milliseconds)
440[info] - when it's defined a ill-typed ProductOf (0 milliseconds)
441[info] when it's defined a well-typed ProductOf
442[info] - when by import *** FAILED *** (1 millisecond)
443[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)
444[info] Analysis:
445[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))")
446[info] - when by local val *** FAILED *** (4 milliseconds)
447[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)
448[info] Analysis:
449[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))")
450[info] should be created
451[info] - when from Foo (6 milliseconds)
452[info] - when from generic Bar (1 millisecond)
453[info] - when from BigFat (0 milliseconds)
454[info] when from non-case class
455[info] - when fail when there is no Conversion[T, _ <: Product] (0 milliseconds)
456[info] - when fail when Conversion[T, _ <: Product] defined without ProductOf (2 milliseconds)
457[info] - when be successful when conversion is provided (0 milliseconds)
458[info] should be transformed
459[info] - when Foo (0 milliseconds)
460[info] - when generic Bar (1 millisecond)
461[info] - when BigFat (0 milliseconds)
462[info] Direct known subtypes
463[info] - should be resolved for sealed trait (0 milliseconds)
464[info] WritesSharedSpec:
465[info] Functional Writes
466[info] - should be successful for the simple case class Location (0 milliseconds)
467[info] - should be contramap'ed (0 milliseconds)
468[info] should be narrow'ed
469[info] - when simple JSON value (0 milliseconds)
470[info] - when JSON object (8 milliseconds)
471[info] Traversable Writes
472[info] - should write Seqs (0 milliseconds)
473[info] - should write SortedSets (17 milliseconds)
474[info] - should write mutable SortedSets (10 milliseconds)
475[info] Map Writes
476[info] - should write lazy maps (4 milliseconds)
477[info] - should write a map nested in a seq (1 millisecond)
478[info] Iterable writes
479[info] - should write maps (1 millisecond)
480[info] Big integer Writes
481[info] - should write as JsNumber (4 milliseconds)
482[info] EnumFormat
483[info] - should serialize correctly enum with custom names (1 millisecond)
484[info] URI
485[info] - should be written as string (1 millisecond)
486[info] Tuples
487[info] should be written with custom field names
488[info] - when tuple2 (0 milliseconds)
489[info] - when tuple3 (1 millisecond)
490[info] - when tuple4 (0 milliseconds)
491[info] Identity writes
492[info] - should be resolved as Writes[JsArray] for ["foo",2] (0 milliseconds)
493[info] - should be resolved as Writes[JsValue] for ["foo",2] (0 milliseconds)
494[info] - should be resolved as Writes[JsBoolean] for true (0 milliseconds)
495[info] - should be resolved as Writes[JsValue] for false (1 millisecond)
496[info] - should be resolved as Writes[JsNull$] for null (0 milliseconds)
497[info] - should be resolved as Writes[JsValue] for null (0 milliseconds)
498[info] - should be resolved as Writes[JsNumber] for 1 (0 milliseconds)
499[info] - should be resolved as Writes[JsValue] for 1 (4 milliseconds)
500[info] - should be resolved as Writes[JsObject] for {"foo":1} (0 milliseconds)
501[info] - should be resolved as Writes[JsValue] for {"foo":1} (0 milliseconds)
502[info] - should be resolved as OWrites[JsObject] for {"foo":1} (0 milliseconds)
503[info] - should be resolved as Writes[JsString] for "foo" (0 milliseconds)
504[info] - should be resolved as Writes[JsValue] for "foo" (0 milliseconds)
505[info] JsResultSpec:
506[info] JSON Result
507[info] - should be functor (1 millisecond)
508[info] - should be converted to Success (0 milliseconds)
509[info] - should be converted to basic Failure (1 millisecond)
510[info] - should be created from a Success (0 milliseconds)
511[info] - should be created from a Failure (3 milliseconds)
512[info] ScalaJsonAutomatedSpec
513[info] JsSuccess
514[info] - should be recovered (1 millisecond)
515[info] JsError
516[info] - should be recovered (2 milliseconds)
517[info] JsResult
518[info] - should return true for JsSuccess(x)#contains(x) (0 milliseconds)
519[info] - should return false for JsSuccess(x)#contains(y) (1 millisecond)
520[info] - should return false for JsError(_)#contains(_) (3 milliseconds)
521[info] - should return true for JsSuccess(x)#exists(p) if p(x) == true (0 milliseconds)
522[info] - should return false for JsSuccess(x)#exists(p) if p(x) == false (0 milliseconds)
523[info] - should return false for JsError(_).exists(_) (0 milliseconds)
524[info] JsSuccess#forall
525[info] Scala JSON automated should
526[info] - should return true for JsSuccess(x * 2).forall(_ % 2 == 0) (0 milliseconds)
527[info] - should return false for JsSuccess(x, {x < 0}).forall(_ >) (0 milliseconds)
528[info] JsError#forall
529[info] - should return true (0 milliseconds)
530[info] for case class
531[info] + produce a Reads (25 ms)
532[info] + do the same thing as a manual Reads (12 ms)
533[info] FormatSharedSpec:
534[info] Format
535[info] - should be bimap'ed (3 milliseconds)
536[info] OFormat
537[info] + produce a Writes (10 ms)
538[info] - should be bimap'ed (7 milliseconds)
539[info] + produce a Format (20 ms)
540[info] JsObjectSpec:
541[info] JsObject.deepMerge
542[info] - should not fail when the objects are empty (0 milliseconds)
543[info] + produce a Writes with SnakeCase (6 ms)
544[info] - should merge correctly when the source object is empty (1 millisecond)
545[info] - should merge correctly when the incoming object is empty (0 milliseconds)
546[info] JsObject.deepMerge should keep existing attributes where there is no collision and
547[info] - should overwrite existing attributes on collision when value is not a JsArray or JsObject (0 milliseconds)
548[info] - should recursively merge where elements are both of type JsArray or both of type JsObject (1 millisecond)
549[info] + produce a Format with SnakeCase (15 ms)
550[info] - should properly merge a deep structure (2 milliseconds)
551[info] JsObject.++
552[info] - should preserve order of fields (0 milliseconds)
553[info] JsObject.+
554[info] - should preserve order of fields (3 milliseconds)
555[info] JsObject.-
556[info] - should preserve order of fields (0 milliseconds)
557[info] JsObject
558[info] - should accept null fields when calling Json.obj (1 millisecond)
559[info] - should accept null fields when calling Json.arr (0 milliseconds)
560[info] + produce a Reads with SnakeCase (7 ms)
561[info] JsPathSpec:
562[info] JsPath
563[info] - should retrieve simple path (0 milliseconds)
564[info] - should retrieve path with array index (3 milliseconds)
565[info] - should retrieve 1-level recursive path (1 millisecond)
566[info] + produce a Format with Custom Naming (11 ms)
567[info] - should retrieve 2-level recursive path (0 milliseconds)
568[info] - should retrieve 2-level middle recursive path (2 milliseconds)
569[info] - should retrieve simple indexed path (1 millisecond)
570[info] - should retrieve 2-level recursive indexed path #1 (0 milliseconds)
571[info] + automatically serialize a case class to JSON (16 ms)
572[info] - should retrieve 2-level recursive indexed path #2 (0 milliseconds)
573[info] - should retrieve recursive in jsobject and jsarray #1 (1 millisecond)
574[info] - should retrieve recursive in jsobject and jsarray #2 (0 milliseconds)
575[info] - should retrieve with symbol keys (1 millisecond)
576[info] + automatically convert JSON to a case class (11 ms)
577[info] - should prune field from 1-level JsObject (4 milliseconds)
578[info] - should get JsPath till last node (0 milliseconds)
579[info] - should read deep nullable nested fields (1 millisecond)
580[info] + automatically convert JSON for a sealed family (26 ms)
581[info] + automatically convert custom JSON for a sealed family (30 ms)
582[info] + produce a json object with nulls (7 ms)
583[info] Total for specification ScalaJsonAutomatedSpec
584[info] Finished in 215 ms
585[info] 13 examples, 0 failure, 0 error
586[info] JsonExtensionSpec:
587[info] JsonExtension
588[info] - should create a reads[User] (5 milliseconds)
589[info] - should create a writes[User] (1 millisecond)
590[info] - should create a format[User] (5 milliseconds)
591[info] - should create a reads[Dog] (7 milliseconds)
592[info] - should create a writes[Dog] (5 milliseconds)
593[info] - should create a format[Dog] (5 milliseconds)
594[info] - should create a reads[RecUser] (5 milliseconds)
595[info] - should create a writes[RecUser] (2 milliseconds)
596[info] - should create a format[RecUser] (6 milliseconds)
597[info] - should create a reads[User1] (3 milliseconds)
598[info] - should create a writes[User1] (1 millisecond)
599[info] - should create a format[User1] (2 milliseconds)
600[info] ScalaJsonSpec
601[info] - should create a format[WrappedGenericInt] (11 milliseconds)
602[info] Scala JSON should
603[info] - should create a format[WrappedGenericIntString] (10 milliseconds)
604[info] should VarArgsOnly reads, writes, format
605[info] - should formats should be able to read and write (1 millisecond)
606[info] + parse json (1 ms)
607[info] - should reads should be able to read valid Json and ignore invalid Json (4 milliseconds)
608[info] - should writes should be able to spit out valid json (1 millisecond)
609[info] should LastVarArg reads, writes, format
610[info] - should formats should be able to read and write (1 millisecond)
611[info] - should reads should be able to read valid Json and ignore invalid Json (1 millisecond)
612[info] + allow constructing json using case classes (1 ms)
613[info] + allow constructing json using factory methods (7 ms)
614[info] - should writes should be able to spit out valid json (3 milliseconds)
615[info] - should manage Map[String, User] (5 milliseconds)
616[info] - should manage Boxed class (5 milliseconds)
617[info] + allow constructing json using builder (10 ms)
618[info] - should test 21 fields (9 milliseconds)
619[info] - should test inception with overridden object (0 milliseconds)
620[info] + allow converting simple types (2 ms)
621[info] + allow converting of models (8 ms)
622[info] - should test case class 1 field (9 milliseconds)
623[info] + allow converting models preferred (7 ms)
624[info] - should test case class 1 field option (6 milliseconds)
625Name: Watership Down
626[info] + allow traversing JsValue tree (23 ms)
627[info] - should test case class 1 field list (3 milliseconds)
628[info] - should test case class 1 field set (3 milliseconds)
629[info] + allow converting JsValue to String (11 ms)
630[info] - should test case class 1 field map (3 milliseconds)
631[info] + allow converting JsValue using as (3 ms)
632[info] + allow converting JsValue using asOpt (6 ms)
633[info] - should test case class 1 field seq[Dog] (14 milliseconds)
634[info] + allow converting JsValue using validate (16 ms)
635[info] - should test case reads in companion object (12 milliseconds)
636[info] + allow converting JsValue to model (12 ms)
637[info] - should test case single-field in companion object (5 milliseconds)
638[info] + handle simple tuples (4 ms)
639[info] - should test hygiene (3 milliseconds)
640[info] - should create a format[CustomApply] (5 milliseconds)
641[info] Total for specification ScalaJsonSpec
642[info] Finished in 162 ms
643[info] 14 examples, 0 failure, 0 error
644[info] - should create a writes[UserProfile] with SnakeCase (1 millisecond)
645[info] - should create a reads[UserProfile] with SnakeCase (4 milliseconds)
646[info] - should create a format[UserProfile] with SnakeCase (6 milliseconds)
647[info] - should create a writes[UserProfile] with PascalCase (2 milliseconds)
648[info] - should create a reads[UserProfile] with PascalCase (1 millisecond)
649[info] - should create a format[UserProfile] with PascalCase (5 milliseconds)
650[info] - should create a writes[UserProfile] with CustomNaming (3 milliseconds)
651[info] - should create a reads[UserProfile] with CustomNaming (1 millisecond)
652[info] - should create a format[UserProfile] with CustomNaming (2 milliseconds)
653[info] - should create a stacked format[UserProfile] with SnakeCase (5 milliseconds)
654[info] - should create a Writes[Optional] with optionHandlers=WritesNull (2 milliseconds)
655[info] - should create a Format[Optional] with optionHandlers=WritesNull (6 milliseconds)
656[info] JsonTransSpec:
657[info] JSON transformers
658[info] - should pick a value at a path (0 milliseconds)
659[info] - should pick a branch (0 milliseconds)
660[info] - should copy input JSON and update a branch (merge the updated branch with input JSON) (0 milliseconds)
661[info] - should pick a branch and update its content (0 milliseconds)
662[info] - should put a value in a new branch (don't keep passed json) (4 milliseconds)
663[info] - should create a new path by copying a branch (0 milliseconds)
664[info] - should copy full json and prune a branch (1 millisecond)
665[info] - should pick a single branch and prune a sub-branch (0 milliseconds)
666[info] - should copy the full json and update a 2nd-level path and then prune a subbranch (1 millisecond)
667[info] - should deepMerge when reducing JsObjects (0 milliseconds)
668[info] should report the correct path in the JsError
669[info] - when the field to modify doesn't exist (4 milliseconds)
670[info] - when the reader is the wrong type (0 milliseconds)
671[info] TupleSpec:
672[info] Reading/Write tuples
673[info] - should work for small tuples (9 milliseconds)
674[info] - should work for large tuples (7 milliseconds)
675[info] - should work for nested tuples (7 milliseconds)
676[info] ReadsSharedSpec:
677[info] Reads
678[info] should not repath the second result on flatMap
679[info] - when in case of success (0 milliseconds)
680[info] - when in case of failure (1 millisecond)
681[info] - should widen (5 milliseconds)
682[info] - should be failed (0 milliseconds)
683[info] Map
684[info] - should be successfully read with string keys (0 milliseconds)
685[info] should be read with character keys which
686[info] - are characters (18 milliseconds)
687[info] - are not characters (1 millisecond)
688[info] should be read with boolean keys which
689[info] - are booleans (1 millisecond)
690[info] - are not booleans (0 milliseconds)
691[info] - should be read with byte keys (0 milliseconds)
692[info] - should be read with short keys (0 milliseconds)
693[info] - should be read with int keys (1 millisecond)
694[info] - should be read with long keys (0 milliseconds)
695[info] - should be read with float keys (0 milliseconds)
696[info] - should be read with double keys (0 milliseconds)
697[info] - should be read with Reads'able keys (5 milliseconds)
698[info] Compose
699[info] - should preprocess a JSON object using a Reads (2 milliseconds)
700[info] - should preprocess a JSON object using a function (3 milliseconds)
701[info] Reads result
702[info] - should be flat-mapped (1 millisecond)
703[info] Functional Reads
704[info] - should be successful for simple case class Owner (0 milliseconds)
705[info] BigDecimal Reads
706[info] - should be successful for JsString("123") (1 millisecond)
707[info] - should be successful for JsString("23") (1 millisecond)
708[info] - should be successful for JsString("1.23") (1 millisecond)
709[info] - should be successful for JsString("1E+1") (0 milliseconds)
710[info] - should fail for '1..0' (1 millisecond)
711[info] - should fail for 'A' (1 millisecond)
712[info] BigInteger Reads
713[info] - should be successful for JsString("123") (1 millisecond)
714[info] - should be successful for JsNumber(123) (1 millisecond)
715[info] - should be successful for JsString("23") (0 milliseconds)
716[info] - should be successful for JsNumber(23) (0 milliseconds)
717[info] - should fails for '1.0' (0 milliseconds)
718[info] - should fails for 'A' (0 milliseconds)
719[info] EnumFormat
720[info] - should deserialize correctly enum with custom names (0 milliseconds)
721[info] URI
722[info] - should be read from JsString (0 milliseconds)
723[info] - should not be read from invalid JsString (21 milliseconds)
724[info] Tuple
725[info] should be read with custom element names
726[info] - when tuple2 (1 millisecond)
727[info] - when tuple3 (0 milliseconds)
728[info] - when tuple4 (5 milliseconds)
729[info] Identity reads
730[info] - should be resolved for ["foo",2] as JsArray (0 milliseconds)
731[info] - should be resolved for ["foo",2] as JsValue (0 milliseconds)
732[info] - should be resolved for false as JsBoolean (3 milliseconds)
733[info] - should be resolved for true as JsValue (0 milliseconds)
734[info] - should be resolved for null as JsNull$ (0 milliseconds)
735[info] - should be resolved for null as JsValue (0 milliseconds)
736[info] - should be resolved for 1 as JsNumber (0 milliseconds)
737[info] - should be resolved for 1 as JsValue (0 milliseconds)
738[info] - should be resolved for {"foo":1} as JsObject (0 milliseconds)
739[info] - should be resolved for {"foo":1} as JsValue (1 millisecond)
740[info] - should be resolved for "foo" as JsString (0 milliseconds)
741[info] - should be resolved for "foo" as JsValue (0 milliseconds)
742[info] MacroSpec:
743[info] Reads
744[info] - should be generated for simple case class (8 milliseconds)
745[info] - should as Format for a simple generic case class (7 milliseconds)
746[info] - should refuse value other than JsObject when properties are optional (9 milliseconds)
747[info] - should ignore Option alias (25 milliseconds)
748[info] should be generated for a sealed family
749[info] - when using the _value syntax (8 milliseconds)
750[info] - when using the compact syntax (3 milliseconds)
751[info] Writes
752[info] - should be generated for simple case class (4 milliseconds)
753[info] - should as Format for a generic case class (1 millisecond)
754[info] - should ignore Option alias (18 milliseconds)
755[info] - should be generated for a sealed family (31 milliseconds)
756[info] Macro
757[info] should handle case class with self type as nested type parameter
758[info] - when to generate Reads (12 milliseconds)
759[info] - when to generate Writes (1 millisecond)
760[info] - when to generate Format (11 milliseconds)
761[info] should handle generic case class with multiple generic parameters
762[info] - when to generate Reads (9 milliseconds)
763[info] - when to generate Writes (1 millisecond)
764[info] - when to generate Format (5 milliseconds)
765[info] should handle generic case class with multiple generic parameters and self references
766[info] - when to generate Reads (3 milliseconds)
767[info] - when to generate Writes (9 milliseconds)
768[info] - when to generate Format (29 milliseconds)
769[info] - should handle sealed family (25 milliseconds)
770[info] - should handle sealed family with custom discriminator name (21 milliseconds)
771[info] - should handle sealed family with typeNaming (7 milliseconds)
772[info] - should handle case objects as empty JsObject (3 milliseconds)
773[info] - should handle refinement type as case class field (10 milliseconds)
774[info] - should handle nesting class (4 milliseconds)
775[info] - should handle case class with generic type and default field (2 milliseconds)
776[info] - should handle case class with generic type and overridden default field (2 milliseconds)
777[info] - should field ordering (2 milliseconds)
778[info] JsonRichSpec:
779[info] JSON
780[info] - should create json with rich syntax (9 milliseconds)
781[info] JSON Reads
782[info] Local date/time should
783[info] + be successfully read from number (2 ms)
784[info] + not be read from invalid number (5 ms)
785[info] + not be read from invalid string (2 ms)
786[info] be successfully read with default implicit
787[info] + from '2011-12-03T10:15:30' (1 ms)
788[info] + from '2011-12-03T10:15:30+01:00' (with TZ offset) (1 ms)
789[info] + from '2011-12-03T10:15:30+01:00[Europe/Paris]' (with time zone) (1 ms)
790[info] + be successfully read with custom pattern from '03/12/2011, 10:15:30' (1 ms)
791[info] not be read from invalid corrected string
792[info] + with default implicit (2 ms)
793[info] + with custom formatter (1 ms)
794[info] be successfully read from corrected string
795[info] + with default implicit (0 ms)
796[info] + with custom formatter (0 ms)
797[info] Offset date/time should
798[info] not be read
799[info] + from an invalid string (1 ms)
800[info] + from a number (1 ms)
801[info] be successfully read with default implicit
802[info] + from '2011-12-03T10:15:30-05:00' (1 ms)
803[info] + be successfully read with custom pattern from '03/12/2011, 10:15:30' (1 ms)
804[info] not be read from invalid corrected string
805[info] + with default implicit (1 ms)
806[info] + with custom formatter (1 ms)
807[info] be successfully read from corrected string
808[info] + with default implicit (1 ms)
809[info] + with custom formatter (1 ms)
810[info] Zoned date/time should
811[info] + be successfully read from number (1 ms)
812[info] + not be read from invalid string (1 ms)
813[info] + not be read from invalid number (0 ms)
814[info] be successfully read with default implicit
815[info] + from '2011-12-03T10:15:30+01:00' (with TZ offset) (1 ms)
816[info] + from '2011-12-03T10:15:30+01:00[Europe/Paris]' (with time zone) (1 ms)
817[info] + be successfully read with custom pattern from '03/12/2011, 10:15:30+08:00' (1 ms)
818[info] not be read from invalid corrected string
819[info] + with default implicit (2 ms)
820[info] + with custom formatter (0 ms)
821[info] be successfully read from corrected string
822[info] + with default implicit (1 ms)
823[info] + with custom formatter (2 ms)
824[info] Local date should
825[info] + be successfully read from number (15 ms)
826[info] + not be read from invalid number (13 ms)
827[info] + not be read from invalid string (12 ms)
828[info] + be successfully read with default implicit from '2011-12-03' (1 ms)
829[info] + be successfully read with custom pattern from '03/12/2011' (1 ms)
830[info] not be read from invalid corrected string
831[info] + with default implicit (1 ms)
832[info] + with custom formatter (1 ms)
833[info] be successfully read from corrected string
834[info] + with default implicit (2 ms)
835[info] + with custom formatter (0 ms)
836[info] Local time should
837[info] + be successfully read from number (5 ms)
838[info] + not be read from invalid number (2 ms)
839[info] + not be read from invalid string (2 ms)
840[info] + be successfully read with default implicit from '10:15:30' (1 ms)
841[info] + be successfully read with custom pattern from '10.15.30' (0 ms)
842[info] not be read from invalid corrected string
843[info] + with default implicit (2 ms)
844[info] + with custom formatter (2 ms)
845[info] be successfully read from corrected string
846[info] + with default implicit (0 ms)
847[info] + with custom formatter (0 ms)
848[info] Instant should
849[info] + be successfully read from number (1 ms)
850[info] + not be read from invalid number (2 ms)
851[info] + not be read from invalid string (1 ms)
852[info] be successfully read with default implicit
853[info] + from '2015-05-01T13:00:00Z' (with zeros) (1 ms)
854[info] + from '2011-12-03T10:15:30Z' (1 ms)
855[info] + from '2015-05-01T13:00:00+02:00' (with TZ offset and zeros) (1 ms)
856[info] + from '2011-12-03T10:15:30+01:00' (with TZ offset) (1 ms)
857[info] + from '2011-12-03T10:15:30+01:00[Europe/Paris]' (with time zone) (1 ms)
858[info] + from '2011-12-03T00:00:00+01:00[Europe/Paris]' (with time zone) (1 ms)
859[info] + be successfully read with custom pattern from '03/12/2011, 10:15:30 Z' (1 ms)
860[info] not be read from invalid corrected string
861[info] + with default implicit (3 ms)
862[info] + with custom formatter (3 ms)
863[info] be successfully read from corrected string
864[info] + with default implicit (4 ms)
865[info] + with custom formatter (1 ms)
866[info] ZoneId should
867[info] + be successfully read from America/Los_Angeles (1 ms)
868[info] + be successfully read from UTC (0 ms)
869[info] + be successfully read from CET (0 ms)
870[info] + be successfully read from UTC-8 (0 ms)
871[info] + not be read from number (1 ms)
872[info] + not be read from unknown time zone (4 ms)
873[info] + not be read from malformed time zone (2 ms)
874[info] Locale should
875[info] + be fr-FR and be read as JSON object (3 ms)
876[info] + be fr-CA and be read as JSON object (2 ms)
877[info] + be fr and be read as JSON object (0 ms)
878[info] + be fr-Latn-FR-polyton-a-foo-b-bar-u-bar-foo-ka-ipsum-kb-value and be read as JSON object (1 ms)
879[info] + be fr-FR and be read from JSON string (tag) (1 ms)
880[info] + be fr-CA and be read from JSON string (tag) (0 ms)
881[info] + be fr and be read from JSON string (tag) (1 ms)
882[info] + be fr-Latn-FR-polyton-a-foo-b-bar-u-bar-foo-ka-ipsum-kb-value and be read from JSON string (tag) (1 ms)
883[info] Java Duration should
884[info] + be parsed from "PT1S" as JsSuccess(PT1S,) (1 ms)
885[info] + be parsed from "1 seconds" as JsError(List((,List(JsonValidationError(List(error.invalid.duration),ArraySeq()))))) (0 ms)
886[info] + be parsed from "foo" as JsError(List((,List(JsonValidationError(List(error.invalid.duration),ArraySeq()))))) (1 ms)
887[info] + be parsed from 1000 as JsSuccess(PT1S,) (1 ms)
888[info] + be parsed from 1.234 as JsError(List((,List(JsonValidationError(List(error.expected.long),ArraySeq()))))) (0 ms)
889[info] Java Period should
890[info] + be parsed from "P2D" as JsSuccess(P2D,) (1 ms)
891[info] + be parsed from 2 as JsSuccess(P2D,) (0 ms)
892[info] + be parsed from "2 days" as JsError(List((,List(JsonValidationError(List(error.invalid.stringPeriod),ArraySeq()))))) (0 ms)
893[info] + be parsed from "P2W" as JsSuccess(P14D,) (0 ms)
894[info] + be parsed from "P19D" as JsSuccess(P19D,) (0 ms)
895[info] + be parsed from 19 as JsSuccess(P19D,) (0 ms)
896[info] + be parsed from "P2M19D" as JsSuccess(P2M19D,) (0 ms)
897[info] + be parsed from "foo" as JsError(List((,List(JsonValidationError(List(error.invalid.stringPeriod),ArraySeq()))))) (3 ms)
898[info] + be parsed from 1.234 as JsError(List((,List(JsonValidationError(List(error.expected.int),ArraySeq()))))) (3 ms)
899[info] + be parsed as days from '2' as P2D (5 ms)
900[info] + be parsed as days from '19' as P19D (5 ms)
901[info] + be parsed as weeks (1 ms)
902[info] + be parsed as months (1 ms)
903[info] + be parsed as years (12 ms)
904[info] Long numbers should
905[info] + parse a long number (2 ms)
906[info] + parse a negative long number (0 ms)
907[info] + not read from invalid number (7 ms)
908[info] + parse a large long number 2 (2 ms)
909[info] BigDecimal numbers should
910[info] + parse long string (2 ms)
911[info] + not parse string exceeding digit limit (5 ms)
912[info] + parse string with acceptable scale (1 ms)
913[info] + not parse string exceeding scale limit (2 ms)
914[info] BigInt numbers should
915[info] + parse long string (2 ms)
916[info] + not parse string exceeding digit limit (1 ms)
917[info] Map should
918[info] + be successfully read with custom (locale) keys (1 ms)
919[info] Total for specification JSON Reads
920[info] Finished in 1 second, 365 ms
921[info] 106 examples, 0 failure, 0 error
922[info] JSON
923[info] Complete JSON should create full object
924[info] + with custom date format (3 ms)
925[info] with default/lenient date format should
926[info] + with default/lenient date format with millis and UTC zone (2 ms)
927[info] + with default/lenient date format with millis and ISO8601 zone (2 ms)
928[info] + with default/lenient date format with no millis and UTC zone (2 ms)
929[info] + with default/lenient date format with no millis and ISO8601 zone (3 ms)
930[info] + with default/lenient date format with millis (2 ms)
931[info] + with default/lenient date format without millis or time zone (1 ms)
932[info] when parsing numbers
933[info] for Long should
934[info] + success for valid positive number (3 ms)
935[info] + success for valid negative number (3 ms)
936[info] + success for max value (1 ms)
937[info] + success for min value (1 ms)
938[info] + fail for positive number out of Long limits (6 ms)
939[info] + fail for negative number out of Long limits (1 ms)
940[info] for Integer should
941[info] + success for valid positive number (0 ms)
942[info] + success for valid negative number (1 ms)
943[info] + fail for positive number out of Int limits (2 ms)
944[info] + fail for negative number out of Int limits (1 ms)
945[info] for Float should
946[info] + success for valid positive number (2 ms)
947[info] + success for valid negative number (3 ms)
948[info] + success for max value (2 ms)
949[info] + success for min value (1 ms)
950[info] for Double should
951[info] + success for valid positive number (1 ms)
952[info] + success for valid negative number (1 ms)
953[info] + success when parsing max value (3 ms)
954[info] + success when parsing min value (1 ms)
955[info] for BigDecimals should
956[info] + maintain precision when parsing BigDecimals within precision limit (1 ms)
957[info] + truncate when exceeding the precision limit (2 ms)
958[info] + drop trailing zeros for non-zero decimal by default (1 ms)
959[info] + drop single trailing zero decimal by default (3 ms)
960[info] + drop multiple trailing zero decimals by default (2 ms)
961[info] + drop multiple trailing zero decimals from zero value by default (0 ms)
962[info] + drop multiple trailing zero decimals from multiple of ten (2 ms)
963[info] + integer multiple of ten unchanged (4 ms)
964[info] + integer zero unchanged (2 ms)
965[info] + drop multiple trailing zeros for non-zero decimal with preserveZeroDecimal=true (4 ms)
966[info] + do not drop single trailing zero decimal with preserveZeroDecimal=true (4 ms)
967[info] + preserve a single trailing zero decimal with preserveZeroDecimal=true (2 ms)
968[info] + preserve a single trailing zero decimal from zero decimal with preserveZeroDecimal=true (3 ms)
969[info] + preserve a single trailing zero decimal from multiple of ten with preserveZeroDecimal=true (3 ms)
970[info] + integer multiple of ten with preserveZeroDecimal=true (3 ms)
971[info] + integer zero with preserveZeroDecimal=true (4 ms)
972[info] + success when not exceeding the scale limit for positive numbers (2 ms)
973[info] + success when not exceeding the scale limit for negative numbers (2 ms)
974[info] + success when not exceeding the number of digits limit for negative numbers (3 ms)
975[info] + success when not exceeding the number of digits limit for positive numbers (1 ms)
976[info] + fail when exceeding the scale limit for positive numbers (2 ms)
977[info] + fail when exceeding the scale limit for negative numbers (3 ms)
978[info] + fail when exceeding the number of digits limit for positive numbers (24 ms)
979[info] + fail when exceeding the number of digits limit for negative numbers (16 ms)
980[info] + Optional parameters in JSON should generate post w/o date (8 ms)
981[info] + Invalid parameters shoud be ignored (4 ms)
982[info] + Serialize and deserialize Jackson ObjectNodes (45 ms)
983[info] + Serialize and deserialize Jackson ArrayNodes (6 ms)
984[info] + Deserialize integer JsNumber as Jackson number node (1 ms)
985[info] + Deserialize float JsNumber as Jackson number node (6 ms)
986[info] + Serialize JsNumbers with integers correctly (19 ms)
987[info] + Serialize JsNumbers with decimal points correctly (5 ms)
988[info] + Serialize JsNumbers with e notation correctly (1 ms)
989[info] + parse from InputStream (9 ms)
990[info] + keep isomorphism between serialized and deserialized data (2 ms)
991[info] Total for specification JSON
992[info] Finished in 392 ms
993[info] 60 examples, 82 expectations, 0 failure, 0 error
994
995************************
996Build summary:
997[{
998 "module": "play-json",
999 "compile": {"status": "ok", "tookMs": 22971, "warnings": 3, "errors": 0, "sourceVersion": "3.8"},
1000 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
1001 "test-compile": {"status": "ok", "tookMs": 25936, "warnings": 9, "errors": 0, "sourceVersion": "3.8"},
1002 "test": {"status": "failed", "tookMs": 20786, "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: 85 s (0:01:25.0), completed Nov 28, 2025, 3:38:20 PM
1012[0JBuild failed, not retrying.