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