Build Logs

gochaorg/json4s3 • 3.8.0-RC2:2025-11-28

Errors

0

Warnings

31

Total Lines

939

1##################################
2Clonning https://github.com/gochaorg/json4s3.git into /build/repo using revision
3##################################
4Would override fixed Scala version: 3.2.0
5----
6Preparing build for 3.8.0-RC2
7Scala binary version found: 3.8
8Implicitly using source version 3.8
9Scala binary version found: 3.8
10Implicitly using source version 3.8
11Would try to apply common scalacOption (best-effort, sbt/mill only):
12Append: ,REQUIRE:-source:3.8
13Remove: ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
14
15Try apply source patch:
16Path: src/test/scala/xyz/cofe/json4s3/stream/token/LexerTest.scala
17Pattern: import scala.annotation.newMain
18Replacement:
19Starting compilation server
20Compiling project (Scala 3.7.3, JVM (17))
21Compiled project (Scala 3.7.3, JVM (17))
22Successfully applied pattern 'import scala.annotation.newMain' in src/test/scala/xyz/cofe/json4s3/stream/token/LexerTest.scala
23
24Try apply source patch:
25Path: build.sbt
26Pattern: val scala3Version = "3.2.0"
27Replacement: val scala3Version = "3.8.0-RC2"
28Successfully applied pattern 'val scala3Version = "3.2.0"' in build.sbt
29----
30Starting build for 3.8.0-RC2
31Execute tests: true
32sbt project found:
33Sbt version 1.7.1 is not supported, minimal supported version is 1.11.5
34Enforcing usage of sbt in version 1.11.5
35No prepare script found for project gochaorg/json4s3
36##################################
37Scala version: 3.8.0-RC2
38Targets: xyz.cofe%json4s3
39Project projectConfig: {"projects":{"exclude":[],"overrides":{}},"java":{},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":[],"sourcePatches":[{"path":"src/test/scala/xyz/cofe/json4s3/stream/token/LexerTest.scala","pattern":"import scala.annotation.newMain","replaceWith":""},{"path":"build.sbt","pattern":"val scala3Version = \"3.2.0\"","replaceWith":"val scala3Version = \"<SCALA_VERSION>\""}]}
40##################################
41Using extra scalacOptions: ,REQUIRE:-source:3.8
42Filtering out scalacOptions: ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
43[sbt_options] declare -a sbt_options=()
44[process_args] java_version = '17'
45[copyRt] java9_rt = '/root/.sbt/1.0/java9-rt-ext-eclipse_adoptium_17_0_8/rt.jar'
46# Executing command line:
47java
48-Dfile.encoding=UTF-8
49-Dcommunitybuild.scala=3.8.0-RC2
50-Dcommunitybuild.project.dependencies.add=
51-Xmx7G
52-Xms4G
53-Xss8M
54-Dsbt.script=/root/.sdkman/candidates/sbt/current/bin/sbt
55-Dscala.ext.dirs=/root/.sbt/1.0/java9-rt-ext-eclipse_adoptium_17_0_8
56-jar
57/root/.sdkman/candidates/sbt/1.11.5/bin/sbt-launch.jar
58"setCrossScalaVersions 3.8.0-RC2"
59"++3.8.0-RC2 -v"
60"mapScalacOptions ",REQUIRE:-source:3.8,-Wconf:msg=can be rewritten automatically under:s" ",-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e""
61"set every credentials := Nil"
62"excludeLibraryDependency com.github.ghik:zerowaste_{scalaVersion} com.olegpy:better-monadic-for_3 org.polyvariant:better-tostring_{scalaVersion} org.wartremover:wartremover_{scalaVersion}"
63"removeScalacOptionsStartingWith -P:wartremover"
64
65moduleMappings
66"runBuild 3.8.0-RC2 """{"projects":{"exclude":[],"overrides":{}},"java":{},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":[],"sourcePatches":[{"path":"src/test/scala/xyz/cofe/json4s3/stream/token/LexerTest.scala","pattern":"import scala.annotation.newMain","replaceWith":""},{"path":"build.sbt","pattern":"val scala3Version = \"3.2.0\"","replaceWith":"val scala3Version = \"<SCALA_VERSION>\""}]}""" xyz.cofe%json4s3"
67
68[info] welcome to sbt 1.11.5 (Eclipse Adoptium Java 17.0.8)
69[info] loading settings for project repo-build from akka.sbt, plugins.sbt...
70[info] loading project definition from /build/repo/project
71[info] compiling 2 Scala sources to /build/repo/project/target/scala-2.12/sbt-1.0/classes ...
72[info] Non-compiled module 'compiler-bridge_2.12' for Scala 2.12.20. Compiling...
73[info] Compilation completed in 8.355s.
74[info] done compiling
75/build/repo/build.sbt:45: warning: method in in trait ScopingSetting is deprecated (since 1.5.0): `in` is deprecated; migrate to slash syntax - https://www.scala-sbt.org/1.x/docs/Migrating-from-sbt-013x.html#slash
76ThisBuild / publishArtifact in Test := false
77 ^
78/build/repo/build.sbt:50: warning: method in in trait ScopingSetting is deprecated (since 1.5.0): `in` is deprecated; migrate to slash syntax - https://www.scala-sbt.org/1.x/docs/Migrating-from-sbt-013x.html#slash
79publishTo in ThisBuild := {
80 ^
81[info] loading settings for project root from build.sbt...
82[info] set current project to json4s3 (in build file:/build/repo/)
83[warn] there are 2 keys that are not used by any other settings/tasks:
84[warn]
85[warn] * ThisBuild / pomIncludeRepository
86[warn] +- /build/repo/build.sbt:48
87[warn] * ThisBuild / publishMavenStyle
88[warn] +- /build/repo/build.sbt:44
89[warn]
90[warn] note: a setting might still be used by a command; to exclude a key from this `lintUnused` check
91[warn] either append it to `Global / excludeLintKeys` or call .withRank(KeyRanks.Invisible) on the key
92Execute setCrossScalaVersions: 3.8.0-RC2
93OpenCB::Changing crossVersion 3.8.0-RC2 -> 3.8.0-RC2 in root/crossScalaVersions
94OpenCB::Limitting incorrect crossVersions List(2.12.20) -> List(3.8.0-RC2) in root/crossScalaVersions
95[info] set current project to json4s3 (in build file:/build/repo/)
96[info] Setting Scala version to 3.8.0-RC2 on 1 projects.
97[info] Switching Scala version on:
98[info] * root (3.8.0-RC2)
99[info] Excluding projects:
100[info] Reapplying settings...
101[info] set current project to json4s3 (in build file:/build/repo/)
102Execute mapScalacOptions: ,REQUIRE:-source:3.8,-Wconf:msg=can be rewritten automatically under:s ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
103[info] Reapplying settings...
104[info] set current project to json4s3 (in build file:/build/repo/)
105[info] Defining Global / credentials, credentials
106[info] The new values will be used by Global / pgpSelectPassphrase, Global / pgpSigningKey and 4 others.
107[info] Run `last` for details.
108[info] Reapplying settings...
109[info] set current project to json4s3 (in build file:/build/repo/)
110Execute excludeLibraryDependency: com.github.ghik:zerowaste_{scalaVersion} com.olegpy:better-monadic-for_3 org.polyvariant:better-tostring_{scalaVersion} org.wartremover:wartremover_{scalaVersion}
111[info] Reapplying settings...
112OpenCB::Failed to reapply settings in excludeLibraryDependency: Reference to undefined setting:
113
114 Global / allExcludeDependencies from Global / allExcludeDependencies (CommunityBuildPlugin.scala:331)
115 Did you mean allExcludeDependencies ?
116 , retry without global scopes
117[info] Reapplying settings...
118[info] set current project to json4s3 (in build file:/build/repo/)
119Execute removeScalacOptionsStartingWith: -P:wartremover
120[info] Reapplying settings...
121[info] set current project to json4s3 (in build file:/build/repo/)
122[success] Total time: 0 s, completed Nov 28, 2025, 1:33:52 PM
123Build config: {"projects":{"exclude":[],"overrides":{}},"java":{},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":[],"sourcePatches":[{"path":"src/test/scala/xyz/cofe/json4s3/stream/token/LexerTest.scala","pattern":"import scala.annotation.newMain","replaceWith":""},{"path":"build.sbt","pattern":"val scala3Version = \"3.2.0\"","replaceWith":"val scala3Version = \"<SCALA_VERSION>\""}]}
124Parsed config: Success(ProjectBuildConfig(ProjectsConfig(List(),Map()),Full,List()))
125Starting build...
126Projects: Set(root)
127Starting build for ProjectRef(file:/build/repo/,root) (json4s3)... [0/1]
128OpenCB::Exclude Scala3 specific scalacOption `REQUIRE:-source:3.8` in Scala 2.12.20 module Global
129Compile scalacOptions: -Wconf:msg=can be rewritten automatically under:s, -source:3.8
130[info] compiling 34 Scala sources to /build/repo/target/scala-3.8.0-RC2/classes ...
131[warn] -- [E197] Potential Issue Warning: /build/repo/src/main/scala/xyz/cofe/json4s3/derv/FromJson.scala:53:4
132[warn] 53 | new FromJson[T] {
133[warn] | ^
134[warn] | New anonymous class definition will be duplicated at each inline site
135[warn] |
136[warn] | longer explanation available when compiling with `-explain`
137[warn] -- [E197] Potential Issue Warning: /build/repo/src/main/scala/xyz/cofe/json4s3/derv/ToJson.scala:44:4
138[warn] 44 | new ToJson[T] {
139[warn] | ^
140[warn] | New anonymous class definition will be duplicated at each inline site
141[warn] |
142[warn] | longer explanation available when compiling with `-explain`
143[warn] two warnings found
144[info] done compiling
145[info] compiling 25 Scala sources to /build/repo/target/scala-3.8.0-RC2/test-classes ...
146[warn] -- [E197] Potential Issue Warning: /build/repo/src/test/scala/xyz/cofe/json4s3/derv/sample/SampleDeriveTest.scala:20:4
147[warn] 20 | new Show[A] {
148[warn] | ^
149[warn] | New anonymous class definition will be duplicated at each inline site
150[warn] |
151[warn] | longer explanation available when compiling with `-explain`
152[warn] one warning found
153[info] done compiling
154===================
155========================================
156pretty 1
157=== show test ====
158JsNull(2)
159Sum(
160 1 > JsNull
161 1 > JsStr
162)
163
1645, 6, 1, 2, 3,
165Sum(
166 3 > JsNull
167 1 > JsStr
168)
169
170prod merge
171============================================================
172xyz.cofe.json4s3.stream.token.ShowTest:
173 + show test 0.06s
174{
175 a : Sum(
176 1 > JsNull
177 1 > JsBool
178 )
179 b : JsInt
180 c : JsStr
181}
182
183prod merge atom
184============================================================
185Sum(
186 1 > {
187 a : JsNull
188 b : JsInt
189 }
190 1 > JsStr
191)
192
193prod merge sum
194============================================================
195{"e":[[]]}
196========================================
197pretty 2
198OpenBrace
199CloseBrace
200OpenSquare
201CloseSquare
202Comma
203Colon
204Sum(
205 1 > {
206 a : JsNull
207 b : JsInt
208 }
209 1 > JsStr
210 1 > JsBool
211)
212
213nested prod merge
214============================================================
215{
216 c : {
217 a : JsNull(2)
218 b : JsStr
219 c : JsStr
220 }
221 d : JsInt
222}
223
224xyz.cofe.json4s3.desc.JsTypeTest:
225 + merge 1 0.06s
226 + prod merge 0.01s
227 + prod merge atom 0.001s
228 + prod merge sum 0.007s
229 + nested prod merge 0.0s
230WhiteSpace( )
231IntNumber(1)
232WhiteSpace( )
233Str(aaa)
234WhiteSpace( )
235MLComment( abc )
236input char '{' input.state=Init
237 output state = Init
238 output tokens = List(OpenBrace)
239input char '}' input.state=Init
240 output state = Init
241 output tokens = List(CloseBrace)
242input char ' ' input.state=Init
243 output state = WhitespaceParse(xyz.cofe.json4s3.stream.token.whitespace$Parser@4b6b02f1,Work( ))
244 output tokens = List()
245input char '[' input.state=WhitespaceParse(xyz.cofe.json4s3.stream.token.whitespace$Parser@4b6b02f1,Work( ))
246 output state = Init
247 output tokens = List(WhiteSpace( ), OpenSquare)
248input char ']' input.state=Init
249 output state = Init
250 output tokens = List(CloseSquare)
251input char ':' input.state=Init
252 output state = Init
253 output tokens = List(Colon)
254input char ',' input.state=Init
255 output state = Init
256 output tokens = List(Comma)
257input char ' ' input.state=Init
258 output state = WhitespaceParse(xyz.cofe.json4s3.stream.token.whitespace$Parser@69a55f7c,Work( ))
259 output tokens = List()
260input char '1' input.state=WhitespaceParse(xyz.cofe.json4s3.stream.token.whitespace$Parser@69a55f7c,Work( ))
261 output state = NumParse(xyz.cofe.json4s3.stream.token.number$Parser@2bb0aee1,DecPart(List(1),true))
262 output tokens = List(WhiteSpace( ))
263input char '2' input.state=NumParse(xyz.cofe.json4s3.stream.token.number$Parser@2bb0aee1,DecPart(List(1),true))
264 output state = NumParse(xyz.cofe.json4s3.stream.token.number$Parser@2bb0aee1,DecPart(List(1, 2),true))
265 output tokens = List()
266input char ' ' input.state=NumParse(xyz.cofe.json4s3.stream.token.number$Parser@2bb0aee1,DecPart(List(1, 2),true))
267 output state = WhitespaceParse(xyz.cofe.json4s3.stream.token.whitespace$Parser@f4eb113,Work( ))
268 output tokens = List(IntNumber(12))
269input char 't' input.state=WhitespaceParse(xyz.cofe.json4s3.stream.token.whitespace$Parser@f4eb113,Work( ))
270 output state = IdParser(xyz.cofe.json4s3.stream.token.identifier$Parser@1ca14681,Work(t))
271 output tokens = List(WhiteSpace( ))
272input char 'r' input.state=IdParser(xyz.cofe.json4s3.stream.token.identifier$Parser@1ca14681,Work(tr))
273 output state = IdParser(xyz.cofe.json4s3.stream.token.identifier$Parser@1ca14681,Work(tr))
274 output tokens = List()
275input char 'u' input.state=IdParser(xyz.cofe.json4s3.stream.token.identifier$Parser@1ca14681,Work(tru))
276 output state = IdParser(xyz.cofe.json4s3.stream.token.identifier$Parser@1ca14681,Work(tru))
277 output tokens = List()
278input char 'e' input.state=IdParser(xyz.cofe.json4s3.stream.token.identifier$Parser@1ca14681,Work(true))
279 output state = IdParser(xyz.cofe.json4s3.stream.token.identifier$Parser@1ca14681,Work(true))
280 output tokens = List()
281input char ' ' input.state=IdParser(xyz.cofe.json4s3.stream.token.identifier$Parser@1ca14681,Work(true))
282{
283 "a":"abc",
284 "b":{},
285 "c":[
286 1,
287 2,
288 3
289 ],
290 "d":{
291 "a":true,
292 "b":false,
293 "c":[]
294 },
295 "e":[[]]
296}
297 output state = WhitespaceParse(xyz.cofe.json4s3.stream.token.whitespace$Parser@5fbcb4d6,Work( ))
298 output tokens = List(Identifier(true))
299input char ''' input.state=WhitespaceParse(xyz.cofe.json4s3.stream.token.whitespace$Parser@5fbcb4d6,Work( ))
300 output state = StrParse(xyz.cofe.json4s3.stream.token.string$Parser@7155ce66,SimpleChar(',))
301 output tokens = List(WhiteSpace( ))
302input char 's' input.state=StrParse(xyz.cofe.json4s3.stream.token.string$Parser@7155ce66,SimpleChar(',s))
303 output state = StrParse(xyz.cofe.json4s3.stream.token.string$Parser@7155ce66,SimpleChar(',s))
304 output tokens = List()
305input char 't' input.state=StrParse(xyz.cofe.json4s3.stream.token.string$Parser@7155ce66,SimpleChar(',st))
306 output state = StrParse(xyz.cofe.json4s3.stream.token.string$Parser@7155ce66,SimpleChar(',st))
307 output tokens = List()
308input char 'r' input.state=StrParse(xyz.cofe.json4s3.stream.token.string$Parser@7155ce66,SimpleChar(',str))
309 output state = StrParse(xyz.cofe.json4s3.stream.token.string$Parser@7155ce66,SimpleChar(',str))
310 output tokens = List()
311input char 'i' input.state=StrParse(xyz.cofe.json4s3.stream.token.string$Parser@7155ce66,SimpleChar(',stri))
312 output state = StrParse(xyz.cofe.json4s3.stream.token.string$Parser@7155ce66,SimpleChar(',stri))
313 output tokens = List()
314input char 'n' input.state=StrParse(xyz.cofe.json4s3.stream.token.string$Parser@7155ce66,SimpleChar(',strin))
315 output state = StrParse(xyz.cofe.json4s3.stream.token.string$Parser@7155ce66,SimpleChar(',strin))
316 output tokens = List()
317input char 'g' input.state=StrParse(xyz.cofe.json4s3.stream.token.string$Parser@7155ce66,SimpleChar(',string))
318 output state = StrParse(xyz.cofe.json4s3.stream.token.string$Parser@7155ce66,SimpleChar(',string))
319 output tokens = List()
320input char ''' input.state=StrParse(xyz.cofe.json4s3.stream.token.string$Parser@7155ce66,SimpleChar(',string))
321 output state = Init
322 output tokens = List(Str(string))
323IntNumber(12)
324WhiteSpace( )
325Identifier(true)
326xyz.cofe.json4s3.stream.token.TokenizerTest:
327 + test 0.083s
328 + sample 0.002s
329 + multiple 0.008s
330 + parse string 0.001s
331xyz.cofe.json4s3.stream.ast.PrettyTest:
332 + pretty 1 0.074s
333 + pretty 2 0.024s
334Sample
335MySuite:
336 + example test that succeeds 0.0s
337type=product label=Sample labels=List(a, b) values=Map(a -> 1, b -> 2)
338ADT.Simbol
339type=product label=Simbol labels=List() values=Map()
340ADT
341type=sum label=ADT labels=List(Simbol, One, Two) values=Map(ord -> 0, show -> type=product label=Simbol labels=List() values=Map())
342ADT.One
343type=product label=One labels=List(a) values=Map(a -> 3)
344ADT
345xyz.cofe.json4s3.query.QueryTest:
346 + sample 0.018s
347type=sum label=ADT labels=List(Simbol, One, Two) values=Map(ord -> 1, show -> type=product label=One labels=List(a) values=Map(a -> 3))
348xyz.cofe.json4s3.derv.sample.SampleDeriveTest:
349 + tst 0.03s
350{
351 a : Sum(
352 2 > JsInt
353 1 > JsBool
354 )
355 b : Sum(
356 1 > JsInt
357 1 > {
358 x : JsInt
359 }
360 )
361 c : JsStr
362 d : JsArray
363}
364
365xyz.cofe.json4s3.desc.JsonDescribeTest:
366 + desc 0.026s
367One(1) to json
368============================================================
369xyz.cofe.json4s3.stream.ast.ParserRandomTest:
370 + try parse 0.036s
371Identifier(null)
372xyz.cofe.json4s3.stream.token.NestedTokenIteratorTest:
373 + nested token test 0.01s
374 + nested atomic 0.002s
375{"One":{"a":1}}
376json to One
377============================================================
378start
379third
380true
38110
382finish
383xyz.cofe.hlist.HListTest:
384 + hlist 0.008s
385100 {"value":"100"} Right(Sample(Some(100)))
386Right(One(1))
387Two(1,2) to json
388============================================================
389{"Two":{"a":1,"b":"abc"}}
390xyz.cofe.json4s3.derv.SumTypeTest:
391 + One(1) to json 0.013s
392 + json to One 0.014s
393 + Two(1,2) to json 0.002s
3941000 {"value":"1000"} Right(Sample(Some(1000)))
39510000 {"value":"10000"} Right(Sample(Some(10000)))
39640000 {"value":"40000"} Right(Sample(Some(40000)))
397xyz.cofe.json4s3.derv.OptLongTest:
398 + store opt long 0.037s
399parse OpenSquare => Right((ArrExpectValue(List(),Some(Init)),None))
400parse CloseSquare => Right((Init,Some(JsArray(List()))))
401{"int":1,"float":2.5,"big":123456789012345678901234567890n,"null":null,"true":true,"false":false,"array":[1,2,3]}
402char='"' state Init => SimpleChar(",)
403char='a' state SimpleChar(",a) => SimpleChar(",a)
404char='b' state SimpleChar(",ab) => SimpleChar(",ab)
405char='c' state SimpleChar(",abc) => SimpleChar(",abc)
406char='"' state SimpleChar(",abc) => Finish(abc)
407end state Finish(abc) => Finish(abc)
408matched input=""abc"" expect="abc" res"abc"
409char=''' state Init => SimpleChar(',)
410char='a' state SimpleChar(',a) => SimpleChar(',a)
411char='b' state SimpleChar(',ab) => SimpleChar(',ab)
412char='c' state SimpleChar(',abc) => SimpleChar(',abc)
413char=''' state SimpleChar(',abc) => Finish(abc)
414end state Finish(abc) => Finish(abc)
415matched input="'abc'" expect="abc" res"abc"
416char=''' state Init => SimpleChar(',)
417char='a' state SimpleChar(',a) => SimpleChar(',a)
418char='\' state SimpleChar(',a) => EscStart(',a)
419char=''' state EscStart(',a') => SimpleChar(',a')
420char='b' state SimpleChar(',a'b) => SimpleChar(',a'b)
421char='c' state SimpleChar(',a'bc) => SimpleChar(',a'bc)
422char=''' state SimpleChar(',a'bc) => Finish(a'bc)
423end state Finish(a'bc) => Finish(a'bc)
424matched input="'a\'bc'" expect="a'bc" res"a'bc"
425char=''' state Init => SimpleChar(',)
426char='a' state SimpleChar(',a) => SimpleChar(',a)
427char='\' state SimpleChar(',a) => EscStart(',a)
428char='"' state EscStart(',a") => SimpleChar(',a")
429char='b' state SimpleChar(',a"b) => SimpleChar(',a"b)
430char='c' state SimpleChar(',a"bc) => SimpleChar(',a"bc)
431char=''' state SimpleChar(',a"bc) => Finish(a"bc)
432end state Finish(a"bc) => Finish(a"bc)
433matched input="'a\"bc'" expect="a"bc" res"a"bc"
434parse OpenSquare => Right((ArrExpectValue(List(),Some(Init)),None))
435parse IntNumber(1) => Right((ArrExpectComma(List(JsInt(1)),Some(Init)),None))
436parse CloseSquare => Right((Init,Some(JsArray(List(JsInt(1))))))
437char=''' state Init => SimpleChar(',)
438char='a' state SimpleChar(',a) => SimpleChar(',a)
439char='\' state SimpleChar(',a) => EscStart(',a)
440char='0' state EscStart(',a) => EscZero(',a)
441char=''' state EscZero(',a) => Finish(a)
442end state Finish(a) => Finish(a)
443matched input="'a\0'" expect="a" res"a"
444char=''' state Init => SimpleChar(',)
445char='a' state SimpleChar(',a) => SimpleChar(',a)
446char='\' state SimpleChar(',a) => EscStart(',a)
447char='b' state EscStart(',a) => SimpleChar(',a)
448char=''' state SimpleChar(',a) => Finish(a)
449end state Finish(a) => Finish(a)
450matched input="'a\b'" expect="a" res"a"
451char=''' state Init => SimpleChar(',)
452char='a' state SimpleChar(',a) => SimpleChar(',a)
453char='\' state SimpleChar(',a) => EscStart(',a)
454char='f' state EscStart(',a) => SimpleChar(',a)
455char=''' state SimpleChar(',a) => Finish(a)
456end state Finish(a) => Finish(a)
457matched input="'a\f'" expect="a" res"a"
458char=''' state Init => SimpleChar(',)
459char='a' state SimpleChar(',a) => SimpleChar(',a)
460char='\' state SimpleChar(',a) => EscStart(',a)
461char='n' state EscStart(',a
462) => SimpleChar(',a
463)
464char=''' state SimpleChar(',a
465) => Finish(a
466)
467end state Finish(a
468) => Finish(a
469)
470matched input="'a\n'" expect="a\n" res"a\n"
471char=''' state Init => SimpleChar(',)
472char='a' state SimpleChar(',a) => SimpleChar(',a)
473char='\' state SimpleChar(',a) => EscStart(',a)
474char='r' state EscStart(',a
475) => SimpleChar(',a
476)
477char=''' state SimpleChar(',a
478) => Finish(a
479)
480end state Finish(a
481) => Finish(a
482)
483matched input="'a\r'" expect="a\r" res"a\r"
484char=''' state Init => SimpleChar(',)
485char='a' state SimpleChar(',a) => SimpleChar(',a)
486char='\' state SimpleChar(',a) => EscStart(',a)
487char='t' state EscStart(',a ) => SimpleChar(',a )
488char=''' state SimpleChar(',a ) => Finish(a )
489end state Finish(a ) => Finish(a )
490matched input="'a\t'" expect="a " res"a "
491char=''' state Init => SimpleChar(',)
492char='a' state SimpleChar(',a) => SimpleChar(',a)
493char='\' state SimpleChar(',a) => EscStart(',a)
494parse OpenSquare => Right((ArrExpectValue(List(),Some(Init)),None))
495parse IntNumber(1) => Right((ArrExpectComma(List(JsInt(1)),Some(Init)),None))
496parse Comma => Right((ArrAfterComma(List(JsInt(1)),Some(Init)),None))
497parse IntNumber(2) => Right((ArrExpectComma(List(JsInt(1), JsInt(2)),Some(Init)),None))
498char='v' state EscStart(',a) => SimpleChar(',a)
499char=''' state SimpleChar(',a) => Finish(a)
500end state Finish(a) => Finish(a)
501matched input="'a\v'" expect="a" res"a"
502char=''' state Init => SimpleChar(',)
503char='a' state SimpleChar(',a) => SimpleChar(',a)
504char='\' state SimpleChar(',a) => EscStart(',a)
505char='1' state EscStart(',a) => EscOct(',a,List(1))
506char='5' state EscOct(',a,List(1)) => EscOct(',a,List(1, 5))
507parse CloseSquare => Right((Init,Some(JsArray(List(JsInt(1), JsInt(2))))))
508parse OpenSquare => Right((ArrExpectValue(List(),Some(Init)),None))
509jsTree JsObj(List((int,JsInt(1)), (float,JsFloat(2.5)), (big,JsBig(123456789012345678901234567890)), (null,JsNull), (true,JsBool(true)), (false,JsBool(false)), (array,JsArray(List(JsInt(1), JsInt(2), JsInt(3))))))
510char='7' state EscOct(',ao,List(1, 5)) => SimpleChar(',ao)
511char=''' state SimpleChar(',ao) => Finish(ao)
512end state Finish(ao) => Finish(ao)
513matched input="'a\157'" expect="ao" res"ao"
514char=''' state Init => SimpleChar(',)
515char='a' state SimpleChar(',a) => SimpleChar(',a)
516char='\' state SimpleChar(',a) => EscStart(',a)
517char='x' state EscStart(',a) => EscHex(',a,List())
518char='A' state EscHex(',a,List()) => EscHex(',a,List(10))
519char='1' state EscHex(',a¡,List(10)) => SimpleChar(',a¡)
520char=''' state SimpleChar(',a¡) => Finish(a¡)
521end state Finish(a¡) => Finish(a¡)
522matched input="'a\xA1'" expect="a¡" res"a¡"
523parse IntNumber(1) => Right((ArrExpectComma(List(JsInt(1)),Some(Init)),None))
524parse Comma => Right((ArrAfterComma(List(JsInt(1)),Some(Init)),None))
525parse IntNumber(2) => Right((ArrExpectComma(List(JsInt(1), JsInt(2)),Some(Init)),None))
526parse Comma => Right((ArrAfterComma(List(JsInt(1), JsInt(2)),Some(Init)),None))
527parse CloseSquare => Right((Init,Some(JsArray(List(JsInt(1), JsInt(2))))))
528xyz.cofe.json4s3.stream.ast.AST2JsonTest:
529 + ast2json 0.031s
530========================================
531object {}
532parse OpenBrace => Right((ObjExpFieldName(List(),Some(Init)),None))
533-------------
534parse CloseBrace => Right((Init,Some(JsObj(List()))))
535========================================
536object {'a':1}
537parse OpenBrace => Right((ObjExpFieldName(List(),Some(Init)),None))
538parse Str(a) => Right((ObjAfterFieldName(a,List(),Some(Init)),None))
539parse Colon => Right((ObjExpFieldValue(a,List(),Some(Init)),None))
540parse IntNumber(1) => Right((ObjExpectComma(List((a,JsInt(1))),Some(Init)),None))
541parse CloseBrace => Right((Init,Some(JsObj(List((a,JsInt(1)))))))
542========================================
543object {'a':1,}
544parse OpenBrace => Right((ObjExpFieldName(List(),Some(Init)),None))
545parse Str(a) => Right((ObjAfterFieldName(a,List(),Some(Init)),None))
546parse Colon => Right((ObjExpFieldValue(a,List(),Some(Init)),None))
547parse IntNumber(1) => Right((ObjExpectComma(List((a,JsInt(1))),Some(Init)),None))
548Right(List(1, 2))
549parse Comma => Right((ObjAfterComma(List((a,JsInt(1))),Some(Init)),None))
550parse CloseBrace => Right((Init,Some(JsObj(List((a,JsInt(1)))))))
551char=''' state Init => SimpleChar(',)
552char='a' state SimpleChar(',a) => SimpleChar(',a)
553char='\' state SimpleChar(',a) => EscStart(',a)
554char='x' state EscStart(',a) => EscHex(',a,List())
555char='a' state EscHex(',a,List()) => EscHex(',a,List(10))
556char='2' state EscHex(',a¢,List(10)) => SimpleChar(',a¢)
557char=''' state SimpleChar(',a¢) => Finish(a¢)
558end state Finish(a¢) => Finish(a¢)
559matched input="'a\xa2'" expect="a¢" res"a¢"
560========================================
561object {'a':1,'b':2}
562========================================
563case class(a:Int, b:String)
564parse OpenBrace => Right((ObjExpFieldName(List(),Some(Init)),None))
565xyz.cofe.json4s3.stream.ast.ParserIteratorTest:
566 + stream test 0.008s
567Some({"a":1,"b":"str"})
568parse Str(a) => Right((ObjAfterFieldName(a,List(),Some(Init)),None))
569parse Colon => Right((ObjExpFieldValue(a,List(),Some(Init)),None))
570parse IntNumber(1) => Right((ObjExpectComma(List((a,JsInt(1))),Some(Init)),None))
571parse Comma => Right((ObjAfterComma(List((a,JsInt(1))),Some(Init)),None))
572parse Str(b) => Right((ObjAfterFieldName(b,List((a,JsInt(1))),Some(Init)),None))
573parse Colon => Right((ObjExpFieldValue(b,List((a,JsInt(1))),Some(Init)),None))
574parse IntNumber(2) => Right((ObjExpectComma(List((a,JsInt(1)), (b,JsInt(2))),Some(Init)),None))
575parse CloseBrace => Right((Init,Some(JsObj(List((a,JsInt(1)), (b,JsInt(2)))))))
576char=''' state Init => SimpleChar(',)
577char='a' state SimpleChar(',a) => SimpleChar(',a)
578char='\' state SimpleChar(',a) => EscStart(',a)
579char='u' state EscStart(',a) => EscUnicodeStart(',a)
580========================================
581json {'a':1,'b':2}
582char='0' state EscUnicodeStart(',a) => EscUnicode4digit(',a,List(0))
583char='0' state EscUnicode4digit(',a,List(0)) => EscUnicode4digit(',a,List(0, 0))
584char='a' state EscUnicode4digit(',a,List(0, 0)) => EscUnicode4digit(',a,List(0, 0, 10))
585char='2' state EscUnicode4digit(',a¢,List(0, 0, 10)) => SimpleChar(',a¢)
586char=''' state SimpleChar(',a¢) => Finish(a¢)
587end state Finish(a¢) => Finish(a¢)
588matched input="'a\u00a2'" expect="a¢" res"a¢"
589========================================
590parse unicode 5
591parse OpenBrace => Right((ObjExpFieldName(List(),Some(Init)),None))
592parse Str(a) => Right((ObjAfterFieldName(a,List(),Some(Init)),None))
593parse Colon => Right((ObjExpFieldValue(a,List(),Some(Init)),None))
594parse IntNumber(1) => Right((ObjExpectComma(List((a,JsInt(1))),Some(Init)),None))
595parse Comma => Right((ObjAfterComma(List((a,JsInt(1))),Some(Init)),None))
596parse Str(b) => Right((ObjAfterFieldName(b,List((a,JsInt(1))),Some(Init)),None))
597parse Colon => Right((ObjExpFieldValue(b,List((a,JsInt(1))),Some(Init)),None))
598parse IntNumber(2) => Right((ObjExpectComma(List((a,JsInt(1)), (b,JsInt(2))),Some(Init)),None))
599parse CloseBrace => Right((Init,Some(JsObj(List((a,JsInt(1)), (b,JsInt(2)))))))
600========================================
601object {'a':1,'b':[]}
602parse OpenBrace => Right((ObjExpFieldName(List(),Some(Init)),None))
603char=''' state Init => SimpleChar(',)
604char='a' state SimpleChar(',a) => SimpleChar(',a)
605char='\' state SimpleChar(',a) => EscStart(',a)
606char='u' state EscStart(',a) => EscUnicodeStart(',a)
607char='{' state EscUnicodeStart(',a) => EscUnicode5digit(',a,List())
608char='0' state EscUnicode5digit(',a,List()) => EscUnicode5digit(',a,List(0))
609char='0' state EscUnicode5digit(',a,List(0)) => EscUnicode5digit(',a,List(0, 0))
610char='0' state EscUnicode5digit(',a,List(0, 0)) => EscUnicode5digit(',a,List(0, 0, 0))
611char='a' state EscUnicode5digit(',a,List(0, 0, 0)) => EscUnicode5digit(',a,List(0, 0, 0, 10))
612char='2' state EscUnicode5digit(',a,List(0, 0, 0, 10)) => EscUnicode5digit(',a,List(0, 0, 0, 10, 2))
613parse Str(a) => Right((ObjAfterFieldName(a,List(),Some(Init)),None))
614parse Colon => Right((ObjExpFieldValue(a,List(),Some(Init)),None))
615parse IntNumber(1) => Right((ObjExpectComma(List((a,JsInt(1))),Some(Init)),None))
616parse Comma => Right((ObjAfterComma(List((a,JsInt(1))),Some(Init)),None))
617parse Str(b) => Right((ObjAfterFieldName(b,List((a,JsInt(1))),Some(Init)),None))
618parse Colon => Right((ObjExpFieldValue(b,List((a,JsInt(1))),Some(Init)),None))
619parse OpenSquare => Right((ArrExpectValue(List(),Some(ObjExpFieldValue(b,List((a,JsInt(1))),Some(Init)))),None))
620parse CloseSquare => Right((ObjExpectComma(List((a,JsInt(1)), (b,JsArray(List()))),Some(Init)),None))
621parse CloseBrace => Right((Init,Some(JsObj(List((a,JsInt(1)), (b,JsArray(List())))))))
622========================================
623case class( a:Option[Int], b:Boolean )
624char='}' state EscUnicode5digit(',a¢,List(0, 0, 0, 10, 2)) => SimpleChar(',a¢)
625char=''' state SimpleChar(',a¢) => Finish(a¢)
626end state Finish(a¢) => Finish(a¢)
627matched input="'a\u{000a2}'" expect="a¢" res"a¢"
628xyz.cofe.json4s3.stream.token.StringTest:
629 + parse "abc" 0.005s
630 + parse 'abc' 0.0s
631 + parse 'a\\'bc' 0.001s
632 + parse 'a\\"bc' 0.001s
633 + parse 'a\\0' 0.009s
634 + parse 'a\\b' 0.0s
635 + parse 'a\\f' 0.001s
636 + parse 'a\\n' 0.002s
637 + parse 'a\\r' 0.001s
638 + parse 'a\\t' 0.001s
639 + parse 'a\\v' 0.003s
640 + parse oct 0.006s
641 + parse hex A1 0.001s
642 + parse hex a2 0.014s
643 + parse unicode 4 0.008s
644 + parse unicode 5 0.012s
645{"b":true}
646========================================
647object {'a':1,'b':[1]}
648Right(Sample2(None,Some(true)))
649parse OpenBrace => Right((ObjExpFieldName(List(),Some(Init)),None))
650{"a":998,"b":false}
651parse Str(a) => Right((ObjAfterFieldName(a,List(),Some(Init)),None))
652parse Colon => Right((ObjExpFieldValue(a,List(),Some(Init)),None))
653parse IntNumber(1) => Right((ObjExpectComma(List((a,JsInt(1))),Some(Init)),None))
654parse Comma => Right((ObjAfterComma(List((a,JsInt(1))),Some(Init)),None))
655parse Str(b) => Right((ObjAfterFieldName(b,List((a,JsInt(1))),Some(Init)),None))
656parse Colon => Right((ObjExpFieldValue(b,List((a,JsInt(1))),Some(Init)),None))
657parse OpenSquare => Right((ArrExpectValue(List(),Some(ObjExpFieldValue(b,List((a,JsInt(1))),Some(Init)))),None))
658parse IntNumber(1) => Right((ArrExpectComma(List(JsInt(1)),Some(ObjExpFieldValue(b,List((a,JsInt(1))),Some(Init)))),None))
659parse CloseSquare => Right((ObjExpectComma(List((a,JsInt(1)), (b,JsArray(List(JsInt(1))))),Some(Init)),None))
660parse CloseBrace => Right((Init,Some(JsObj(List((a,JsInt(1)), (b,JsArray(List(JsInt(1)))))))))
661Right(Sample2(Some(998),Some(false)))
662json false -1062146433 "wk" false false "yzncc"-633988743229201800n,:"uine" "tamiuo"-48435536[-1058924392 79 "hcbtvnva"null -2142291082204660625n 82 }0.49677007169919163 -1678011477322485816n"etccvxrvw"false 0.42277475239847717"mbuod""juoyx""hlfhif" ]"yelipmyc""md" "ytkjmr""cffiytvup"]"zkcqyps" null null [false 0.5574703883155803,true null"jzfgow"}{ "ypwth"false"zcdpeh" "diigtz" true null]{]{"lk"
663true Identifier(false) Identifier(false)
664true WhiteSpace( ) WhiteSpace( )
665true IntNumber(-1062146433) IntNumber(-1062146433)
666true WhiteSpace( ) WhiteSpace( )
667true Str(wk) Str(wk)
668true WhiteSpace( ) WhiteSpace( )
669true Identifier(false) Identifier(false)
670true WhiteSpace( ) WhiteSpace( )
671true Identifier(false) Identifier(false)
672true WhiteSpace( ) WhiteSpace( )
673true Str(yzncc) Str(yzncc)
674true BigNumber(-633988743229201800) BigNumber(-633988743229201800)
675true Comma Comma
676true Colon Colon
677true Str(uine) Str(uine)
678true WhiteSpace( ) WhiteSpace( )
679true Str(tamiuo) Str(tamiuo)
680true IntNumber(-48435536) IntNumber(-48435536)
681true OpenSquare OpenSquare
682true IntNumber(-1058924392) IntNumber(-1058924392)
683true WhiteSpace( ) WhiteSpace( )
684true IntNumber(79) IntNumber(79)
685true WhiteSpace( ) WhiteSpace( )
686true Str(hcbtvnva) Str(hcbtvnva)
687true Identifier(null) Identifier(null)
688true WhiteSpace( ) WhiteSpace( )
689true BigNumber(-2142291082204660625) BigNumber(-2142291082204660625)
690true WhiteSpace( ) WhiteSpace( )
691true IntNumber(82) IntNumber(82)
692true WhiteSpace( ) WhiteSpace( )
693true CloseBrace CloseBrace
694true FloatNumber(0.49677007169919163) FloatNumber(0.49677007169919163)
695true WhiteSpace( ) WhiteSpace( )
696true BigNumber(-1678011477322485816) BigNumber(-1678011477322485816)
697true Str(etccvxrvw) Str(etccvxrvw)
698true Identifier(false) Identifier(false)
699true WhiteSpace( ) WhiteSpace( )
700true FloatNumber(0.42277475239847717) FloatNumber(0.42277475239847717)
701true Str(mbuod) Str(mbuod)
702true Str(juoyx) Str(juoyx)
703true Str(hlfhif) Str(hlfhif)
704true WhiteSpace( ) WhiteSpace( )
705true CloseSquare CloseSquare
706true Str(yelipmyc) Str(yelipmyc)
707true Str(md) Str(md)
708true WhiteSpace( ) WhiteSpace( )
709true Str(ytkjmr) Str(ytkjmr)
710true Str(cffiytvup) Str(cffiytvup)
711true CloseSquare CloseSquare
712true Str(zkcqyps) Str(zkcqyps)
713true WhiteSpace( ) WhiteSpace( )
714true Identifier(null) Identifier(null)
715true WhiteSpace( ) WhiteSpace( )
716true Identifier(null) Identifier(null)
717true WhiteSpace( ) WhiteSpace( )
718true OpenSquare OpenSquare
719true Identifier(false) Identifier(false)
720true WhiteSpace( ) WhiteSpace( )
721true FloatNumber(0.5574703883155803) FloatNumber(0.5574703883155803)
722true Comma Comma
723true Identifier(true) Identifier(true)
724true WhiteSpace( ) WhiteSpace( )
725true Identifier(null) Identifier(null)
726true Str(jzfgow) Str(jzfgow)
727true CloseBrace CloseBrace
728true OpenBrace OpenBrace
729true WhiteSpace( ) WhiteSpace( )
730true Str(ypwth) Str(ypwth)
731true Identifier(false) Identifier(false)
732true Str(zcdpeh) Str(zcdpeh)
733true WhiteSpace( ) WhiteSpace( )
734true Str(diigtz) Str(diigtz)
735true WhiteSpace( ) WhiteSpace( )
736true Identifier(true) Identifier(true)
737true WhiteSpace( ) WhiteSpace( )
738true Identifier(null) Identifier(null)
739true CloseSquare CloseSquare
740true OpenBrace OpenBrace
741true CloseSquare CloseSquare
742true OpenBrace OpenBrace
743true Str(lk) Str(lk)
744========================================
745json {'a':1,'b':[1,{}]}
746parse OpenBrace => Right((ObjExpFieldName(List(),Some(Init)),None))
747parse Str(a) => Right((ObjAfterFieldName(a,List(),Some(Init)),None))
748parse Colon => Right((ObjExpFieldValue(a,List(),Some(Init)),None))
749parse IntNumber(1) => Right((ObjExpectComma(List((a,JsInt(1))),Some(Init)),None))
750parse Comma => Right((ObjAfterComma(List((a,JsInt(1))),Some(Init)),None))
751parse Str(b) => Right((ObjAfterFieldName(b,List((a,JsInt(1))),Some(Init)),None))
752parse Colon => Right((ObjExpFieldValue(b,List((a,JsInt(1))),Some(Init)),None))
753parse OpenSquare => Right((ArrExpectValue(List(),Some(ObjExpFieldValue(b,List((a,JsInt(1))),Some(Init)))),None))
754parse IntNumber(1) => Right((ArrExpectComma(List(JsInt(1)),Some(ObjExpFieldValue(b,List((a,JsInt(1))),Some(Init)))),None))
755parse Comma => Right((ArrAfterComma(List(JsInt(1)),Some(ObjExpFieldValue(b,List((a,JsInt(1))),Some(Init)))),None))
756parse OpenBrace => Right((ObjExpFieldName(List(),Some(ArrExpectValue(List(JsInt(1)),Some(ObjExpFieldValue(b,List((a,JsInt(1))),Some(Init)))))),None))
757parse CloseBrace => Right((ArrExpectComma(List(JsInt(1), JsObj(List())),Some(ObjExpFieldValue(b,List((a,JsInt(1))),Some(Init)))),None))
758parse CloseSquare => Right((ObjExpectComma(List((a,JsInt(1)), (b,JsArray(List(JsInt(1), JsObj(List()))))),Some(Init)),None))
759parse CloseBrace => Right((Init,Some(JsObj(List((a,JsInt(1)), (b,JsArray(List(JsInt(1), JsObj(List())))))))))
760xyz.cofe.json4s3.stream.token.TokenizerRandomTest:
761 + parse random tokens 0.023s
762========================================
763json {'a':1,'b':[2,{'c':3}]}
764tokens:
765 OpenBrace
766 Str(a)
767 Colon
768 IntNumber(1)
769 Comma
770 Str(b)
771 Colon
772 OpenSquare
773 IntNumber(2)
774 Comma
775 OpenBrace
776 Str(c)
777 Colon
778 IntNumber(3)
779 CloseBrace
780 CloseSquare
781 CloseBrace
782parse OpenBrace => Right((ObjExpFieldName(List(),Some(Init)),None))
783parse Str(a) => Right((ObjAfterFieldName(a,List(),Some(Init)),None))
784parse Colon => Right((ObjExpFieldValue(a,List(),Some(Init)),None))
785parse IntNumber(1) => Right((ObjExpectComma(List((a,JsInt(1))),Some(Init)),None))
786parse Comma => Right((ObjAfterComma(List((a,JsInt(1))),Some(Init)),None))
787parse Str(b) => Right((ObjAfterFieldName(b,List((a,JsInt(1))),Some(Init)),None))
788parse Colon => Right((ObjExpFieldValue(b,List((a,JsInt(1))),Some(Init)),None))
789parse OpenSquare => Right((ArrExpectValue(List(),Some(ObjExpFieldValue(b,List((a,JsInt(1))),Some(Init)))),None))
790parse IntNumber(2) => Right((ArrExpectComma(List(JsInt(2)),Some(ObjExpFieldValue(b,List((a,JsInt(1))),Some(Init)))),None))
791parse Comma => Right((ArrAfterComma(List(JsInt(2)),Some(ObjExpFieldValue(b,List((a,JsInt(1))),Some(Init)))),None))
792parse OpenBrace => Right((ObjExpFieldName(List(),Some(ArrExpectValue(List(JsInt(2)),Some(ObjExpFieldValue(b,List((a,JsInt(1))),Some(Init)))))),None))
793parse Str(c) => Right((ObjAfterFieldName(c,List(),Some(ArrExpectValue(List(JsInt(2)),Some(ObjExpFieldValue(b,List((a,JsInt(1))),Some(Init)))))),None))
794parse Colon => Right((ObjExpFieldValue(c,List(),Some(ArrExpectValue(List(JsInt(2)),Some(ObjExpFieldValue(b,List((a,JsInt(1))),Some(Init)))))),None))
795parse IntNumber(3) => Right((ObjExpectComma(List((c,JsInt(3))),Some(ArrExpectValue(List(JsInt(2)),Some(ObjExpFieldValue(b,List((a,JsInt(1))),Some(Init)))))),None))
796parse CloseBrace => Right((ArrExpectComma(List(JsInt(2), JsObj(List((c,JsInt(3))))),Some(ObjExpFieldValue(b,List((a,JsInt(1))),Some(Init)))),None))
797parse CloseSquare => Right((ObjExpectComma(List((a,JsInt(1)), (b,JsArray(List(JsInt(2), JsObj(List((c,JsInt(3)))))))),Some(Init)),None))
798parse CloseBrace => Right((Init,Some(JsObj(List((a,JsInt(1)), (b,JsArray(List(JsInt(2), JsObj(List((c,JsInt(3))))))))))))
799xyz.cofe.json4s3.stream.token.CommentTest:
800 + // single 0.002s
801 + /* multi 0.002s
802========================================
803json {a:[[]]}
804tokens:
805 OpenBrace
806 Identifier(a)
807 Colon
808 OpenSquare
809 OpenSquare
810 CloseSquare
811 CloseSquare
812 CloseBrace
813xyz.cofe.json4s3.derv.DerivingTest:
814 + 123 as int 0.0s
815 + 1.3 as int 0.001s
816 + 123 as short 0.001s
817 + 123 as byte 0.009s
818 + 1.3 as float 0.001s
819 + 1.3 as double 0.002s
820 + 123 as long 0.003s
821 + true as boolean 0.0s
822 + false as boolean 0.001s
823 + [1,2] as List[Int] 0.01s
824 + str to json 0.001s
825 + int to json 0.0s
826 + list[1,2] to json 0.001s
827 + case class(a:Int, b:String) 0.007s
828 + case class( a:Option[Int], b:Boolean ) 0.017s
829 + builder 0.009s
830 + default 0.008s
831 + bignum 0.002s
832parse OpenBrace => Right((ObjExpFieldName(List(),Some(Init)),None))
833parse Identifier(a) => Right((ObjAfterFieldName(a,List(),Some(Init)),None))
834parse Colon => Right((ObjExpFieldValue(a,List(),Some(Init)),None))
835parse OpenSquare => Right((ArrExpectValue(List(),Some(ObjExpFieldValue(a,List(),Some(Init)))),None))
836parse OpenSquare => Right((ArrExpectValue(List(),Some(ArrExpectValue(List(),Some(ObjExpFieldValue(a,List(),Some(Init)))))),None))
837parse CloseSquare => Right((ArrExpectComma(List(JsArray(List())),Some(ObjExpFieldValue(a,List(),Some(Init)))),None))
838parse CloseSquare => Right((ObjExpectComma(List((a,JsArray(List(JsArray(List()))))),Some(Init)),None))
839parse CloseBrace => Right((Init,Some(JsObj(List((a,JsArray(List(JsArray(List())))))))))
840========================================
841comment parse
842SLComment(sample
843)
844OpenSquare
845WhiteSpace( )
846MLComment( cmnt )
847WhiteSpace( )
848IntNumber(1)
849WhiteSpace( )
850CloseSquare
851WhiteSpace(
852)
853SLComment(last comment
854)
855WhiteSpace( )
856JsArray(List(JsInt(1)))
857xyz.cofe.json4s3.stream.ast.ParserTest:
858 + atomic str 0.0s
859 + atomic int 0.007s
860 + atomic float 0.001s
861 + atomic bigint 0.003s
862 + atomic null 0.001s
863 + atomic true 0.001s
864 + atomic false 0.0s
865 + emptry array 0.01s
866 + array[ 1 ] 0.007s
867 + array[ 1,2 ] 0.008s
868 + array[ 1,2, ] 0.007s
869 + object {} 0.003s
870 + object {'a':1} 0.005s
871 + object {'a':1,} 0.005s
872 + object {'a':1,'b':2} 0.005s
873 + json {'a':1,'b':2} 0.006s
874 + json {'a':1,'b':[]} 0.009s
875 + json {'a':1,'b':[1]} 0.01s
876 + json {'a':1,'b':[1,{}]} 0.002s
877 + json {'a':1,'b':[2,{'c':3}]} 0.011s
878 + json {a:[[]]} 0.006s
879 + comment parse 0.001s
880Some(IntNumber(0))
881xyz.cofe.json4s3.stream.token.TokenIteratorTest:
882 + read tokens 0.001s
883Some(IntNumber(0))
884Some(FloatNumber(0.0))
885Some(FloatNumber(0.0))
886-294113285720479764n
887Some(BigNumber(-294113285720479764))
888xyz.cofe.json4s3.stream.token.NumberTest:
889 + parse int 123 0.001s
890 + parse int 0 0.004s
891 + parse int -0 0.0s
892 + parse int -12 0.001s
893 + parse float 0. 0.0s
894 + parse float 0.0 0.001s
895 + parse float 10.5 0.001s
896 + parse float -1.5 0.0s
897 + parse float -.5 0.001s
898 + parse float 1.2e3 0.001s
899 + parse float 1.2e+4 0.0s
900 + parse float 1.2e-4 0.0s
901 + parse oct 0153 0.001s
902 + parse oct 0o153 0.0s
903 + parse oct 0O153 0.0s
904 + parse oct 0O153n 0.001s
905 + parse oct 0153n 0.0s
906 + parse hex 0xfa2 0.001s
907 + parse hex 0xfa2n 0.001s
908 + parse hex 0Xfa2n 0.001s
909 + parse hex 0Xfa 0.0s
910 + parse hex 0XFA 0.0s
911 + parse hex 0b110 0.0s
912 + parse hex 0B110 0.0s
913 + parse hex 0b110n 0.0s
914 + FloatNumber(0.4354165676733556) 0.001s
915 + BigInt(-294113285720479764) 0.001s
916
917************************
918Build summary:
919[{
920 "module": "json4s3",
921 "compile": {"status": "ok", "tookMs": 19185, "warnings": 2, "errors": 0, "sourceVersion": "3.8"},
922 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
923 "test-compile": {"status": "ok", "tookMs": 5060, "warnings": 1, "errors": 0, "sourceVersion": "3.8"},
924 "test": {"status": "ok", "tookMs": 681, "passed": 113, "failed": 0, "ignored": 0, "skipped": 0, "total": 113, "byFramework": [{"framework": "munit", "stats": {"passed": 113, "failed": 0, "ignored": 0, "skipped": 0, "total": 113}}]},
925 "publish": {"status": "skipped", "tookMs": 0},
926 "metadata": {
927 "crossScalaVersions": ["2.12.20", "3.2.0"]
928}
929}]
930************************
931[success] Total time: 37 s, completed Nov 28, 2025, 1:34:28 PM
932[0JChecking patch src/test/scala/xyz/cofe/json4s3/stream/token/LexerTest.scala...
933Checking patch project/plugins.sbt...
934Checking patch project/build.properties...
935Checking patch build.sbt...
936Applied patch src/test/scala/xyz/cofe/json4s3/stream/token/LexerTest.scala cleanly.
937Applied patch project/plugins.sbt cleanly.
938Applied patch project/build.properties cleanly.
939Applied patch build.sbt cleanly.