Build Logs
typelevel/laika • 3.8.0-RC3:2025-12-04
Errors
0
Warnings
0
Total Lines
2889
1##################################
2Clonning https://github.com/typelevel/laika.git into /build/repo using revision v1.3.2
3##################################
4Note: switching to 'b87fc9906bdad8200505fd26245bde5205ef0c42'.
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.5
22Using target Scala version for migration: 3.7.4
23Migrating project for -source:3.4 using Scala 3.7.4
24----
25Preparing build for 3.7.4
26Would try to apply common scalacOption (best-effort, sbt/mill only):
27Append: -rewrite,REQUIRE:-source:3.4-migration
28Remove: -indent,-no-indent,-new-syntax,,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
29
30Try apply source patch:
31Path: core/shared/src/main/scala/laika/ast/Cursor.scala
32Pattern: RewritableContainer with Block
33Replacement: (RewritableContainer & Block)
34Starting compilation server
35Compiling project (Scala 3.7.3, JVM (17))
36Compiled project (Scala 3.7.3, JVM (17))
37Successfully applied pattern ' RewritableContainer with Block ' in core/shared/src/main/scala/laika/ast/Cursor.scala
38
39Try apply source patch:
40Path: core/shared/src/main/scala/laika/internal/rewrite/TemplateFormatter.scala
41Pattern: SpanContainer with Block
42Replacement: (SpanContainer & Block)
43Successfully applied pattern ' SpanContainer with Block ' in core/shared/src/main/scala/laika/internal/rewrite/TemplateFormatter.scala
44
45Try apply source patch:
46Path: core/shared/src/main/scala/laika/internal/rewrite/TemplateFormatter.scala
47Pattern: SpanContainer with Span
48Replacement: (SpanContainer & Span)
49Successfully applied pattern ' SpanContainer with Span ' in core/shared/src/main/scala/laika/internal/rewrite/TemplateFormatter.scala
50
51Try apply source patch:
52Path: core/shared/src/test/scala/laika/internal/rst/std/StandardBlockDirectivesSpec.scala
53Pattern: Hidden with Block
54Replacement: (Hidden & Block)
55Successfully applied pattern ' Hidden with Block ' in core/shared/src/test/scala/laika/internal/rst/std/StandardBlockDirectivesSpec.scala
56
57Try apply source patch:
58Path: project/Dependencies.scala
59Pattern: val scala3 = "3.3.5"
60Replacement: val scala3 = "3.7.4"
61Successfully applied pattern 'val scala3 = "3.3.5"' in project/Dependencies.scala
62----
63Starting build for 3.7.4
64Execute tests: false
65sbt project found:
66Sbt version 1.10.11 is not supported, minimal supported version is 1.11.5
67Enforcing usage of sbt in version 1.11.5
68No prepare script found for project typelevel/laika
69##################################
70Scala version: 3.7.4
71Targets: org.typelevel%laika-core org.typelevel%laika-docs org.typelevel%laika-io org.typelevel%laika-pdf org.typelevel%laika-preview
72Project projectConfig: {"projects":{"exclude":["org.typelevel%laika-docs"],"overrides":{}},"java":{"version":"17"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"compile-only","migrationVersions":["3.4"],"sourcePatches":[{"path":"core/shared/src/main/scala/laika/ast/Cursor.scala","pattern":" RewritableContainer with Block ","replaceWith":" (RewritableContainer & Block) "},{"path":"core/shared/src/main/scala/laika/internal/rewrite/TemplateFormatter.scala","pattern":" SpanContainer with Block ","replaceWith":" (SpanContainer & Block) "},{"path":"core/shared/src/main/scala/laika/internal/rewrite/TemplateFormatter.scala","pattern":" SpanContainer with Span ","replaceWith":" (SpanContainer & Span) "},{"path":"core/shared/src/test/scala/laika/internal/rst/std/StandardBlockDirectivesSpec.scala","pattern":" Hidden with Block ","replaceWith":" (Hidden & Block) "},{"path":"project/Dependencies.scala","pattern":"val scala3 = \"3.3.5\"","replaceWith":"val scala3 = \"<SCALA_VERSION>\""}]}
73##################################
74Using extra scalacOptions: -rewrite,REQUIRE:-source:3.4-migration
75Filtering out scalacOptions: -indent,-no-indent,-new-syntax,,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
76[sbt_options] declare -a sbt_options=()
77[process_args] java_version = '17'
78[copyRt] java9_rt = '/root/.sbt/1.0/java9-rt-ext-eclipse_adoptium_17_0_8/rt.jar'
79# Executing command line:
80java
81-Xms1G
82-Xmx4G
83-XX:+UseG1GC
84-Dcommunitybuild.scala=3.7.4
85-Dcommunitybuild.project.dependencies.add=
86-Xmx7G
87-Xms4G
88-Xss8M
89-Dsbt.script=/root/.sdkman/candidates/sbt/current/bin/sbt
90-Dscala.ext.dirs=/root/.sbt/1.0/java9-rt-ext-eclipse_adoptium_17_0_8
91-jar
92/root/.sdkman/candidates/sbt/1.11.5/bin/sbt-launch.jar
93"setCrossScalaVersions 3.7.4"
94"++3.7.4 -v"
95"mapScalacOptions "-rewrite,REQUIRE:-source:3.4-migration,-Wconf:msg=can be rewritten automatically under:s" "-indent,-no-indent,-new-syntax,,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e""
96"set every credentials := Nil"
97"excludeLibraryDependency com.github.ghik:zerowaste_{scalaVersion} com.olegpy:better-monadic-for_3 org.polyvariant:better-tostring_{scalaVersion} org.wartremover:wartremover_{scalaVersion}"
98"removeScalacOptionsStartingWith -P:wartremover"
99
100moduleMappings
101"runBuild 3.7.4 """{"projects":{"exclude":["org.typelevel%laika-docs"],"overrides":{}},"java":{"version":"17"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"compile-only","migrationVersions":["3.4"],"sourcePatches":[{"path":"core/shared/src/main/scala/laika/ast/Cursor.scala","pattern":" RewritableContainer with Block ","replaceWith":" (RewritableContainer & Block) "},{"path":"core/shared/src/main/scala/laika/internal/rewrite/TemplateFormatter.scala","pattern":" SpanContainer with Block ","replaceWith":" (SpanContainer & Block) "},{"path":"core/shared/src/main/scala/laika/internal/rewrite/TemplateFormatter.scala","pattern":" SpanContainer with Span ","replaceWith":" (SpanContainer & Span) "},{"path":"core/shared/src/test/scala/laika/internal/rst/std/StandardBlockDirectivesSpec.scala","pattern":" Hidden with Block ","replaceWith":" (Hidden & Block) "},{"path":"project/Dependencies.scala","pattern":"val scala3 = \"3.3.5\"","replaceWith":"val scala3 = \"<SCALA_VERSION>\""}]}""" org.typelevel%laika-core org.typelevel%laika-docs org.typelevel%laika-io org.typelevel%laika-pdf org.typelevel%laika-preview"
102
103[info] welcome to sbt 1.11.5 (Eclipse Adoptium Java 17.0.8)
104[info] loading settings for project repo-build from akka.sbt, plugins.sbt, scripted.sbt...
105[info] loading project definition from /build/repo/project
106[info] compiling 8 Scala sources to /build/repo/project/target/scala-2.12/sbt-1.0/classes ...
107[info] Non-compiled module 'compiler-bridge_2.12' for Scala 2.12.20. Compiling...
108[info] Compilation completed in 8.604s.
109[info] done compiling
110[info] loading settings for project root from build.sbt...
111[info] resolving key references (12491 settings) ...
112[info] set scmInfo to https://github.com/typelevel/laika
113[info] set current project to root (in build file:/build/repo/)
114Execute setCrossScalaVersions: 3.7.4
115OpenCB::Changing crossVersion 3.7.4 -> 3.7.4 in pdf/crossScalaVersions
116OpenCB::Changing crossVersion 3.7.4 -> 3.7.4 in api/crossScalaVersions
117[info] set scmInfo to https://github.com/typelevel/laika
118OpenCB::Changing crossVersion 3.7.4 -> 3.7.4 in docs/crossScalaVersions
119OpenCB::Changing crossVersion 3.7.4 -> 3.7.4 in rootNative/crossScalaVersions
120OpenCB::Changing crossVersion 3.7.4 -> 3.7.4 in coreJS/crossScalaVersions
121OpenCB::Limitting incorrect crossVersions List() -> List(2.12.20) in root/crossScalaVersions
122OpenCB::Changing crossVersion 3.7.4 -> 3.7.4 in rootJS/crossScalaVersions
123OpenCB::Changing crossVersion 3.7.4 -> 3.7.4 in core/crossScalaVersions
124OpenCB::Changing crossVersion 3.7.4 -> 3.7.4 in io/crossScalaVersions
125OpenCB::Changing crossVersion 3.7.4 -> 3.7.4 in preview/crossScalaVersions
126OpenCB::Changing crossVersion 3.7.4 -> 3.7.4 in rootJVM/crossScalaVersions
127[info] set current project to root (in build file:/build/repo/)
128[info] Setting Scala version to 3.7.4 on 10 projects.
129[info] Switching Scala version on:
130[info] pdf (2.12.20, 2.13.15, 3.7.4)
131[info] rootJS (2.12.20, 2.13.15, 3.7.4)
132[info] preview (2.12.20, 2.13.15, 3.7.4)
133[info] docs (2.12.20, 2.13.15, 3.7.4)
134[info] coreJS (2.12.20, 2.13.15, 3.7.4)
135[info] rootJVM (2.12.20, 2.13.15, 3.7.4)
136[info] rootNative (2.12.20, 2.13.15, 3.7.4)
137[info] io (2.12.20, 2.13.15, 3.7.4)
138[info] api (2.12.20, 2.13.15, 3.7.4)
139[info] core (2.12.20, 2.13.15, 3.7.4)
140[info] Excluding projects:
141[info] plugin (2.12.20)
142[info] * root (2.12.20)
143[info] Reapplying settings...
144[info] set scmInfo to https://github.com/typelevel/laika
145[info] set current project to root (in build file:/build/repo/)
146Execute mapScalacOptions: -rewrite,REQUIRE:-source:3.4-migration,-Wconf:msg=can be rewritten automatically under:s -indent,-no-indent,-new-syntax,,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
147[info] Reapplying settings...
148[info] set scmInfo to https://github.com/typelevel/laika
149[info] set current project to root (in build file:/build/repo/)
150[info] Defining Global / credentials, api / credentials and 10 others.
151[info] The new values will be used by Compile / scalafmtOnly, IntegrationTest / scalafmtOnly and 105 others.
152[info] Run `last` for details.
153[info] Reapplying settings...
154[info] set scmInfo to https://github.com/typelevel/laika
155[info] set current project to root (in build file:/build/repo/)
156Execute excludeLibraryDependency: com.github.ghik:zerowaste_{scalaVersion} com.olegpy:better-monadic-for_3 org.polyvariant:better-tostring_{scalaVersion} org.wartremover:wartremover_{scalaVersion}
157[info] Reapplying settings...
158OpenCB::Failed to reapply settings in excludeLibraryDependency: Reference to undefined setting:
159
160 Global / allExcludeDependencies from Global / allExcludeDependencies (CommunityBuildPlugin.scala:331)
161 Did you mean allExcludeDependencies ?
162 , retry without global scopes
163[info] Reapplying settings...
164[info] set scmInfo to https://github.com/typelevel/laika
165[info] set current project to root (in build file:/build/repo/)
166Execute removeScalacOptionsStartingWith: -P:wartremover
167[info] Reapplying settings...
168[info] set scmInfo to https://github.com/typelevel/laika
169[info] set current project to root (in build file:/build/repo/)
170[success] Total time: 0 s, completed Dec 4, 2025, 2:35:06 PM
171Build config: {"projects":{"exclude":["org.typelevel%laika-docs"],"overrides":{}},"java":{"version":"17"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"compile-only","migrationVersions":["3.4"],"sourcePatches":[{"path":"core/shared/src/main/scala/laika/ast/Cursor.scala","pattern":" RewritableContainer with Block ","replaceWith":" (RewritableContainer & Block) "},{"path":"core/shared/src/main/scala/laika/internal/rewrite/TemplateFormatter.scala","pattern":" SpanContainer with Block ","replaceWith":" (SpanContainer & Block) "},{"path":"core/shared/src/main/scala/laika/internal/rewrite/TemplateFormatter.scala","pattern":" SpanContainer with Span ","replaceWith":" (SpanContainer & Span) "},{"path":"core/shared/src/test/scala/laika/internal/rst/std/StandardBlockDirectivesSpec.scala","pattern":" Hidden with Block ","replaceWith":" (Hidden & Block) "},{"path":"project/Dependencies.scala","pattern":"val scala3 = \"3.3.5\"","replaceWith":"val scala3 = \"<SCALA_VERSION>\""}]}
172Parsed config: Success(ProjectBuildConfig(ProjectsConfig(List(org.typelevel%laika-docs),Map()),CompileOnly,List()))
173Excluding target 'org.typelevel%laika-docs' - matches exclusion rule: 'org.typelevel%laika-docs'
174Starting build...
175Projects: Set(core, io, pdf, preview)
176Starting build for ProjectRef(file:/build/repo/,core) (laika-core)... [0/4]
177OpenCB::Exclude Scala3 specific scalacOption `-rewrite` in Scala 2.12.20 module Global
178OpenCB::Exclude Scala3 specific scalacOption `REQUIRE:-source:3.4-migration` in Scala 2.12.20 module Global
179OpenCB::Filter out '-deprecation', matches setting pattern '^-?-deprecation'
180OpenCB::Filter out '-feature', matches setting pattern '^-?-feature'
181Compile scalacOptions: -encoding, UTF-8, -unchecked, -Wunused:implicits, -Wunused:explicits, -Wunused:imports, -Wunused:locals, -Wunused:params, -Wunused:privates, -Wvalue-discard, -language:implicitConversions, -Xkind-projector, -java-output-version, 8, -rewrite, -Wconf:msg=can be rewritten automatically under:s, -source:3.4-migration
182[info] compiling 223 Scala sources to /build/repo/core/jvm/target/scala-3.7.4/classes ...
183[info] [patched file /build/repo/core/shared/src/main/scala/laika/parse/code/common/Identifier.scala]
184[info] [patched file /build/repo/core/shared/src/main/scala/laika/ast/OutputContext.scala]
185[info] [patched file /build/repo/core/shared/src/main/scala/laika/api/bundle/ExtensionBundle.scala]
186[info] [patched file /build/repo/core/shared/src/main/scala/laika/parse/text/DelimiterParser.scala]
187[info] [patched file /build/repo/core/shared/src/main/scala/laika/internal/rewrite/RecursiveResolverRules.scala]
188[info] [patched file /build/repo/core/shared/src/main/scala/laika/internal/parse/markup/DefaultEscapedTextParsers.scala]
189[info] [patched file /build/repo/core/shared/src/main/scala/laika/api/builder/TwoPhaseTransformerBuilder.scala]
190[info] [patched file /build/repo/core/shared/src/main/scala/laika/api/bundle/ParserBuilder.scala]
191[info] [patched file /build/repo/core/shared/src/main/scala/laika/ast/RomanNumerals.scala]
192[info] [patched file /build/repo/core/shared/src/main/scala/laika/internal/rst/std/StandardBlockDirectives.scala]
193[info] [patched file /build/repo/core/shared/src/main/scala/laika/api/builder/OperationConfig.scala]
194[info] [patched file /build/repo/core/shared/src/main/scala/laika/parse/markup/BlockParsers.scala]
195[info] [patched file /build/repo/core/shared/src/main/scala/laika/internal/parse/hocon/HoconParsers.scala]
196[info] [patched file /build/repo/core/shared/src/main/scala/laika/internal/parse/markup/RootParser.scala]
197[info] [patched file /build/repo/core/shared/src/main/scala/laika/api/bundle/directives.scala]
198[info] [patched file /build/repo/core/shared/src/main/scala/laika/parse/text/TextParsers.scala]
199[info] [patched file /build/repo/core/shared/src/main/scala/laika/parse/code/languages/PythonSyntax.scala]
200[info] [patched file /build/repo/core/shared/src/main/scala/laika/internal/rst/ExplicitBlockParsers.scala]
201[info] [patched file /build/repo/core/shared/src/main/scala/laika/internal/rst/TableParsers.scala]
202[info] [patched file /build/repo/core/shared/src/main/scala/laika/api/builder/TwoPhaseRendererBuilder.scala]
203[info] [patched file /build/repo/core/shared/src/main/scala/laika/ast/RewriteRules.scala]
204[info] [patched file /build/repo/core/shared/src/main/scala/laika/internal/render/HTMLRenderer.scala]
205[info] [patched file /build/repo/core/shared/src/main/scala/laika/ast/ElementTraversal.scala]
206[info] [patched file /build/repo/core/shared/src/main/scala/laika/parse/code/languages/ShellSyntax.scala]
207[info] [patched file /build/repo/core/shared/src/main/scala/laika/api/format/TagFormatter.scala]
208[info] [patched file /build/repo/core/shared/src/main/scala/laika/parse/text/PrefixedParser.scala]
209[info] [patched file /build/repo/core/shared/src/main/scala/laika/internal/render/FORenderer.scala]
210[info] [patched file /build/repo/core/shared/src/main/scala/laika/parse/code/common/Keywords.scala]
211[info] [patched file /build/repo/core/shared/src/main/scala/laika/internal/parse/markup/DocumentParser.scala]
212[info] [patched file /build/repo/core/shared/src/main/scala/laika/parse/SourceCursor.scala]
213[info] [patched file /build/repo/core/shared/src/main/scala/laika/internal/markdown/BlockParsers.scala]
214[info] [patched file /build/repo/core/shared/src/main/scala/laika/parse/code/languages/SQLSyntax.scala]
215[info] [patched file /build/repo/core/shared/src/main/scala/laika/internal/rst/ext/TextRoles.scala]
216[info] [patched file /build/repo/core/shared/src/main/scala/laika/internal/render/FOFormatter.scala]
217[info] [patched file /build/repo/core/shared/src/main/scala/laika/parse/text/CharGroup.scala]
218[info] [patched file /build/repo/core/shared/src/main/scala/laika/internal/rst/std/StandardTextRoles.scala]
219[info] [patched file /build/repo/core/shared/src/main/scala/laika/parse/Parser.scala]
220[info] [patched file /build/repo/core/shared/src/main/scala/laika/internal/directive/StandardDirectives.scala]
221[info] [patched file /build/repo/core/shared/src/main/scala/laika/parse/code/languages/HOCONSyntax.scala]
222[info] [patched file /build/repo/core/shared/src/main/scala/laika/ast/documents.scala]
223[info] [patched file /build/repo/core/shared/src/main/scala/laika/api/bundle/ParserBundle.scala]
224[info] [patched file /build/repo/core/shared/src/main/scala/laika/ast/links.scala]
225[info] [patched file /build/repo/core/shared/src/main/scala/laika/internal/rst/ListParsers.scala]
226[info] done compiling
227[info] compiling 43 Scala sources to /build/repo/core/jvm/target/scala-3.7.4/classes ...
228[info] done compiling
229[info] compiling 57 Scala sources to /build/repo/core/jvm/target/scala-3.7.4/classes ...
230[info] done compiling
231[info] compiling 41 Scala sources to /build/repo/core/jvm/target/scala-3.7.4/classes ...
232[info] done compiling
233[info] compiling 223 Scala sources to /build/repo/core/jvm/target/scala-3.7.4/classes ...
234[info] done compiling
235[info] compiling 87 Scala sources to /build/repo/core/jvm/target/scala-3.7.4/test-classes ...
236[info] [patched file /build/repo/core/shared/src/test/scala/laika/markdown/HTMLModelBuilder.scala]
237[info] [patched file /build/repo/core/shared/src/test/scala/laika/markdown/APISpec.scala]
238[info] [patched file /build/repo/core/shared/src/test/scala/laika/internal/rst/bundle/ExtendedHTMLRendererSpec.scala]
239[info] [patched file /build/repo/core/shared/src/test/scala/laika/internal/rst/APISpec.scala]
240[info] [patched file /build/repo/core/shared/src/test/scala/laika/parse/ParserSpec.scala]
241[info] [patched file /build/repo/core/shared/src/test/scala/laika/internal/rst/ext/DirectiveSpec.scala]
242[info] [patched file /build/repo/core/shared/src/test/scala/laika/ast/DocumentTreeAPISpec.scala]
243[info] [patched file /build/repo/core/shared/src/test/scala/laika/directive/std/NavigationDirectiveSpec.scala]
244[info] [patched file /build/repo/core/shared/src/test/scala/laika/directive/BlockDirectiveAPISpec.scala]
245[info] [patched file /build/repo/core/shared/src/test/scala/laika/directive/SpanDirectiveAPISpec.scala]
246[info] [patched file /build/repo/core/shared/src/test/scala/laika/api/RenderPhaseRewrite.scala]
247[info] [patched file /build/repo/core/shared/src/test/scala/laika/rewrite/RewriteRulesSpec.scala]
248[info] [patched file /build/repo/core/shared/src/test/scala/laika/directive/std/LinkDirectiveSpec.scala]
249[info] [patched file /build/repo/core/shared/src/test/scala/laika/directive/TemplateDirectiveAPISpec.scala]
250[info] [patched file /build/repo/core/shared/src/test/scala/laika/rewrite/SectionNumberSpec.scala]
251[info] done compiling
252[info] compiling 15 Scala sources to /build/repo/core/jvm/target/scala-3.7.4/test-classes ...
253[info] done compiling
254[info] compiling 15 Scala sources to /build/repo/core/jvm/target/scala-3.7.4/test-classes ...
255[info] done compiling
256Starting build for ProjectRef(file:/build/repo/,io) (laika-io)... [1/4]
257Compile scalacOptions: -encoding, UTF-8, -unchecked, -Wunused:implicits, -Wunused:explicits, -Wunused:imports, -Wunused:locals, -Wunused:params, -Wunused:privates, -Wvalue-discard, -language:implicitConversions, -Xkind-projector, -java-output-version, 8, -rewrite, -Wconf:msg=can be rewritten automatically under:s, -source:3.4-migration
258[info] compiling 91 Scala sources to /build/repo/io/target/scala-3.7.4/classes ...
259[info] [patched file /build/repo/io/src/main/scala/laika/io/ops/BinaryOutputOps.scala]
260[info] [patched file /build/repo/io/src/main/scala/laika/io/internal/runtime/RendererRuntime.scala]
261[info] [patched file /build/repo/io/src/main/scala/laika/io/syntax.scala]
262[info] [patched file /build/repo/io/src/main/scala/laika/io/api/BinaryTreeTransformer.scala]
263[info] [patched file /build/repo/io/src/main/scala/laika/io/api/TreeTransformer.scala]
264[info] [patched file /build/repo/io/src/main/scala/laika/io/api/BinaryTreeRenderer.scala]
265[info] [patched file /build/repo/io/src/main/scala/laika/io/model/FilePath.scala]
266[info] [patched file /build/repo/io/src/main/scala/laika/io/api/TreeParser.scala]
267[info] [patched file /build/repo/io/src/main/scala/laika/io/ops/InputOps.scala]
268[info] done compiling
269[info] compiling 9 Scala sources to /build/repo/io/target/scala-3.7.4/classes ...
270[info] done compiling
271[info] compiling 44 Scala sources to /build/repo/io/target/scala-3.7.4/test-classes ...
272[info] [patched file /build/repo/io/src/test/scala/laika/io/helper/TestThemeBuilder.scala]
273[info] [patched file /build/repo/io/src/test/scala/laika/io/TreeRendererSpec.scala]
274[info] [patched file /build/repo/io/src/test/scala/laika/theme/ThemeBundleSpec.scala]
275[info] done compiling
276[info] compiling 3 Scala sources to /build/repo/io/target/scala-3.7.4/test-classes ...
277[info] done compiling
278[info] compiling 3 Scala sources to /build/repo/io/target/scala-3.7.4/test-classes ...
279[info] done compiling
280Starting build for ProjectRef(file:/build/repo/,pdf) (laika-pdf)... [2/4]
281Compile scalacOptions: -encoding, UTF-8, -unchecked, -Wunused:implicits, -Wunused:explicits, -Wunused:imports, -Wunused:locals, -Wunused:params, -Wunused:privates, -Wvalue-discard, -language:implicitConversions, -Xkind-projector, -java-output-version, 8, -rewrite, -Wconf:msg=can be rewritten automatically under:s, -source:3.4-migration
282[info] compiling 7 Scala sources to /build/repo/pdf/target/scala-3.7.4/classes ...
283[info] done compiling
284[info] compiling 6 Scala sources to /build/repo/pdf/target/scala-3.7.4/test-classes ...
285[info] [patched file /build/repo/pdf/src/test/scala/laika/render/PDFTreeModel.scala]
286[info] done compiling
287[info] compiling 1 Scala source to /build/repo/pdf/target/scala-3.7.4/test-classes ...
288[info] done compiling
289[info] compiling 2 Scala sources to /build/repo/pdf/target/scala-3.7.4/test-classes ...
290[info] done compiling
291Starting build for ProjectRef(file:/build/repo/,preview) (laika-preview)... [3/4]
292Compile scalacOptions: -encoding, UTF-8, -unchecked, -Wunused:implicits, -Wunused:explicits, -Wunused:imports, -Wunused:locals, -Wunused:params, -Wunused:privates, -Wvalue-discard, -language:implicitConversions, -Xkind-projector, -java-output-version, 8, -rewrite, -Wconf:msg=can be rewritten automatically under:s, -source:3.4-migration
293[info] compiling 7 Scala sources to /build/repo/preview/target/scala-3.7.4/classes ...
294[info] [patched file /build/repo/preview/src/main/scala/laika/preview/ServerBuilder.scala]
295[info] [patched file /build/repo/preview/src/main/scala/laika/preview/internal/SourceChangeWatcher.scala]
296[info] done compiling
297[info] compiling 2 Scala sources to /build/repo/preview/target/scala-3.7.4/classes ...
298[info] done compiling
299[info] compiling 1 Scala source to /build/repo/preview/target/scala-3.7.4/test-classes ...
300[info] done compiling
301
302************************
303Build summary:
304[{
305 "module": "laika-core",
306 "compile": {"status": "ok", "tookMs": 36747, "warnings": 0, "errors": 0, "sourceVersion": "3.4-migration"},
307 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
308 "test-compile": {"status": "ok", "tookMs": 42146, "warnings": 0, "errors": 0, "sourceVersion": "3.4-migration"},
309 "test": {"status": "skipped", "tookMs": 0, "passed": 0, "failed": 0, "ignored": 0, "skipped": 0, "total": 0, "byFramework": []},
310 "publish": {"status": "skipped", "tookMs": 0},
311 "metadata": {
312 "crossScalaVersions": ["2.12.20", "2.13.15", "3.3.5"]
313}
314},{
315 "module": "laika-io",
316 "compile": {"status": "ok", "tookMs": 4733, "warnings": 0, "errors": 0, "sourceVersion": "3.4-migration"},
317 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
318 "test-compile": {"status": "ok", "tookMs": 5634, "warnings": 0, "errors": 0, "sourceVersion": "3.4-migration"},
319 "test": {"status": "skipped", "tookMs": 0, "passed": 0, "failed": 0, "ignored": 0, "skipped": 0, "total": 0, "byFramework": []},
320 "publish": {"status": "skipped", "tookMs": 0},
321 "metadata": {
322 "crossScalaVersions": ["2.12.20", "2.13.15", "3.3.5"]
323}
324},{
325 "module": "laika-pdf",
326 "compile": {"status": "ok", "tookMs": 990, "warnings": 0, "errors": 0, "sourceVersion": "3.4-migration"},
327 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
328 "test-compile": {"status": "ok", "tookMs": 1212, "warnings": 0, "errors": 0, "sourceVersion": "3.4-migration"},
329 "test": {"status": "skipped", "tookMs": 0, "passed": 0, "failed": 0, "ignored": 0, "skipped": 0, "total": 0, "byFramework": []},
330 "publish": {"status": "skipped", "tookMs": 0},
331 "metadata": {
332 "crossScalaVersions": ["2.12.20", "2.13.15", "3.3.5"]
333}
334},{
335 "module": "laika-preview",
336 "compile": {"status": "ok", "tookMs": 2254, "warnings": 0, "errors": 0, "sourceVersion": "3.4-migration"},
337 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
338 "test-compile": {"status": "ok", "tookMs": 2658, "warnings": 0, "errors": 0, "sourceVersion": "3.4-migration"},
339 "test": {"status": "skipped", "tookMs": 0, "passed": 0, "failed": 0, "ignored": 0, "skipped": 0, "total": 0, "byFramework": []},
340 "publish": {"status": "skipped", "tookMs": 0},
341 "metadata": {
342 "crossScalaVersions": ["2.12.20", "2.13.15", "3.3.5"]
343}
344}]
345************************
346[success] Total time: 132 s (0:02:12.0), completed Dec 4, 2025, 2:37:17 PM
347[0JChecking patch project/plugins.sbt...
348Checking patch project/build.properties...
349Checking patch project/Dependencies.scala...
350Checking patch core/shared/src/test/scala/laika/internal/rst/std/StandardBlockDirectivesSpec.scala...
351Checking patch core/shared/src/main/scala/laika/internal/rewrite/TemplateFormatter.scala...
352Checking patch core/shared/src/main/scala/laika/ast/Cursor.scala...
353Checking patch build.sbt...
354Applied patch project/plugins.sbt cleanly.
355Applied patch project/build.properties cleanly.
356Applied patch project/Dependencies.scala cleanly.
357Applied patch core/shared/src/test/scala/laika/internal/rst/std/StandardBlockDirectivesSpec.scala cleanly.
358Applied patch core/shared/src/main/scala/laika/internal/rewrite/TemplateFormatter.scala cleanly.
359Applied patch core/shared/src/main/scala/laika/ast/Cursor.scala cleanly.
360Applied patch build.sbt cleanly.
361Commit migration rewrites
362Switched to a new branch 'opencb/migrate-source-3.4'
363[opencb/migrate-source-3.4 b1443bb7f] Apply Scala compiler rewrites using -source:3.4-migration using Scala 3.7.4
364 73 files changed, 139 insertions(+), 139 deletions(-)
365----
366Preparing build for 3.8.0-RC3
367Scala binary version found: 3.8
368Implicitly using source version 3.8
369Scala binary version found: 3.8
370Implicitly using source version 3.8
371Would try to apply common scalacOption (best-effort, sbt/mill only):
372Append: ,REQUIRE:-source:3.8
373Remove: ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
374
375Try apply source patch:
376Path: core/shared/src/main/scala/laika/ast/Cursor.scala
377Pattern: RewritableContainer with Block
378Replacement: (RewritableContainer & Block)
379Successfully applied pattern ' RewritableContainer with Block ' in core/shared/src/main/scala/laika/ast/Cursor.scala
380
381Try apply source patch:
382Path: core/shared/src/main/scala/laika/internal/rewrite/TemplateFormatter.scala
383Pattern: SpanContainer with Block
384Replacement: (SpanContainer & Block)
385Successfully applied pattern ' SpanContainer with Block ' in core/shared/src/main/scala/laika/internal/rewrite/TemplateFormatter.scala
386
387Try apply source patch:
388Path: core/shared/src/main/scala/laika/internal/rewrite/TemplateFormatter.scala
389Pattern: SpanContainer with Span
390Replacement: (SpanContainer & Span)
391Successfully applied pattern ' SpanContainer with Span ' in core/shared/src/main/scala/laika/internal/rewrite/TemplateFormatter.scala
392
393Try apply source patch:
394Path: core/shared/src/test/scala/laika/internal/rst/std/StandardBlockDirectivesSpec.scala
395Pattern: Hidden with Block
396Replacement: (Hidden & Block)
397Successfully applied pattern ' Hidden with Block ' in core/shared/src/test/scala/laika/internal/rst/std/StandardBlockDirectivesSpec.scala
398
399Try apply source patch:
400Path: project/Dependencies.scala
401Pattern: val scala3 = "3.3.5"
402Replacement: val scala3 = "3.8.0-RC3"
403Successfully applied pattern 'val scala3 = "3.3.5"' in project/Dependencies.scala
404----
405Starting build for 3.8.0-RC3
406Execute tests: true
407sbt project found:
408Sbt version 1.10.11 is not supported, minimal supported version is 1.11.5
409Enforcing usage of sbt in version 1.11.5
410No prepare script found for project typelevel/laika
411##################################
412Scala version: 3.8.0-RC3
413Targets: org.typelevel%laika-core org.typelevel%laika-docs org.typelevel%laika-io org.typelevel%laika-pdf org.typelevel%laika-preview
414Project projectConfig: {"projects":{"exclude":["org.typelevel%laika-docs"],"overrides":{}},"java":{"version":"17"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":["3.4"],"sourcePatches":[{"path":"core/shared/src/main/scala/laika/ast/Cursor.scala","pattern":" RewritableContainer with Block ","replaceWith":" (RewritableContainer & Block) "},{"path":"core/shared/src/main/scala/laika/internal/rewrite/TemplateFormatter.scala","pattern":" SpanContainer with Block ","replaceWith":" (SpanContainer & Block) "},{"path":"core/shared/src/main/scala/laika/internal/rewrite/TemplateFormatter.scala","pattern":" SpanContainer with Span ","replaceWith":" (SpanContainer & Span) "},{"path":"core/shared/src/test/scala/laika/internal/rst/std/StandardBlockDirectivesSpec.scala","pattern":" Hidden with Block ","replaceWith":" (Hidden & Block) "},{"path":"project/Dependencies.scala","pattern":"val scala3 = \"3.3.5\"","replaceWith":"val scala3 = \"<SCALA_VERSION>\""}]}
415##################################
416Using extra scalacOptions: ,REQUIRE:-source:3.8
417Filtering out scalacOptions: ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
418[sbt_options] declare -a sbt_options=()
419[process_args] java_version = '17'
420[copyRt] java9_rt = '/root/.sbt/1.0/java9-rt-ext-eclipse_adoptium_17_0_8/rt.jar'
421# Executing command line:
422java
423-Xms1G
424-Xmx4G
425-XX:+UseG1GC
426-Dcommunitybuild.scala=3.8.0-RC3
427-Dcommunitybuild.project.dependencies.add=
428-Xmx7G
429-Xms4G
430-Xss8M
431-Dsbt.script=/root/.sdkman/candidates/sbt/current/bin/sbt
432-Dscala.ext.dirs=/root/.sbt/1.0/java9-rt-ext-eclipse_adoptium_17_0_8
433-jar
434/root/.sdkman/candidates/sbt/1.11.5/bin/sbt-launch.jar
435"setCrossScalaVersions 3.8.0-RC3"
436"++3.8.0-RC3 -v"
437"mapScalacOptions ",REQUIRE:-source:3.8,-Wconf:msg=can be rewritten automatically under:s" ",-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e""
438"set every credentials := Nil"
439"excludeLibraryDependency com.github.ghik:zerowaste_{scalaVersion} com.olegpy:better-monadic-for_3 org.polyvariant:better-tostring_{scalaVersion} org.wartremover:wartremover_{scalaVersion}"
440"removeScalacOptionsStartingWith -P:wartremover"
441
442moduleMappings
443"runBuild 3.8.0-RC3 """{"projects":{"exclude":["org.typelevel%laika-docs"],"overrides":{}},"java":{"version":"17"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":["3.4"],"sourcePatches":[{"path":"core/shared/src/main/scala/laika/ast/Cursor.scala","pattern":" RewritableContainer with Block ","replaceWith":" (RewritableContainer & Block) "},{"path":"core/shared/src/main/scala/laika/internal/rewrite/TemplateFormatter.scala","pattern":" SpanContainer with Block ","replaceWith":" (SpanContainer & Block) "},{"path":"core/shared/src/main/scala/laika/internal/rewrite/TemplateFormatter.scala","pattern":" SpanContainer with Span ","replaceWith":" (SpanContainer & Span) "},{"path":"core/shared/src/test/scala/laika/internal/rst/std/StandardBlockDirectivesSpec.scala","pattern":" Hidden with Block ","replaceWith":" (Hidden & Block) "},{"path":"project/Dependencies.scala","pattern":"val scala3 = \"3.3.5\"","replaceWith":"val scala3 = \"<SCALA_VERSION>\""}]}""" org.typelevel%laika-core org.typelevel%laika-docs org.typelevel%laika-io org.typelevel%laika-pdf org.typelevel%laika-preview"
444
445[info] welcome to sbt 1.11.5 (Eclipse Adoptium Java 17.0.8)
446[info] loading settings for project repo-build from akka.sbt, plugins.sbt, scripted.sbt...
447[info] loading project definition from /build/repo/project
448[info] compiling 1 Scala source to /build/repo/project/target/scala-2.12/sbt-1.0/classes ...
449[info] done compiling
450[info] loading settings for project root from build.sbt...
451[info] resolving key references (12491 settings) ...
452[info] set scmInfo to https://github.com/typelevel/laika
453[info] set current project to root (in build file:/build/repo/)
454Execute setCrossScalaVersions: 3.8.0-RC3
455OpenCB::Changing crossVersion 3.8.0-RC3 -> 3.8.0-RC3 in pdf/crossScalaVersions
456OpenCB::Changing crossVersion 3.8.0-RC3 -> 3.8.0-RC3 in api/crossScalaVersions
457[info] set scmInfo to https://github.com/typelevel/laika
458OpenCB::Changing crossVersion 3.8.0-RC3 -> 3.8.0-RC3 in docs/crossScalaVersions
459OpenCB::Changing crossVersion 3.8.0-RC3 -> 3.8.0-RC3 in rootJS/crossScalaVersions
460OpenCB::Changing crossVersion 3.8.0-RC3 -> 3.8.0-RC3 in io/crossScalaVersions
461OpenCB::Changing crossVersion 3.8.0-RC3 -> 3.8.0-RC3 in core/crossScalaVersions
462OpenCB::Changing crossVersion 3.8.0-RC3 -> 3.8.0-RC3 in rootNative/crossScalaVersions
463OpenCB::Changing crossVersion 3.8.0-RC3 -> 3.8.0-RC3 in preview/crossScalaVersions
464OpenCB::Changing crossVersion 3.8.0-RC3 -> 3.8.0-RC3 in coreJS/crossScalaVersions
465OpenCB::Limitting incorrect crossVersions List() -> List(2.12.20) in root/crossScalaVersions
466OpenCB::Changing crossVersion 3.8.0-RC3 -> 3.8.0-RC3 in rootJVM/crossScalaVersions
467[info] set current project to root (in build file:/build/repo/)
468[info] Setting Scala version to 3.8.0-RC3 on 10 projects.
469[info] Switching Scala version on:
470[info] pdf (2.12.20, 2.13.15, 3.8.0-RC3)
471[info] rootJS (2.12.20, 2.13.15, 3.8.0-RC3)
472[info] preview (2.12.20, 2.13.15, 3.8.0-RC3)
473[info] docs (2.12.20, 2.13.15, 3.8.0-RC3)
474[info] coreJS (2.12.20, 2.13.15, 3.8.0-RC3)
475[info] rootJVM (2.12.20, 2.13.15, 3.8.0-RC3)
476[info] rootNative (2.12.20, 2.13.15, 3.8.0-RC3)
477[info] io (2.12.20, 2.13.15, 3.8.0-RC3)
478[info] api (2.12.20, 2.13.15, 3.8.0-RC3)
479[info] core (2.12.20, 2.13.15, 3.8.0-RC3)
480[info] Excluding projects:
481[info] plugin (2.12.20)
482[info] * root (2.12.20)
483[info] Reapplying settings...
484[info] set scmInfo to https://github.com/typelevel/laika
485[info] set current project to root (in build file:/build/repo/)
486Execute mapScalacOptions: ,REQUIRE:-source:3.8,-Wconf:msg=can be rewritten automatically under:s ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
487[info] Reapplying settings...
488[info] set scmInfo to https://github.com/typelevel/laika
489[info] set current project to root (in build file:/build/repo/)
490[info] Defining Global / credentials, api / credentials and 10 others.
491[info] The new values will be used by Compile / scalafmtOnly, IntegrationTest / scalafmtOnly and 105 others.
492[info] Run `last` for details.
493[info] Reapplying settings...
494[info] set scmInfo to https://github.com/typelevel/laika
495[info] set current project to root (in build file:/build/repo/)
496Execute excludeLibraryDependency: com.github.ghik:zerowaste_{scalaVersion} com.olegpy:better-monadic-for_3 org.polyvariant:better-tostring_{scalaVersion} org.wartremover:wartremover_{scalaVersion}
497[info] Reapplying settings...
498OpenCB::Failed to reapply settings in excludeLibraryDependency: Reference to undefined setting:
499
500 Global / allExcludeDependencies from Global / allExcludeDependencies (CommunityBuildPlugin.scala:331)
501 Did you mean allExcludeDependencies ?
502 , retry without global scopes
503[info] Reapplying settings...
504[info] set scmInfo to https://github.com/typelevel/laika
505[info] set current project to root (in build file:/build/repo/)
506Execute removeScalacOptionsStartingWith: -P:wartremover
507[info] Reapplying settings...
508[info] set scmInfo to https://github.com/typelevel/laika
509[info] set current project to root (in build file:/build/repo/)
510[success] Total time: 0 s, completed Dec 4, 2025, 2:37:44 PM
511Build config: {"projects":{"exclude":["org.typelevel%laika-docs"],"overrides":{}},"java":{"version":"17"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":["3.4"],"sourcePatches":[{"path":"core/shared/src/main/scala/laika/ast/Cursor.scala","pattern":" RewritableContainer with Block ","replaceWith":" (RewritableContainer & Block) "},{"path":"core/shared/src/main/scala/laika/internal/rewrite/TemplateFormatter.scala","pattern":" SpanContainer with Block ","replaceWith":" (SpanContainer & Block) "},{"path":"core/shared/src/main/scala/laika/internal/rewrite/TemplateFormatter.scala","pattern":" SpanContainer with Span ","replaceWith":" (SpanContainer & Span) "},{"path":"core/shared/src/test/scala/laika/internal/rst/std/StandardBlockDirectivesSpec.scala","pattern":" Hidden with Block ","replaceWith":" (Hidden & Block) "},{"path":"project/Dependencies.scala","pattern":"val scala3 = \"3.3.5\"","replaceWith":"val scala3 = \"<SCALA_VERSION>\""}]}
512Parsed config: Success(ProjectBuildConfig(ProjectsConfig(List(org.typelevel%laika-docs),Map()),Full,List()))
513Excluding target 'org.typelevel%laika-docs' - matches exclusion rule: 'org.typelevel%laika-docs'
514Starting build...
515Projects: Set(core, io, pdf, preview)
516Starting build for ProjectRef(file:/build/repo/,core) (laika-core)... [0/4]
517OpenCB::Exclude Scala3 specific scalacOption `REQUIRE:-source:3.8` in Scala 2.12.20 module Global
518OpenCB::Filter out '-deprecation', matches setting pattern '^-?-deprecation'
519OpenCB::Filter out '-feature', matches setting pattern '^-?-feature'
520Compile scalacOptions: -encoding, UTF-8, -unchecked, -Wunused:implicits, -Wunused:explicits, -Wunused:imports, -Wunused:locals, -Wunused:params, -Wunused:privates, -Wvalue-discard, -language:implicitConversions, -Xkind-projector, --java-output-version:17, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
521[info] compiling 223 Scala sources to /build/repo/core/jvm/target/scala-3.8.0-RC3/classes ...
522[info] done compiling
523[info] compiling 87 Scala sources to /build/repo/core/jvm/target/scala-3.8.0-RC3/test-classes ...
524[info] done compiling
525laika.parse.BlockCursorSpec:
526 + not be at the end of input after creation 0.008s
527 + be at the end of input after consuming all characters 0.001s
528 + indicate the full input length as remaining after creation 0.001s
529 + indicate zero remaining after consuming all characters 0.001s
530 + return the first character after creation 0.0s
531 + return the last character after consuming all but one characters 0.001s
532 + return a character relative to the current offset 0.001s
533 + capture the input from the beginning 0.0s
534 + capture the input from the current position 0.001s
535 + capture all remaining characters when trying to capture more characters than are available 0.001s
536 + provide the input reversed 0.003s
537 + indicate the position is on the first line (second in root source) 0.001s
538 + indicate the position is on the second line (third in root source) 0.001s
539 + provide the content of the first line 0.001s
540 + provide the content of the second line 0.0s
541 + provide the content of the second line with a positional caret 0.002s
542 + indicate the correct column 0.001s
543 + keep the path information 0.002s
544laika.parse.ParserSpec:
545 + provide the result of the parsing operation 0.002s
546 + map the result 0.001s
547 + flatMap with a different parser 0.001s
548 + fail the flatMap when the first parser fails 0.008s
549 + fail the flatMap when the second parser fails 0.001s
550 + provide a fixed result 0.003s
551 + apply a partial function to the result 0.001s
552 + fail if the specified partial function is not defined for the result 0.001s
553 + succeed if the specified Either function produces a Right 0.001s
554 + fail if the specified Either function produces a Left 0.001s
555 + handle errors from a failed parser 0.0s
556 + handle errors from a failed parser with information from the error 0.007s
557 + recover from a failed parser 0.002s
558 + recover from a failed parser with information from the error 0.0s
559 + alternatives - provide the result of the first parser if it succeeds 0.003s
560 + alternatives - provide the result of the second parser if the first fails, but the second succeeds 0.0s
561 + alternatives - fail if both parsers fail 0.001s
562 + alternatives - pick the first error when it has the largest max offset 0.0s
563 + alternatives - pick the last error when it has the largest max offset 0.001s
564 + alternatives - pick the error of the parser with highest precedence if multiple failures have the same max offset 0.001s
565 + concatenation - provide the combined result 0.0s
566 + concatenation - fail if the first parser fails 0.001s
567 + concatenation - fail if the second parser fails 0.0s
568 + concatenation - provide the first result 0.001s
569 + concatenation - provide the second result 0.0s
570 + opt - produce a Some when the underlying parser succeeds 0.0s
571 + opt - produce a None when the underlying parser fails 0.0s
572 + not - fail when the underlying parser succeeds 0.0s
573 + not - succeed when the underlying parser fails 0.002s
574 + success parser always succeeds 0.0s
575 + failure parser always fails 0.0s
576 + rep - produce an empty result when the first invocation fails 0.001s
577 + rep - provide all matching substrings 0.001s
578 + rep.min - fail if the required minimum number of successful invocations is not reached 0.0s
579 + rep.min - succeed if at least one invocation succeeds 0.0s
580 + rep.min - succeed if the specified number of successful invocations is reached 0.0s
581 + rep.max - produce an empty result when the first invocation fails 0.0s
582 + rep.max - provide only the maximum number of result allowed 0.001s
583 + rep with separator - produce an empty result when the first invocation fails 0.0s
584 + rep with separator - provide all matching substrings 0.0s
585 + rep with separator - succeed if the specified number of successful invocations is reached 0.0s
586 + rep with separator - fail if the required minimum number of successful invocations is not reached 0.001s
587 + repWith - parse a sequence based on a dynamically changing parser 0.0s
588 + repWith - succeed when only the first parsing step succeeds 0.001s
589 + repWith - succeed with an empty result when the first parsing step fails 0.0s
590 + lookAhead - succeeds when the underlying parser succeeds at the current offset 0.0s
591 + lookAhead - succeeds when the underlying parser succeeds at the specified offset 0.002s
592 + lookAhead - fails when the underlying parser fails at the current offset 0.002s
593 + lookAhead - fails when the underlying parser fails at the specified offset 0.0s
594 + lookAhead - fails when the specified offset is too big 0.0s
595 + lookBehind - succeeds when the specified parser succeeds at the given negative offset 0.001s
596 + lookBehind - fails when the specified parser fails at the given negative offset 0.0s
597 + lookBehind - fails when the specified negative offset is too big 0.001s
598 + consumeAll - succeeds when all input has been consumed 0.0s
599 + consumeAll - fails when not all input has been consumed 0.001s
600 + source parser produces the consumed string as a result 0.0s
601 + count parser produces the length of the consumed string as a result 0.002s
602 + be set properly on a failing character parser 0.002s
603 + be set properly on a failing literal parser 0.0s
604 + be set properly on a failing delimited text parser 0.001s
605laika.internal.rst.LineBlockSpec:
606 + block with out continuation or indentation 0.083s
607 + block with a continuation line 0.006s
608 + nested structure (pointing right) 0.001s
609 + nested structure (pointing left) 0.005s
610laika.internal.rst.DefinitionListSpec:
611 + items not separated by blank lines 0.08s
612 + items separated by blank lines 0.003s
613 + term with a classifier 0.009s
614 + items containing multiple paragraphs 0.007s
615 + items containing multiple paragraphs with different indentation 0.025s
616 + inline markup in the term 0.004s
617 + ignore subsequent tables 0.029s
618 + ignore subsequent directives 0.013s
619 + ignore subsequent bullet lists 0.008s
620 + ignore subsequent enum lists 0.02s
621 + ignore subsequent headers with overline 0.007s
622laika.config.OperationConfigSpec:
623 + extension bundles - merge bundles based on their origin and configuration order 0.006s
624 + baseConfig - merge config from a markup extension with config from an app extension 0.096s
625 + baseConfig - let an app config override an identical key in the extension config 0.003s
626 + baseConfig - let an app config override an identical key in a previously installed app config 0.003s
627 + docTypeMatcher - merge matcher from a markup extension with the matcher from an app extension 0.023s
628 + docTypeMatcher - let an app config override an identical path key in the extension config 0.004s
629 + docTypeMatcher - let an app config override an identical path key in a previously installed app config 0.001s
630 + rewrite rules - merge a rule from a markup extension with the rule from an app extension 0.136s
631 + rewrite rules - apply a rule from an app config and a rule from a markup extension successively 0.009s
632 + rewrite rules - apply a rule from an app config and a rule from a previously installed app config successively 0.014s
633 + strict/raw flags - remove all raw content bundles in the default settings 0.0s
634 + strict/raw flags - keep all bundles if rawContent is set to true 0.001s
635 + strict/raw flags - remove all non-strict and raw content bundles if strict is set to true 0.0s
636 + strict/raw flags - remove all non-strict bundles if both flags are set to true 0.001s
637laika.directive.std.ImageDirectiveSpec:
638 + block directive - without any HOCON attributes 0.17s
639 + block directive - alt and title attributes 0.011s
640 + block directive - intrinsicWidth and intrinsicHeight attributes 0.011s
641 + block directive - style attribute 0.013s
642 + span directive - without any HOCON attributes 0.028s
643 + span directive - alt and title attributes 0.011s
644 + span directive - intrinsicWidth and intrinsicHeight attributes 0.02s
645 + span directive - style attribute 0.013s
646laika.markdown.VerbatimHTMLRendererSpec:
647 + render an HTML character reference unescaped 0.17s
648 + render an HTML comment with content unescaped 0.005s
649 + render a script element with content unescaped 0.005s
650 + render a script element with attributes with content unescaped 0.009s
651 + render an HTML end tag unescaped 0.004s
652 + render an HTML start tag without attributes unescaped 0.005s
653 + render an HTML start tag with one attribute unescaped 0.002s
654 + render an HTML start tag with two attributes unescaped 0.004s
655 + render an empty HTML tag without attributes unescaped 0.004s
656 + render an empty HTML tag with one attribute unescaped 0.001s
657 + render an HTML element without attributes unescaped 0.003s
658 + render an HTML element with one attribute unescaped 0.001s
659 + render two nested HTML elements unescaped 0.002s
660 + render a <pre> element without indentation 0.014s
661 + render an HTML attribute with the value in single quotes 0.009s
662 + render an HTML attribute with an unquoted value 0.001s
663 + render an HTML attribute without value 0.008s
664 + render an HTML block unescaped 0.002s
665 + verbatim HTML - skip HTML comment 0.076s
666 + verbatim HTML - skip HTML block 0.034s
667 + verbatim HTML - skip inline HTML 0.022s
668laika.time.PlatformDateDirectiveSpec:
669 + date directive - full offset date time 0.024s
670 + date directive - input with time component - format without 0.01s
671 + date directive - input without time component - format with 0.008s
672 + date directive - ISO offset date time 0.008s
673 + date directive - MEDIUM format 0.022s
674 + date directive - MEDIUM format - German - language from document metadata 0.013s
675 + date directive - MEDIUM format - German - language from directive argument 0.007s
676laika.parse.hocon.HoconParserIntegrationSpec:
677 + successfully parse the full Akka default configuration 0.146s
678laika.internal.rst.BaseParsersSpec:
679 + parse a name consisting of characters 0.0s
680 + parse a name consisting of characters and digits 0.0s
681 + parse a name consisting of characters and any of the supported symbols 0.002s
682 + fail if the name starts with a symbol 0.0s
683 + ignore a trailing symbol 0.0s
684 + stop parsing at two consecutive symbols 0.001s
685 + stop parsing at unsupported symbols 0.0s
686 + parse a name containing non-ASCII characters 0.0s
687laika.directive.std.ControlFlowDirectiveSpec:
688 + for directive - process the default body once if the referenced object is a map 0.037s
689 + for directive - process the default body multiple times if the referenced object is a list 0.019s
690 + for directive - do not process the default body if the referenced object is an empty collection 0.008s
691 + for directive - process the @:empty body part if the referenced object is an empty collection 0.014s
692 + for directive - process the default body once if the referenced object is a scalar value 0.01s
693 + if directive - process the default body once if the referenced object is the string 'true' 0.009s
694 + if directive - process the default body once if the referenced object is the string 'on' 0.006s
695 + if directive - do not process the default body if the referenced object does not exist 0.006s
696 + if directive - process the @:else body if the referenced object does not exist 0.008s
697 + if directive - process the first @:elseIf body if it is defined 0.009s
698 + if directive - process the second @:elseIf body if it is defined 0.01s
699 + if directive - do not process the default body if the referenced object is not a string recognized as true 0.01s
700laika.directive.std.StandardDirectiveSpec:
701 + fragment directive with single paragraph 0.532s
702 + fragment directive with two paragraphs 0.012s
703 + two fragment directives with the same name 0.029s
704 + pageBreak directive 0.009s
705 + todo directive as block 0.014s
706 + todo directive as span 0.01s
707 + target directive - translate a relative path 0.054s
708 + target directive - translate an absolute path 0.011s
709 + target directive - fail with an invalid target 0.029s
710 + target directive - translate an absolute path from a config value 0.008s
711 + target directive - render an external target 0.008s
712 + attribute directive - produce a string value for a valid config value 0.006s
713 + attribute directive - produce an empty string for a missing config value 0.006s
714 + attribute directive - fail with an invalid config value 0.005s
715 + style directive - body with a single block 0.029s
716 + style directive - body containing a header 0.024s
717 + style directive - multiple styles 0.022s
718 + style directive - body with two blocks 0.009s
719 + style directive - single nested span 0.014s
720 + style directive - two nested spans 0.009s
721 + style directive - including link 0.027s
722 + icon directive - success 0.006s
723 + icon directive - fail when the specified icon does not exist 0.008s
724 + callout directive - body with a single block 0.007s
725 + callout directive - body with a link reference 0.007s
726 + callout directive - body with two blocks 0.01s
727 + format directive - body with a single paragraph 0.009s
728 + format directive - body with two paragraphs 0.005s
729 + format directive - multiple formats 0.013s
730laika.markdown.HTMLParsersSpec:
731 + single start tag without attributes in flow content 0.003s
732 + single empty tag without attributes in flow content 0.0s
733 + single empty tag with whitespace without attributes in flow content 0.001s
734 + single end tag in flow content 0.0s
735 + single element in flow content 0.002s
736 + two nested elements in flow content 0.003s
737 + Markdown markup inside HTML elements 0.001s
738 + start tag with an attribute value in double quotes 0.001s
739 + start tag with an attribute value in single quotes 0.001s
740 + start tag with an unquoted attribute value 0.001s
741 + start tag with an attribute without value 0.0s
742 + ignore a start tag with a malformed attribute 0.0s
743 + start tag with two attribute values 0.0s
744 + named reference 0.0s
745 + decimal reference 0.001s
746 + hex reference 0.0s
747 + ignore a malformed named reference 0.0s
748 + ignore a malformed decimal reference 0.0s
749 + ignore a malformed hex reference 0.0s
750 + standard HTML comment 0.001s
751 + ignore other HTML tags inside the HTML comment 0.0s
752 + ignore Markdown markup inside the HTML comment 0.0s
753laika.time.PlatformDateTimeSpec:
754 + parse a date without time 0.001s
755 + parse a local date time 0.0s
756 + parse a UTC date time 0.001s
757 + parse a date time with an offset without colon 0.0s
758 + parse a date time with an offset with colon 0.007s
759 + fail in case of invalid date format 0.001s
760laika.internal.rst.ExplicitBlockParsersSpec:
761 + citation spanning a single line 0.013s
762 + citation spanning two lines 0.004s
763 + footnote with autonumber label 0.001s
764 + footnote with autosymbol label 0.004s
765 + footnote with an autonumber named label 0.001s
766 + footnote with a numeric label 0.001s
767 + named external target on one line 0.004s
768 + named internal target on one line 0.001s
769 + named external target with the reference name in backticks 0.0s
770 + named external target on two lines 0.001s
771 + named external target with the URL entirely on the next line 0.0s
772 + named internal target with the URL entirely on the next line 0.004s
773 + anonymous external target 0.0s
774 + anonymous internal target 0.001s
775 + short anonymous external target 0.0s
776 + short anonymous internal target 0.001s
777 + indirect simple reference 0.004s
778 + indirect phrase reference on one line 0.001s
779 + indirect phrase reference on two lines 0.0s
780 + indirect phrase reference on the following line 0.001s
781 + internal target 0.002s
782 + comment on one line 0.001s
783 + comment on two lines 0.0s
784 + comment with all text on the second line 0.001s
785laika.api.RenderAPISpec:
786 + document to string 0.033s
787 + override default renderer for specific element types 0.008s
788 + use Document's configuration for rewrite rules 0.007s
789laika.parse.hocon.ConfigResolverSpec:
790 + resolve a simple object 0.002s
791 + resolve an object with expanded paths 0.001s
792 + resolve an object with expanded paths 2 levels deep 0.002s
793 + merge two object definitions with the same path 0.001s
794 + don't merge an object if there is a simple overriding value between them 0.001s
795 + resolve a nested object 0.004s
796 + resolve an array of simple values 0.001s
797 + resolve an array of objects 0.0s
798 + resolve an object with an overridden field 0.001s
799 + resolve a concatenated array 0.001s
800 + resolve a merged object 0.005s
801 + resolve a concatenated string 0.001s
802 + resolve a backward looking reference to a simple value 0.006s
803 + resolve a forward looking reference to a simple value 0.0s
804 + resolve a reference to a value declared in the fallback config 0.001s
805 + ignore an optional, missing reference 0.0s
806 + ignore an optional, missing self reference 0.001s
807 + fail with a missing required reference 0.002s
808 + fail with a circular reference 0.001s
809 + fail with a circular reference to a parent node 0.001s
810 + resolve a backward looking reference to a simple value with a common path segment 0.001s
811 + resolve a forward looking reference to a simple value with a common path segment 0.0s
812 + resolve a backward looking reference to another object 0.001s
813 + resolve a forward looking reference to another object 0.001s
814 + resolve a backward looking reference in a concatenated string 0.001s
815 + resolve a forward looking reference in a concatenated string 0.001s
816 + ignore a missing, optional reference in a concatenated string 0.0s
817 + resolve a backward looking reference in a concatenated array 0.001s
818 + resolve a forward looking reference in a concatenated array 0.0s
819 + ignore a missing, optional reference in a concatenated array 0.001s
820 + fail with a missing required reference in a concatenated array 0.001s
821 + fail when the combination of types is invalid in concatenated field 0.0s
822 + resolve a self reference in a concatenated array 0.001s
823 + resolve a self reference via += in a concatenated array 0.001s
824 + resolve a self reference via += as the first occurrence in the input 0.0s
825 + resolve a backward looking reference in a concatenated object 0.001s
826 + resolve a forward looking reference in a concatenated object 0.001s
827 + ignore an optional, missing reference in a concatenated object 0.0s
828 + resolve a backward looking reference in a merged object 0.001s
829 + resolve a forward looking reference in a merged object 0.0s
830 + ignore a missing, optional reference in a merged object 0.001s
831 + resolve a self reference in a merged object 0.001s
832 + ignore a missing reference when it is later overridden 0.0s
833 + resolve a self reference in a nested object 0.001s
834 + include on the top level 0.004s
835 + resolve a nested include 0.0s
836 + ignore a missing optional resource 0.001s
837 + fail with a missing required resource 0.001s
838 + fail when an include failed to load 0.001s
839 + expand a single path 0.0s
840 + expand a nested path 0.0s
841laika.markdown.GitHubFlavorSpec:
842 + parse standard Markdown 0.005s
843 + strikethrough - enclosed in ~~ at the beginning of a phrase 0.002s
844 + strikethrough - enclosed in ~~ at the end of a phrase 0.0s
845 + strikethrough - enclosed in ~~ in the middle of a phrase 0.001s
846 + strikethrough - enclosed in ~~ with a nested em span 0.0s
847 + strikethrough - enclosed in ~~ when it spans the entire phrase 0.001s
848 + strikethrough - ignore a ~~ sequence when it is enclosed in spaces 0.001s
849 + strikethrough - ignore a ~~ sequence when it is not matched by a second ~~ 0.001s
850 + auto-links - http URI 0.0s
851 + auto-links - http URI containing an IP4 address 0.001s
852 + auto-links - https URI 0.0s
853 + auto-links - www URI 0.001s
854 + auto-links - email address 0.0s
855 + auto-links - http URI without trailing punctuation 0.0s
856 + auto-links - www URI without trailing punctuation 0.001s
857 + auto-links - do not parse a URI containing unicode characters 0.0s
858 + auto-links - email address without surrounding punctuation 0.003s
859 + code block with backtick fences 0.002s
860 + code block with tilde fences 0.001s
861 + code block with a closing fence that is longer than the opening fence 0.002s
862 + code blocks - do not recognize a closing fence that is shorter than the opening fence 0.008s
863 + code blocks - do not recognize a closing fence that consists of different fence characters 0.0s
864 + code block with an info/language hint 0.003s
865 + code block that is indented 0.001s
866 + code block inside a list item, indented by 4 spaces 0.006s
867 + code block without a closing fence 0.0s
868 + code block - do not recognize a fence that is shorter than 3 characters 0.0s
869 + code block - do not recognize a fence that is indented more than 3 characters 0.001s
870 + code block - do not recognize a closing fence with additional characters 0.0s
871 + code block with an empty line 0.0s
872 + code block without a preceding empty line 0.004s
873 + table head and body 0.006s
874 + table with inline markup in one cell 0.001s
875 + table head and body with leading and trailing '|' missing in some rows 0.001s
876 + tables - ignore cells that are exceeding the number of header cells 0.004s
877 + tables - insert empty cells when the row has less cells than the header row 0.001s
878 + table with escaped '|' as literal text 0.0s
879 + table that ends on a blank line 0.001s
880 + table that ends when a new block item starts 0.005s
881 + table with alignments 0.01s
882 + table head without body 0.0s
883 + table head without body without leading '|' in the separator row 0.0s
884 + table head without body without trailing '|' in the separator row 0.001s
885 + tables - do not recognize a table head where the number of cells in the separator row does not match the header row 0.0s
886laika.parse.code.common.CommonSyntaxParserSpec:
887 + identifier starting with a lower-case letter 0.01s
888 + identifier starting with an underscore 0.0s
889 + identifier containing a digit 0.001s
890 + type name starting with an upper-case letter 0.0s
891 + type name containing a digit 0.0s
892 + type name containing an underscore 0.008s
893 + binary literal 0.006s
894 + binary literal with underscores 0.0s
895 + binary literal with L suffix 0.0s
896 + octal literal 0.001s
897 + octal literal with underscores 0.0s
898 + octal literal with L suffix 0.0s
899 + hex literal 0.002s
900 + hex literal with underscores 0.001s
901 + hex literal with L suffix 0.0s
902 + single-digit decimal literal 0.0s
903 + multi-digit decimal literal 0.001s
904 + decimal literal with underscores 0.0s
905 + decimal literal with L suffix 0.001s
906 + decimal float literal 0.002s
907 + decimal float literal with leading dot 0.0s
908 + decimal float literal with underscores 0.0s
909 + decimal float literal with D suffix 0.0s
910 + decimal float literal with exponent 0.0s
911 + decimal float literal with a signed exponent 0.001s
912 + decimal float literal with exponent and D suffix 0.0s
913 + hex float literal 0.001s
914 + hex float literal with an exponent 0.0s
915 + do not recognize a number immediately followed by a letter 0.001s
916 + recognize a number immediately followed by a letter if explicitly allowed (e.g. for numbers with unit like in CSS) 0.005s
917 + single-line string literal 0.003s
918 + multi-line string literal 0.0s
919 + single character escape 0.001s
920 + unicode escape 0.0s
921 + octal escape 0.001s
922 + hex escape 0.0s
923 + literal escape 0.001s
924 + substitution expression 0.0s
925 + substitution identifier 0.0s
926 + char literal 0.001s
927 + char literal with single character escape 0.0s
928 + char literal with unicode escape 0.001s
929 + char literal with octal escape 0.0s
930 + char literal with hex escape 0.001s
931 + regex literal 0.0s
932 + regex literal with an escape sequence 0.001s
933 + regex literal with flags 0.0s
934 + single line comment 0.001s
935 + multi-line comment 0.0s
936 + keywords 0.0s
937 + ignore keywords when they are followed by more letters or digits 0.001s
938 + ignore keywords when they are preceded by letters or digits 0.0s
939 + newline detection - recognize input at the start of a line 0.0s
940 + newline detection - recognize input at the start of the input 0.001s
941 + newline detection - do not recognize input in the middle of a line 0.0s
942laika.directive.BlockDirectiveAPISpec:
943 + empty directive 0.008s
944 + directive producing a block resolver 0.006s
945 + directive with one required default string attribute 0.007s
946 + invalid - directive with a missing positional default attribute 0.006s
947 + directive with an optional default int attribute 0.007s
948 + invalid - directive with an optional invalid default int attribute 0.011s
949 + directive with a missing optional default int attribute 0.009s
950 + directive with one required named string attribute 0.011s
951 + directive with a named string attribute value in quotes 0.004s
952 + invalid - directive with a missing required named attribute 0.006s
953 + directive with an optional named int attribute 0.014s
954 + invalid - directive with an optional invalid named int attribute 0.006s
955 + directive with a missing optional named int attribute 0.006s
956 + directive with the allAttributes combinator 0.007s
957 + directive with the allAttributes combinator and an additional nested config object 0.006s
958 + directive with a body 0.013s
959 + directive with a body and trim empty lines at the start and end 0.006s
960 + directive with a body and a custom fence 0.003s
961 + directive with an empty body 0.003s
962 + invalid - directive with a missing body 0.002s
963 + directive with a separated body 0.018s
964 + invalid - directive with an invalid separator 0.004s
965 + invalid - directive with a separator not meeting the min count requirements 0.006s
966 + invalid - directive with a separator exceeding the max count constraint 0.005s
967 + detect an orphaned separator directive 0.003s
968 + full directive spec with all elements present 0.012s
969 + full directive spec with all elements present and attributes on multiple lines 0.004s
970 + full directive spec with all optional elements missing 0.008s
971 + full directive spec with a custom fence 0.007s
972 + invalid - full directive spec with positional attributes and the body missing 0.006s
973 + directive with a custom body parser 0.01s
974 + directive with a required default body and cursor access 0.007s
975 + invalid - directive with an unknown name 0.006s
976 + merge options from two nested directives 0.008s
977laika.ast.DocumentTreeAPISpec:
978 + access to the root tree when rewriting a document in the root tree 0.018s
979 + access to the parent tree when rewriting a document in the root tree 0.002s
980 + access to the root tree when rewriting a document in a child tree 0.01s
981 + access to the parent tree when rewriting a document in a child tree 0.005s
982 + obtain the tree title from the title document if present 0.003s
983 + obtain the title from the document config if present 0.001s
984 + do not inherit the tree title as the document title 0.006s
985 + allow to select a document from a subdirectory using a relative path 0.003s
986 + allow to select a document in the current directory using a relative path 0.002s
987 + allow to select a title document in the current directory using a relative path 0.001s
988 + allow to select a subtree in a child directory using a relative path 0.005s
989 + allow to select a subtree in the current directory using a relative path 0.001s
990 + allow to specify a template for a document using an absolute path 0.006s
991 + allow to specify a template for a document for a specific output format 0.004s
992 + allow to specify a template for a document using a relative path 0.003s
993 + fail if a specified template does not exist 0.002s
994 + allow to rewrite the tree using a custom rule 0.004s
995 + give access to the previous sibling in a hierarchical view 0.047s
996 + return None for the next document in the final leaf node of the tree 0.012s
997 + give access to the previous title document in a hierarchical view for a title document 0.011s
998 + give access to the previous sibling in a flattened view 0.012s
999 + resolve a substitution reference to the source path of the previous document 0.01s
1000 + resolve a substitution reference to the output path of the previous document 0.008s
1001 + be empty for the next document in the final leaf node of the tree 0.008s
1002 + resolve a substitution reference to the source path of the parent document 0.011s
1003 + resolve a substitution reference to the output path of the parent document 0.011s
1004 + resolve a substitution reference to the source path of the previous document in a flattened view 0.016s
1005 + resolve a substitution reference to the output path of the previous document in a flattened view 0.024s
1006 + provide all runtime messages in the tree 0.015s
1007 + provide all invalid spans in the tree 0.01s
1008 + fail if cursor creation fails due to invalid configuration entries 0.011s
1009 + adjust the path property of documents when appending to a DocumentTree 0.006s
1010laika.parse.hocon.HoconJsonSpec:
1011 + empty object in 0.0s
1012 + object with one property in 0.001s
1013 + object with two properties in 0.001s
1014 + object with all property types 0.001s
1015 + empty string 0.0s
1016 + string containing only whitespace 0.0s
1017 + plain string 0.0s
1018 + new line character 0.0s
1019 + unicode character reference 0.001s
1020 + long 0.0s
1021 + signed long 0.0s
1022 + double 0.004s
1023 + double with an exponent 0.001s
1024 + double with a negative exponent 0.0s
1025laika.internal.rst.APISpec:
1026 + registration of native block directives 0.036s
1027 + registration of native span directives 0.022s
1028 + registration of text roles 0.037s
1029 + registration of Laika block directives 0.034s
1030 + ignore registration of Laika block directives in strict mode 0.015s
1031 + registration of Laika span directives 0.021s
1032 + ignore registration of Laika span directives in strict mode 0.015s
1033 + pre-process tabs 0.011s
1034laika.markdown.HTMLBlockParserSpec:
1035 + block level HTML element with a nested element and text content 0.004s
1036 + ignore Markdown markup inside a block level HTML element 0.001s
1037 + recognize a script tag inside a block level HTML element 0.0s
1038 + recognize a script tag with attributes inside a block level HTML element 0.001s
1039 + recognize a script tag as a root element 0.0s
1040 + ignore elements which are not listed as block-level elements 0.001s
1041 + ignore elements which are not at the very start of a block 0.001s
1042laika.config.ConfigCodecSpec:
1043 + LinkConfig - decode an instance with all fields populated 0.028s
1044 + LinkConfig - decode an instance with some fields populated 0.001s
1045 + LinkConfig - round-trip encode and decode 0.002s
1046 + LinkValidation - decode an instance with exclusions 0.005s
1047 + LinkValidation - decode an instance without exclusions 0.001s
1048 + LinkValidation - round-trip encode and decode 0.0s
1049 + ChoiceGroupsConfig - decode an instance with all fields populated 0.014s
1050 + ChoiceGroupsConfig - round-trip encode and decode 0.004s
1051 + AutonumberConfig - decode an instance with all fields populated 0.006s
1052 + AutonumberConfig - round-trip encode and decode 0.0s
1053 + Versions - decode an instance with all fields populated 0.023s
1054 + Versions - fail with invalid configuration 0.012s
1055 + Versions - round-trip encode and decode 0.001s
1056 + IconRegistry - encode a list of icons 0.001s
1057laika.render.HTMLRendererSpec:
1058 + paragraph with plain text 0.001s
1059 + render a document with two paragraphs with plain text 0.004s
1060 + render a blockquote with two paragraphs with plain text 0.001s
1061 + render a block sequence with a style 0.004s
1062 + render a block sequence without a style 0.002s
1063 + render a block sequence with a single element 0.001s
1064 + render a blockquote with simple flow content 0.001s
1065 + render a blockquote with an attribution 0.004s
1066 + render a bullet list with simple flow content 0.001s
1067 + render an enumerated list with simple flow content 0.002s
1068 + render an enumerated list with lower roman enumeration style 0.004s
1069 + render an enumerated list with upper roman enumeration style 0.003s
1070 + render an enumerated list with lower alpha enumeration style 0.001s
1071 + render an enumerated list with upper alpha enumeration style 0.001s
1072 + render an enumerated list with the start value if it is not 1 0.004s
1073 + render a bullet list with forced paragraphs as list items 0.002s
1074 + render an enumerated list with forced paragraphs as list items 0.004s
1075 + render a definition list with paragraphs 0.001s
1076 + render a definition list with simple flow content 0.009s
1077 + render a navigation list 0.008s
1078 + render a footnote 0.009s
1079 + render a citation 0.004s
1080 + render a table without header cells 0.002s
1081 + render a table with header cells 0.001s
1082 + render a table with a caption 0.005s
1083 + render a cell using colspan and rowspan attributes 0.001s
1084 + render a cell with two paragraphs 0.005s
1085 + render a titled block 0.003s
1086 + render a figure 0.005s
1087 + render a document with two paragraphs separated by a horizontal rule 0.001s
1088 + render a document with two nested sections 0.001s
1089 + render a selection 0.003s
1090==> i laika.render.HTMLRendererSpec.render a choice group ignored 0.0s
1091 + render a title containing emphasized text 0.001s
1092 + render a title containing a section number 0.001s
1093 + render a paragraph containing emphasized text 0.001s
1094 + render a paragraph containing strong text 0.008s
1095 + render a paragraph containing a deleted span 0.001s
1096 + render a paragraph containing an inserted span 0.005s
1097 + render a paragraph containing a literal span 0.002s
1098 + render a paragraph containing a code span 0.002s
1099 + render a paragraph containing a link without title 0.007s
1100 + render a paragraph containing a link with title 0.001s
1101 + render a paragraph containing a link with emphasized text 0.001s
1102 + render a paragraph containing an internal link with emphasized text 0.001s
1103 + render a paragraph containing a internal link with a fragment part 0.005s
1104 + render a paragraph containing a internal link without a fragment part 0.001s
1105 + render a paragraph containing an internal link while ignoring the restricted type parameter 0.002s
1106 + render a paragraph containing a citation link 0.002s
1107 + render a paragraph containing a footnote link 0.001s
1108 + render a raw internal link 0.001s
1109 + render a raw external link 0.004s
1110 + render a paragraph containing an image without title 0.001s
1111 + render a paragraph containing a versioned image 0.005s
1112 + render a paragraph containing an image with title 0.001s
1113 + render a paragraph containing an image with width and height in pixels 0.003s
1114 + render a paragraph containing an image with width and height in a unit other than pixels 0.001s
1115 + render a paragraph containing an image with just width in a unit other than pixels 0.004s
1116 + render a paragraph containing a link with an icon glyph 0.002s
1117 + render a paragraph containing a link with an icon style 0.004s
1118 + render a paragraph containing a link with an inline SVG icon 0.002s
1119 + render a paragraph containing a link with a SVG symbol icon 0.003s
1120 + render a paragraph containing an unresolved link reference 0.005s
1121 + render a paragraph containing an unresolved image reference 0.002s
1122 + render a paragraph containing an internal link target 0.001s
1123 + render a template root containing string elements 0.005s
1124 + render a template span sequence containing string elements 0.001s
1125 + render a template string without creating html entities 0.0s
1126 + render a template root containing a TemplateElement 0.003s
1127 + render a runtime message 0.004s
1128 + render a comment 0.001s
1129 + render an invalid block without the runtime message in default mode 0.001s
1130 + render an invalid block without the runtime message if the configured message level is higher 0.001s
1131 + render an invalid block with the runtime message if the configured message level is lower or equal 0.004s
1132 + render an invalid span without the runtime message in default mode 0.001s
1133 + render an invalid span without the runtime message if the configured message level is higher 0.001s
1134 + render an invalid span with the runtime message if the configured message level is lower or equal 0.0s
1135 + render a literal block 0.004s
1136 + render a parsed literal block 0.001s
1137 + render a code block 0.001s
1138 + render a code block with syntax highlighting 0.002s
1139 + render a literal block inside a blockquote without indentation 0.001s
1140 + render a parsed literal block inside a blockquote without indentation 0.001s
1141 + render a code block inside a blockquote without indentation 0.004s
1142 + render a table cell unformatted 0.001s
1143 + render raw content unchanged if the html format is specified 0.002s
1144 + ignore raw content if the html format is not specified 0.001s
1145 + render an embedded root with correct indentation 0.005s
1146 + render an embedded root without indentation 0.001s
1147laika.parse.directive.TemplateParsersSpec:
1148 + content without any markup 0.001s
1149 + context reference as the only template content 0.0s
1150 + context reference at the beginning of a template 0.0s
1151 + context reference at the end of a template 0.0s
1152 + context reference in the middle of a template 0.001s
1153 + optional context reference 0.0s
1154 + invalid context reference 0.002s
1155laika.ast.DocumentTreeBuilderSpec:
1156 + empty tree 0.002s
1157 + tree with documents in root and sub-trees 0.003s
1158 + tree with documents and templates 0.003s
1159 + tree with title documents 0.001s
1160 + root tree with cover document 0.001s
1161 + document config inherits from tree config 0.002s
1162 + document config inherits from tree config when appended to the tree after its construction 0.003s
1163 + document config inherits from base config 0.002s
1164 + documents override existing instances with the same path 0.003s
1165laika.internal.rst.EnumListSpec:
1166 + arabic enumeration style 0.005s
1167 + lowercase alphabetic enumeration style 0.001s
1168 + uppercase alphabetic enumeration style 0.001s
1169 + lowercase Roman enumeration style 0.001s
1170 + uppercase Roman enumeration style 0.001s
1171 + keep the right start value for arabic enumeration style 0.001s
1172 + keep the right start value for lowercase alphabetic enumeration style 0.001s
1173 + keep the right start value for uppercase alphabetic enumeration style 0.001s
1174 + keep the right start value for lowercase Roman enumeration style 0.0s
1175 + keep the right start value for uppercase Roman enumeration style 0.0s
1176 + do not try to parse a Roman Numeral in a normal paragraph (issue #19) 0.001s
1177 + item label suffixed by right-parenthesis 0.002s
1178 + item label surrounded by parenthesis 0.016s
1179 + items separated by blank lines 0.005s
1180 + items containing multiple paragraphs 0.003s
1181 + nested items indented by spaces 0.001s
1182 + different enumeration patterns kept in separate lists 0.002s
1183laika.internal.rst.bundle.RewriteRulesSpec:
1184 + substitutions - replace a single reference with the target span 0.005s
1185 + substitutions - replace multiple occurrences of the same reference with the same target span 0.011s
1186 + substitutions - replace a reference with an unknown substitution id with an invalid span 0.001s
1187 + interpreted text roles - replace a single reference with the result of applying the role function 0.006s
1188 + interpreted text roles - replace multiple references with the result of applying corresponding role functions 0.002s
1189 + interpreted text roles - replace an unknown text role with an invalid span 0.004s
1190laika.parse.text.WhitespacePreprocessorSpec:
1191 + replace form feeds and vertical tabs with single spaces 0.0s
1192 + remove carriage return characters 0.0s
1193 + replace tabs with the corresponding number of whitespace characters depending on the column in occurs in 0.001s
1194 + allow the overriding of the tabStops value 0.0s
1195laika.internal.rst.bundle.ExtendedHTMLRendererSpec:
1196 + render a doctest block 0.012s
1197 + render a field list 0.007s
1198 + render a list of program options 0.016s
1199 + render nested line blocks 0.001s
1200laika.parse.PositionTrackingSpec:
1201 + report an invalid block directive 0.029s
1202 + report an invalid span directive 0.002s
1203 + report an invalid block directive inside a list element 0.013s
1204 + report an invalid span directive indented inside a quoted block 0.003s
1205 + report an invalid span directive not indented inside a quoted block 0.005s
1206 + report an invalid span directive inside a table cell 0.008s
1207 + format multiple errors correctly 0.008s
1208laika.directive.std.LinkDirectiveSpec:
1209 + api directive - span link based on the default base URI 0.048s
1210 + api directive - with custom link text in native Markdown link syntax 0.03s
1211 + api directive - strip the $ postfix from the link text 0.008s
1212 + api directive - span link based on the longest prefix match 0.009s
1213 + api directive - span link based on the shorter prefix match 0.01s
1214 + api directive - span link to a method 0.014s
1215 + api directive - span link for a package 0.015s
1216 + api directive - fail for an internal link to a missing target 0.015s
1217 + api directive - fail when there is no matching base URI defined 0.009s
1218==> i laika.directive.std.LinkDirectiveSpec.api directive - as the only element of a block ignored 0.0s
1219 + api directive - as the first element of a block 0.015s
1220==> i laika.directive.std.LinkDirectiveSpec.api directive - as the first line of a block ignored 0.0s
1221 + source directive - span link based on the default base URI 0.02s
1222 + source directive - with custom link text in native Markdown link syntax 0.011s
1223 + source directive - span link based on the longest prefix match 0.008s
1224 + source directive - span link based on the shorter prefix match 0.004s
1225 + source directive - fail when there is no matching base URI defined 0.003s
1226laika.parse.code.languages.LanguageSpec:
1227 + Scala 0.053s
1228 + Dotty 0.017s
1229 + Java 0.013s
1230 + Python 0.014s
1231 + JavaScript 0.012s
1232 + JSX 0.026s
1233 + Dart 0.015s
1234 + Haskell 0.01s
1235 + TypeScript 0.019s
1236 + TSX 0.019s
1237 + Alloy 0.012s
1238 + XML 0.034s
1239 + HTML 0.029s
1240 + CSS 0.011s
1241 + JSON 0.011s
1242 + HOCON 0.022s
1243 + Diff 0.005s
1244 + Dhall 0.013s
1245 + shell/bash 0.007s
1246 + SQL 0.007s
1247 + YAML 0.006s
1248 + EBNF 0.004s
1249 + Markdown 0.008s
1250 + Markdown with Laika extensions 0.031s
1251 + reStructuredText 0.006s
1252 + reStructuredText with Laika extensions 0.006s
1253 + HTML with Laika extensions 0.007s
1254 + Laika AST 0.006s
1255laika.directive.std.SelectDirectiveSpec:
1256 + body with two alternatives 0.031s
1257 + body with a two alternatives and a common body 0.004s
1258 + fail with less than two alternatives in the body 0.004s
1259 + fail when a label is missing in the configuration 0.004s
1260 + unwrap a selected choice in the template rewrite rules 0.006s
1261laika.internal.rst.ext.DirectiveSpec:
1262 + directive with one required argument 0.001s
1263 + failure - directive with a required argument missing as invalid 0.0s
1264 + failure - directive with a required argument being invalid 0.001s
1265 + directive with a converted required argument 0.0s
1266 + directive with two required arguments 0.0s
1267 + failure - directive with one out of two required arguments missing as invalid 0.001s
1268 + directive with one optional argument 0.004s
1269 + directive with one optional argument missing 0.001s
1270 + directive with a converted optional argument 0.0s
1271 + failure - directive with an optional argument being invalid 0.001s
1272 + directive with one required and one optional argument 0.001s
1273 + directive with one required and one missing optional argument 0.0s
1274 + directive with one regular argument and one argument with whitespace 0.001s
1275 + failure - directive with a required argument with whitespace missing as invalid 0.001s
1276 + directive with one required field 0.001s
1277 + failure - directive with a required field missing as invalid 0.0s
1278 + failure - directive with a required field being invalid 0.001s
1279 + directive with a converted required field 0.0s
1280 + directive with two required fields 0.001s
1281 + failure - directive with one out of two required fields missing as invalid 0.004s
1282 + failure - directive with an unknown field name as invalid 0.001s
1283 + directive with one optional field 0.001s
1284 + directive with one optional field with a value spanning two lines 0.006s
1285 + directive with one optional field missing 0.005s
1286 + directive with a converted optional field 0.001s
1287 + failure - directive with an optional field being invalid 0.001s
1288 + directive with one required and one optional field 0.003s
1289 + directive with one required and one missing optional field 0.001s
1290 + directive with one converted argument and one converted field 0.002s
1291 + failure - directive with one converted argument and one required field missing as invalid 0.001s
1292 + failure - directive with one converted field and one required argument missing as invalid 0.0s
1293 + failure - directive with one converted argument and one field invalid 0.001s
1294 + failure - directive with one converted field and one argument invalid 0.001s
1295 + directive with one optional argument and one missing optional field 0.012s
1296 + directive with one optional argument, one missing optional field and standard body 0.001s
1297 + directive with one optional field and standard body 0.007s
1298 + directive with one missing optional field and standard body after a blank line 0.001s
1299 + directive with one missing optional field and standard body on the same line 0.001s
1300 + directive with standard block content 0.006s
1301 + directive with empty block content 0.0s
1302 + directive with custom content 0.0s
1303 + failure - directive with invalid custom content 0.001s
1304 + directive with an argument and standard block content 0.001s
1305 + directive with an argument and empty block content 0.0s
1306 + directive with an argument and standard span content 0.001s
1307 + directive with an argument and empty span content 0.0s
1308 + directive with a field and standard block content 0.001s
1309 + directive with a field and empty block content 0.0s
1310 + failure - directive with standard block content and a missing required field as invalid 0.001s
1311 + directive with an argument, a field and standard block content 0.001s
1312 + failure - directive with a field and standard block content, but a missing required argument as invalid 0.001s
1313 + failure - directive with an argument and standard block content, but a missing required field as invalid 0.001s
1314 + directive with an argument, a field and empty block content 0.001s
1315 + directive with a converted argument, field and body 0.007s
1316 + directive with a converted field and body and a missing optional argument 0.001s
1317 + directive with a converted argument and body and a missing optional field 0.001s
1318 + directive with a converted body and missing optional argument and field 0.006s
1319 + failure - directive with a converted field and body and an invalid argument 0.004s
1320 + failure - directive with a converted argument and body and an invalid field 0.002s
1321 + failure - directive with a converted field and argument and an invalid body 0.0s
1322 + failure - directive with an unknown name as invalid 0.001s
1323 + substitution definition 0.003s
1324 + substitution definition with an invalid directive 0.001s
1325 + role directive 0.001s
1326 + role directive with a missing required field as invalid 0.002s
1327laika.directive.SpanDirectiveAPISpec:
1328 + empty directive 0.007s
1329 + directive producing a span resolver 0.003s
1330 + directive with one required default string attribute 0.005s
1331 + invalid - directive with a missing required positional attribute 0.007s
1332 + directive with an optional default int attribute 0.007s
1333 + invalid - directive with an optional invalid default int attribute 0.005s
1334 + directive with a missing optional default int attribute 0.002s
1335 + directive with one required named string attribute 0.002s
1336 + directive with a named string attribute value in quotes 0.004s
1337 + invalid - directive with a missing required named attribute 0.002s
1338 + invalid - directive with an invalid HOCON string attribute (missing closing quote) 0.01s
1339 + invalid - directive with an invalid HOCON string attribute (invalid character in in unquoted string) 0.002s
1340 + directive with an optional named int attribute 0.005s
1341 + invalid - directive with an optional invalid named int attribute 0.003s
1342 + directive with a missing optional named int attribute 0.004s
1343 + directive with the allAttributes combinator 0.003s
1344 + directive with a body 0.011s
1345 + support a directive with a nested pair of braces 0.009s
1346 + invalid - directive with a missing body 0.003s
1347 + directive with a separated body 0.008s
1348 + invalid - directive with an invalid separator 0.002s
1349 + invalid - directive with a separator not meeting the min count requirements 0.005s
1350 + invalid - directive with a separator exceeding the max count constraint 0.005s
1351 + detect an orphaned separator directive 0.002s
1352 + full directive spec with all elements present 0.003s
1353 + full directive spec with all elements present with attributes spanning two lines 0.001s
1354 + full directive spec with all optional elements missing 0.001s
1355 + invalid - full directive spec with positional attributes and the body missing 0.004s
1356 + directive with a custom body parser 0.006s
1357 + directive with a body and cursor access 0.002s
1358 + invalid - directive with an unknown name 0.001s
1359 + link directive 0.02s
1360 + link directive inside a native link expression 0.015s
1361 + unknown link directive 0.016s
1362 + invalid link directive 0.011s
1363 + invalid link directive syntax 0.017s
1364laika.parse.RootCursorSpec:
1365 + not at the end of input after creation 0.0s
1366 + at the end of input after consuming all characters 0.0s
1367 + indicate the full input length as remaining after creation 0.001s
1368 + indicate zero remaining after consuming all characters 0.0s
1369 + return the first character after creation 0.0s
1370 + return the last character after consuming all but one characters 0.0s
1371 + return a character relative to the current offset 0.001s
1372 + capture the input from the beginning 0.0s
1373 + capture the input from the current position 0.0s
1374 + capture all remaining characters when trying to capture more characters than are available 0.0s
1375 + provide the input reversed 0.001s
1376 + indicate the position is on the first line 0.0s
1377 + indicate the position is on the second line 0.0s
1378 + provide the content of the first line 0.0s
1379 + provide the content of the second line 0.002s
1380 + provide the content of the second line with a positional caret 0.001s
1381 + indicate the correct column 0.0s
1382 + keep the path information 0.003s
1383 + convert Windows line feeds 0.0s
1384laika.ast.DocumentAPISpec:
1385 + specify a title in a config section 0.013s
1386 + no title if run in the default mode for pure parsers where title extraction is disabled 0.002s
1387 + use the title from the first headline if it is not overridden in a config section and title extraction is enabled 0.015s
1388 + return an empty list if there is neither a structure with a title nor a title in a config section 0.002s
1389 + produce the same result when rewriting a document once or twice 0.009s
1390 + allow to rewrite the document using a custom rule 0.003s
1391laika.parse.text.TextParsersSpec:
1392 + prevNot - succeed if the previous character is not one of those specified 0.0s
1393 + prevNot - fail if the previous character is one of those specified 0.001s
1394 + prevNot - succeed at the start of the input 0.0s
1395 + prevNot - succeed if the predicate is not satisfied 0.0s
1396 + prevNot - fail if the the predicate is satisfied 0.0s
1397 + nextNot - succeed if the next character is not one of those specified 0.0s
1398 + nextNot - fail if the next character is one of those specified 0.0s
1399 + nextNot - succeed at the end of the input 0.0s
1400 + nextNot - succeed if the predicate is not satisfied 0.001s
1401 + nextNot - fail if the the predicate is satisfied 0.0s
1402 + prevIn - succeed if the previous character is one of those specified 0.0s
1403 + prevIn - fail if the previous character is not one of those specified 0.0s
1404 + prevIn - fail at the start of the input 0.0s
1405 + prevIn - succeed if the predicate is satisfied 0.001s
1406 + prevIn - fail if the the predicate is not satisfied 0.0s
1407 + nextIn - succeed if the next character is one of those specified 0.0s
1408 + nextIn - fail if the next character is not one of those specified 0.0s
1409 + nextIn - fail at the end of the input 0.0s
1410 + nextIs - succeed if the predicate is satisfied 0.0s
1411 + nextIs - fail if the the predicate is not satisfied 0.0s
1412 + literal - succeed with a matching string literal 0.0s
1413 + literal - fail when the string literal does not match 0.0s
1414 + eol - succeed for \\n 0.0s
1415 + eol - succeed for \\r\\n 0.0s
1416 + eol - succeed at the end of the input 0.0s
1417 + eol - fail when not at the end of a line 0.0s
1418 + eof - succeed at the end of the input 0.0s
1419 + eof - fail when not at the end of the input 0.0s
1420 + atStart - succeed at the start of the input 0.0s
1421 + atStart - fail when not at the start of the input 0.0s
1422 + ws - succeed with all whitespace characters 0.0s
1423 + ws - succeed with an empty string in case of non-whitespace characters 0.001s
1424 + wsEol - succeed with whitespace characters followed by newline 0.0s
1425 + wsEol - succeed with just a newline character since whitespace is optional 0.0s
1426 + wsEol - fail with non-whitespace chacracters 0.0s
1427 + blankLine - succeed with whitespace characters followed by newline 0.0s
1428 + blankLine - succeed with just a newline character since whitespace is optional 0.0s
1429 + blankLine - fail with non-whitespace chacracters 0.001s
1430 + blankLines - succeed with one blank line 0.0s
1431 + blankLines - succeed with three blank lines 0.0s
1432 + blankLines - fail with non-whitespace chacracters 0.001s
1433 + restOfLine - succeed with all characters of the current line 0.0s
1434 + restOfLine - succeed with an empty result 0.0s
1435 + textLine - succeed with all characters of the current line 0.0s
1436 + textLine - fail on an empty line 0.0s
1437 + anyChars - always succeed consuming the entire input 0.0s
1438 + anyChars - only consume the specified maximum number of characters 0.0s
1439 + anyOf - succeed with an empty result when no characters match 0.0s
1440 + anyOf - succeed for the matching character when 1 character is specified 0.001s
1441 + anyOf - succeed for all matching characters when 3 characters are specified 0.0s
1442 + anyOf - succeed in case the end of the input is reached 0.0s
1443 + anyOf - fail when it does not consume the specified minimum number of characters 0.0s
1444 + anyOf - succeed when it does consume the specified minimum number of characters 0.0s
1445 + anyOf - stop, but still succeed, when it has consumed the specified maximum number of characters 0.0s
1446 + someOf - succeed for the matching character when 1 character is specified 0.0s
1447 + someOf - succeed for all matching characters when 3 characters are specified 0.001s
1448 + someOf - succeed in case the end of the input is reached 0.0s
1449 + someOf - fail when it does not consume the specified minimum number of characters 0.0s
1450 + someOf - fail when it does not consume any characters as min(1) is implicit in someOf parsers 0.0s
1451 + someOf - succeed when it does consume the specified minimum number of characters 0.0s
1452 + someOf - stop, but still succeed, when it has consumed the specified maximum number of characters 0.0s
1453 + oneOf - succeed for the matching character when 1 character is specified 0.0s
1454 + oneOf - succeed for any of the specified 3 characters 0.0s
1455 + oneOf - fail in case the end of the input is reached 0.0s
1456 + oneOf - fail when the first character does not match 0.0s
1457 + anyNot - succeed for all non-matching characters when 1 character is specified 0.0s
1458 + anyNot - succeed for all non-matching characters when 3 characters are specified 0.0s
1459 + anyNot - succeed in case the end of the input is reached 0.0s
1460 + anyNot - fail when it does not consume the specified minimum number of characters 0.0s
1461 + anyNot - succeed when it does consume the specified minimum number of characters 0.001s
1462 + anyNot - stop, but still succeed, when it has consumed the specified maximum number of characters 0.0s
1463 + someNot - succeed for all non-matching characters when 1 character is specified 0.0s
1464 + someNot - succeed for all non-matching characters when 3 characters are specified 0.0s
1465 + someNot - succeed in case the end of the input is reached 0.0s
1466 + someNot - fail when it does not consume the specified minimum number of characters 0.0s
1467 + someNot - fail when it does not consume any characters as min(1) is implicit in someNot parsers 0.0s
1468 + someNot - succeed when it does consume the specified minimum number of characters 0.0s
1469 + someNot - stop, but still succeed, when it has consumed the specified maximum number of characters 0.001s
1470 + oneNot - succeed for a non-matching character when 1 character is specified 0.0s
1471 + oneNot - succeed for any of the specified 3 characters 0.0s
1472 + oneNot - fail in case the end of the input is reached 0.0s
1473 + oneNot - fail when the first character does not match 0.0s
1474 + anyOf - succeed for any character within the specified range when 1 range is specified 0.0s
1475 + anyOf - succeed for any character within the specified ranges when 2 ranges are specified 0.001s
1476 + anyOf - succeed in case the end of the input is reached-1 0.0s
1477 + anyWhile - succeed with an empty result when no characters match 0.0s
1478 + anyWhile - succeed as long as the specified condition is met 0.001s
1479 + anyWhile - succeed in case the end of the input is reached 0.0s
1480 + anyWhile - fail when it does not consume the specified minimum number of characters 0.0s
1481 + anyWhile - succeed when it does consume the specified minimum number of characters 0.001s
1482 + anyWhile - stop, but still succeed, when it has consumed the specified maximum number of characters 0.0s
1483 + someWhile - succeed as long as the specified condition is met 0.0s
1484 + someWhile - succeed in case the end of the input is reached 0.0s
1485 + someWhile - fail when it does not consume the specified minimum number of characters 0.0s
1486 + someWhile - fail when it does not consume any characters as min(1) is implicit in someNot parsers 0.0s
1487 + someWhile - succeed when it does consume the specified minimum number of characters 0.0s
1488 + someWhile - stop, but still succeed, when it has consumed the specified maximum number of characters 0.004s
1489 + oneIf - succeed as long as the specified condition is met 0.0s
1490 + oneIf - fail in case the end of the input is reached 0.001s
1491 + oneIf - fail in case the specified predicate is not met 0.0s
1492 + delimitedBy - stop as soon as one of the specified delimiter characters is seen 0.0s
1493 + delimitedBy - succeed even when the result is empty 0.0s
1494 + delimitedBy - fail when the result is empty but nonEmpty is specified 0.0s
1495 + delimitedBy - fail when a stop char is seen before the end delimiter 0.001s
1496 + delimitedBy - fail in case the end of the input is reached before seeing a delimiter character 0.0s
1497 + delimitedBy - stop as soon as the specified string delimiter is seen 0.0s
1498 + delimitedBy - succeed even when the result is empty-1 0.0s
1499 + delimitedBy - fail when the result is empty but nonEmpty is specified-1 0.0s
1500 + delimitedBy - fail when a stop char is seen before the end delimiter-1 0.0s
1501 + delimitedBy - fail in case the end of the input is reached before seeing the delimiter string 0.0s
1502 + delimitedBy - succeed when the specified post condition is met 0.0s
1503 + delimitedBy - fail when the specified post condition is not met 0.003s
1504laika.rewrite.RewriteSpec:
1505 + replace the first element of the children in a container 0.001s
1506 + replace an element in the middle of the list of children in a container 0.001s
1507 + replace the last element of the children in a container 0.006s
1508 + remove the first element of the children in a container 0.002s
1509 + remove an element in the middle of the list of children in a container 0.001s
1510 + remove the last element of the children in a container 0.001s
1511 + replace the content of the header of a section, which is not part of the content list 0.002s
1512 + return a new instance for a branch in the document tree that contains one or more modified children 0.006s
1513 + rewrite a span container 0.0s
1514 + rewrite a nested span container 0.001s
1515 + rewrite main content and attribution in a QuotedBlock 0.003s
1516 + rewrite text in bullet list items 0.001s
1517 + rewrite text in enum list items 0.001s
1518 + rewrite text in a template element 0.0s
1519 + rewrite text in table cells 0.004s
1520laika.rst.ReStructuredTextToHTMLSpec:
1521 + transform the reStructuredText specification to HTML equivalent to the output of the reference parser 1.659s
1522laika.api.ParseAPISpec:
1523 + Markdown from a string 0.006s
1524 + Markdown with all link references resolved through the default rewrite rules 0.003s
1525 + set a config value programmatically 0.008s
1526 + parse Markdown into a raw document, without applying the default rewrite rules 0.003s
1527 + collect errors from runtime messages 0.017s
1528 + replace unresolved nodes with invalid elements 0.007s
1529laika.config.BlockParserConfigSpec:
1530 + merge parsers from a host language with parsers from an app extension 0.017s
1531 + merge parsers from two app extensions 0.006s
1532 + let a parser from an app extension override a parser from the host language 0.006s
1533 + let a parser from the host language override a low-precedence parser from an app extension 0.006s
1534laika.internal.rst.std.StandardSpanDirectivesSpec:
1535 + image - without options 0.017s
1536 + image - with alt option 0.005s
1537 + image - with target option with a simple reference 0.02s
1538 + image - with target option with a phrase reference 0.005s
1539 + image - with target option with a uri 0.007s
1540 + image - with class option 0.004s
1541 + image - with align option 0.006s
1542 + image - with width and height options 0.018s
1543 + image - with scale option 0.008s
1544 + replace - regular inline markup 0.006s
1545 + date - using the default pattern when no pattern is specified 0.01s
1546 + date - custom pattern 0.004s
1547 + date - custom pattern with a time component 0.005s
1548 + unicode - hex values starting with '0x' intertwined with normal text 0.009s
1549 + unicode - hex values starting with 'x' intertwined with normal text 0.003s
1550 + unicode - hex values starting with '\\x' intertwined with normal text 0.003s
1551 + unicode - hex values starting with 'U+' intertwined with normal text 0.006s
1552 + unicode - hex values starting with 'u' intertwined with normal text 0.007s
1553 + unicode - hex values starting with '\\u' intertwined with normal text 0.006s
1554 + unicode - hex values as XML-style entities intertwined with normal text 0.005s
1555 + unicode - decimal values intertwined with normal text 0.006s
1556laika.internal.rst.OptionListSpec:
1557 + list with short posix options 0.001s
1558 + list with long posix options 0.003s
1559 + list with short GNU-style options 0.001s
1560 + list with short DOS-style options 0.0s
1561 + option argument separated by a space 0.001s
1562 + option argument separated by '=' 0.002s
1563 + option argument enclosed in angle brackets 0.001s
1564 + description starting on the next line 0.001s
1565 + block of options with blank lines between them 0.0s
1566 + description containing multiple paragraphs 0.005s
1567 + option separated by more than 2 spaces 0.0s
1568laika.markdown.BlockParsersSpec:
1569 + paragraphs - blocks without block-level markup parsed as normal paragraphs 0.001s
1570 + paragraphs - double space at a line end parsed as a hard line break 0.001s
1571 + bullet lists - items not separated by blank lines as list items with flow content 0.0s
1572 + bullet lists - items separated by blank lines as list items with 'forced' paragraphs 0.003s
1573 + bullet lists - items indented by a tab after the '*' treated the same way as items indented by a space 0.001s
1574 + bullet lists - items starting with a '+' treated the same way as those starting with a '*' 0.0s
1575 + bullet lists - items starting with a '-' treated the same way as those starting with a '*' 0.0s
1576 + bullet lists - items prefixed by numbers as items of an enumerated list 0.001s
1577 + enum lists - items prefixed by numbers and separated by blank lines as ordered list items with paragraph 0.0s
1578 + enum lists - items prefixed by numbers containing multiple paragraphs in a single item 0.003s
1579 + bullet lists - nested items indented by spaces 0.001s
1580 + bullet lists - nested items indented by tabs 0.0s
1581 + lists - bullet list nested inside enumerated list 0.004s
1582 + lists - bullet list nested inside enumerated list with blank lines between the items 0.001s
1583 + enum lists - list nested between two paragraphs inside a list item 0.001s
1584 + blockquotes - paragraph decorated with '>' at the beginning of each line 0.0s
1585 + blockquotes - paragraph decorated with '>' only at the beginning of the first line 0.0s
1586 + blockquotes - two adjacent paragraphs decorated with '>' as a single blockquote with two paragraphs 0.0s
1587 + blockquotes - nested blockquote decorated with a second '>' 0.0s
1588 + blockquotes - prevent endless recursion and stop after the configured maximum of 12 nest levels 0.005s
1589 + literal blocks - paragraphs indented with 4 or more spaces as a code block 0.0s
1590 + literal blocks - paragraphs indented with 1 or more tabs as a code block 0.0s
1591 + literal blocks - indented lines separated by blank lines as a single code block 0.001s
1592 + setext header - title decorated by one or more '=' on the following line as a level 1 header 0.0s
1593 + setext header - title decorated by one or more '-' on the following line as a level 2 header 0.0s
1594 + setext header - title that includes markup 0.0s
1595 + atx header - title decorated by one '#' on the beginning of the line as a level 1 header 0.001s
1596 + atx header - title decorated by three '#' on the beginning of the line as a level 3 header 0.0s
1597 + atx header - title decorated by six '#' on the beginning of the line as a level 3 header 0.004s
1598 + atx header - title that includes markup 0.001s
1599 + atx header - strip all trailing '#' from the header 0.0s
1600 + atx header - ignore title lines without title text 0.0s
1601 + atx header - recognize header without preceding blank line 0.0s
1602 + rules - line decorated by '-' and space characters ending on a '-' 0.0s
1603 + rules - line decorated by '-' and space characters ending on several spaces 0.0s
1604 + rules - line decorated by '-' and space characters even if the number of spaces varies 0.0s
1605 + rules - treat a line decorated by '_' and space characters as normal text in case it is followed by other characters 0.0s
1606 + rules - treat a line decorated by '_' and space characters as normal text in case the pattern is repeated less than 3 times 0.001s
1607 + rules - line decorated by '-' and space characters indented up to 3 spaces 0.0s
1608 + rules - line decorated by '-' without space characters 0.0s
1609 + rules - line decorated by '_' and space characters 0.001s
1610 + rules - line decorated by '*' and space characters 0.0s
1611 + link target without title and url without angle brackets 0.0s
1612 + link target without title and url in angle brackets 0.0s
1613 + link target with title enclosed in double quotes 0.0s
1614 + link target with title enclosed in single quotes 0.0s
1615 + link target with title enclosed in parentheses 0.0s
1616 + link target with the title indented on the following line 0.0s
1617 + link target ignoring the title when it is following after a blank line 0.0s
1618 + internal target 0.001s
1619 + internal target with title enclosed in parentheses 0.001s
1620 + code block nested inside a list 0.0s
1621 + blockquote nested inside a list 0.001s
1622 + list nested inside a blockquote 0.0s
1623 + code block nested inside a blockquote 0.001s
1624laika.api.TransformAPISpec:
1625 + string to string 0.011s
1626 + empty string 0.004s
1627 + render override for a specific element type 0.008s
1628 + custom rewrite rule 0.011s
1629 + multiple rewrite rules 0.01s
1630 + process a Replace followed by a Retain 0.007s
1631 + custom rewrite rule that depends on the document 0.012s
1632 + process rules with access to a document cursor in a later phase 0.01s
1633 + do not validate or translate URLs when transforming a single string - Markdown 0.009s
1634 + do not validate or translate URLs when transforming a single string - reStructuredText 0.012s
1635laika.config.SpanParserConfigSpec:
1636 + merge parsers from a host language with parsers from an app extension 0.012s
1637 + merge parsers from two app extensions 0.005s
1638 + let a parser from an app extension override a parser from the host language 0.006s
1639 + let a parser from the host language override a low-precedence parser from an app extension 0.002s
1640laika.internal.rst.FieldListSpec:
1641 + list with all bodies on the same line as the name 0.002s
1642 + list with bodies spanning multiple lines 0.001s
1643 + list with bodies spanning multiple blocks 0.0s
1644laika.parse.hocon.HoconErrorSpec:
1645 + missing closing quotes in a top level property 0.003s
1646 + missing closing quotes in an array property 0.0s
1647 + missing closing quotes in a nested object property 0.0s
1648 + missing closing quotes in a substitution reference 0.001s
1649 + missing closing quotes in a property key 0.001s
1650 + invalid characters for unquoted strings in a top level property value 0.002s
1651 + invalid characters for unquoted strings in an array property 0.001s
1652 + invalid characters for unquoted strings in a nested object property value 0.0s
1653 + invalid characters for unquoted strings in a substitution reference 0.0s
1654 + invalid characters for unquoted strings in a property key 0.0s
1655 + invalid characters for unquoted strings as a consequence of a missing separator between fields 0.0s
1656 + invalid escape sequences in a top level property 0.005s
1657 + missing closing brackets for arrays in a top level property 0.001s
1658 + missing closing brackets for arrays in a top level property in a multiline array 0.0s
1659 + missing closing brackets for arrays in a nested object property 0.001s
1660 + missing closing brackets for objects in a top level property 0.001s
1661 + missing closing brackets for objects in a multiline array 0.0s
1662 + missing closing brackets for objects in a nested object property 0.001s
1663 + missing '=' or ':' between key and value in a top level property 0.0s
1664 + missing '=' or ':' between key and value in a multiline array 0.001s
1665 + missing '=' or ':' between key and value in a nested object property 0.0s
1666 + missing closing braces for substitution references in a top level property 0.0s
1667 + missing closing braces for substitution references in a multiline array 0.001s
1668 + missing closing braces for substitution references in a nested object property 0.0s
1669 + missing closing triple quotes in a top level object 0.001s
1670 + missing closing triple quotes in a nested object 0.0s
1671 + invalid include syntax - missing closing quotes 0.001s
1672 + invalid include syntax - missing closing quotes (file syntax) 0.0s
1673 + invalid include syntax - missing closing parenthesis (file syntax) 0.001s
1674 + invalid include syntax - missing closing parenthesis (required/file syntax) 0.001s
1675 + invalid include syntax - missing quotes 0.0s
1676laika.rewrite.LinkValidatorSpec:
1677 + valid markup link target 0.007s
1678 + valid markup link target with fragment 0.006s
1679 + valid static link target 0.008s
1680 + invalid link target 0.006s
1681 + ignore invalid link target when target directory is excluded 0.009s
1682 + ignore invalid link target when validation is configured to be local 0.007s
1683 + ignore invalid link target when validation is configured to be off 0.005s
1684 + invalid local link target 0.004s
1685 + ignore invalid local link target when validation is configured to be off 0.008s
1686 + recoverable markup link target 0.018s
1687 + recoverable static link target 0.006s
1688 + valid span link 0.004s
1689 + invalid span link 0.007s
1690 + recovered span link 0.002s
1691 + unrecoverable image link 0.009s
1692laika.ast.StyleMatchingSpec:
1693 + not collect any styles when no selector matches 0.0s
1694 + collect styles with matching type selectors 0.002s
1695 + collect styles with matching class selectors 0.0s
1696 + collect styles with matching id selectors 0.003s
1697 + collect styles with matching type and class selectors 0.001s
1698 + collect styles with matching parent and child selectors 0.001s
1699 + not collect any styles when the parent selector does not match 0.007s
1700 + collect styles with matching parent and immediate child selectors 0.001s
1701 + not collect any styles when the matching parent selector is not an immediate parent 0.0s
1702 + collect styles with two matching parent selectors 0.001s
1703 + not collect any styles when one of the parent selectors does not match 0.0s
1704 + should apply styles based on order if two declarations have the same specificity 0.0s
1705laika.internal.rst.BulletListSpec:
1706 + list items not separated by blank lines 0.002s
1707 + list items separated by blank lines 0.0s
1708 + list items starting with '+' treated the same way as those starting with a '*' 0.0s
1709 + list items starting with '-' treated the same way as those starting with a '*' 0.001s
1710 + list items containing multiple paragraphs in a single item 0.004s
1711 + nested items indented by spaces 0.001s
1712 + ignore items when the second line is not indented 0.0s
1713 + literal block after the first line of a list item 0.001s
1714laika.rewrite.RewriteRulesSpec:
1715 + citation rules - retain a single reference when it has a matching target 0.008s
1716 + citation rules - retain multiple references when they all have a matching targets 0.002s
1717 + citation rules - replace a reference with an unknown label with an invalid span 0.001s
1718 + footnote rules - retain a group of footnotes with a mix of explicit numeric and autonumber labels 0.005s
1719 + footnote rules - retain a group of footnotes with a mix of explicit numeric, autonumber and autonumber-labeled footnotes 0.005s
1720 + footnote rules - retain a group of footnotes with autosymbol labels 0.008s
1721 + footnote rules - replace references with unresolvable autonumber or numeric labels with invalid spans 0.001s
1722 + footnote rules - replace surplus autonumber references with invalid spans 0.001s
1723 + footnote rules - replace surplus autosymbol references with invalid spans 0.002s
1724 + link id refs - resolve external link definitions 0.001s
1725 + link id refs - resolve internal link definitions 0.001s
1726 + link id refs - interpret internal link definitions as external when they point upwards beyond the virtual root 0.001s
1727 + link id refs - resolve internal link targets 0.002s
1728 + link id refs - resolve anonymous link references 0.001s
1729 + link id refs - resolve anonymous internal link definitions 0.001s
1730 + link id refs - resolve anonymous external link definitions 0.001s
1731 + link id refs - replace an unresolvable reference with an invalid span 0.001s
1732 + link id refs - replace a surplus anonymous reference with an invalid span 0.001s
1733 + global link defs - resolve internal link references to a target in the parent tree 0.032s
1734 + global link defs - resolve internal link references with case-insensitive comparison 0.023s
1735 + global link defs - resolve external link references 0.014s
1736 + global link defs - produce an invalid span for an unresolved id 0.013s
1737 + global link defs - produce an invalid span for an unresolved reference 0.022s
1738 + internal links - resolve internal link references to a target in the same document 0.018s
1739 + internal links - resolve internal link references to a target in the same tree 0.012s
1740 + internal links - resolve internal link references to a target in the parent tree 0.01s
1741 + internal links - resolve internal link references to a target in a sibling tree 0.013s
1742 + internal links - resolve internal link references to a markup document 0.01s
1743 + internal links - resolve internal link references to a static document 0.012s
1744 + internal links - resolve internal link references to an image 0.008s
1745 + internal links - produce an invalid span for an unresolved reference 0.006s
1746 + internal links - produce an invalid span for a reference to a markup document with fewer target formats than the source 0.006s
1747 + internal links - produce an invalid span for a reference to a static document with fewer target formats than the source 0.006s
1748 + internal links - add a restricted target format parameter for a reference to a markup document with fewer target formats than the source when siteBaseURL is defined 0.008s
1749 + internal links - add a restricted target format parameter for a reference to a static document with fewer target formats than the source when siteBaseURL is defined 0.015s
1750 + internal links - avoid validation for references beyond the virtual root 0.007s
1751 + internal links - resolve a link id reference to a target in the same tree 0.013s
1752 + internal links - resolve a link id reference to a header with a duplicate id by precedence 0.006s
1753 + link aliases - resolve indirect link references 0.001s
1754 + link aliases - replace an unresolvable reference to a link alias with an invalid span 0.001s
1755 + link aliases - replace circular indirect references with invalid spans 0.001s
1756 + image id refs - resolve external link references 0.001s
1757 + image id refs - resolve internal link references 0.001s
1758 + image id refs - replace an unresolvable reference with an invalid span 0.003s
1759 + header ids - create the id for the header based on the header text 0.001s
1760 + header ids - respect explicitly assigned ids 0.001s
1761 + duplicate ids - append auto-increment numbers 0.002s
1762 + duplicate ids - remove invalid external link definitions altogether 0.001s
1763 + duplicate ids - replace ambiguous references to duplicate ids with invalid spans 0.001s
1764 + duplicate ids - replace ambiguous references for a link alias pointing to duplicate ids with invalid spans 0.001s
1765laika.config.TemplateParserConfigSpec:
1766 + let an app config override a parser in the extension config 0.006s
1767 + let an app config override a parser in a previously installed app config 0.001s
1768 + use the default parser when there is no parser installed 0.001s
1769 + retain the template parser in strict mode 0.006s
1770laika.rewrite.PathTranslatorSpec:
1771 + between two unversioned documents 0.001s
1772 + between two versioned documents 0.001s
1773 + versioned to unversioned document 0.0s
1774 + unversioned to versioned document 0.001s
1775 + static unversioned document 0.001s
1776 + static versioned document 0.0s
1777 + ignore versions when output format is not HTML 0.001s
1778 + apply versions when substituting an internal target with an external one 0.0s
1779laika.ast.ElementTraversalSpec:
1780 + select all elements that satisfy the predicate 0.001s
1781 + select the elements in depth-first order 0.0s
1782 + select elements which are not part of the content collection of a container 0.001s
1783 + return an empty list if no element satisfies the predicate 0.0s
1784 + collect values based on a partial function applied to all elements 0.001s
1785laika.rewrite.SectionNumberSpec:
1786 + number documents, sections and titles 0.029s
1787 + number documents and titles 0.02s
1788 + number sections only 0.022s
1789 + number nothing 0.011s
1790 + number documents and sections two levels deep 0.014s
1791laika.ast.ElementContainerToStringSpec:
1792 + toString for ElementContainer 0.006s
1793laika.parse.css.CSSParsersSpec:
1794 + parse a style with a type selector 0.013s
1795 + parse a style with a class selector 0.0s
1796 + parse a style with an id selector 0.0s
1797 + parse a style with a type and class selector 0.001s
1798 + parse a style with a type and id selector 0.0s
1799 + parse a style with a child selector 0.001s
1800 + parse a style with an immediate child selector 0.0s
1801 + parse a style with multiple child selectors 0.0s
1802 + parse a style with multiple selectors 0.0s
1803 + parse multiple style declarations 0.001s
1804 + parse multiple style declarations with comments 0.0s
1805 + parse a style with multiple comments 0.0s
1806laika.internal.rst.InlineParsersSpec:
1807 + inline text - parse content without any markup as plain text 0.001s
1808 + markup recognition rules - recognize markup surrounded by whitespace 0.0s
1809 + markup recognition rules - recognize markup surrounded by punctuation 0.0s
1810 + markup recognition rules - recognize markup at the start of the input 0.001s
1811 + markup recognition rules - recognize markup at the end of the input 0.0s
1812 + markup recognition rules - recognize markup at the end and the end of the input 0.004s
1813 + markup recognition rules - ignore markup surrounded by characters (rules 1 and 4) 0.0s
1814 + markup recognition rules - ignore markup with a space after the start character (rule 2) 0.0s
1815 + markup recognition rules - ignore markup with a space before the end character (rule 3) 0.0s
1816 + markup recognition rules - ignore markup end characters immediately following the start character (rule 6) 0.001s
1817 + markup recognition rules - ignore markup characters between matching punctuation characters (rule 5) 0.0s
1818 + markup recognition rules - recognize markup when preceding and following characters are escaped 0.0s
1819 + em - content enclosed in * 0.0s
1820 + em - ignore an * character when it is not matched by a second * 0.0s
1821 + em - ignore markup for nested spans 0.001s
1822 + em - ignore markup for emphasis when strong failed at the same position based on the markup recognition rules 0.0s
1823 + strong - content enclosed in ** 0.0s
1824 + strong - ignore a ** sequence when it is not matched by a second ** 0.0s
1825 + inline literal - content enclosed in `` 0.0s
1826 + inline literal - ignore a ` character when it is not matched by a second ` 0.0s
1827 + inline literal - do not treat a single ` as markup when the code span is enclosed in double `` 0.001s
1828 + substitution reference - content enclosed in | 0.0s
1829 + substitution reference - ignore a | character when it is not matched by a second | 0.0s
1830 + internal link target - content enclosed in _` and ` 0.0s
1831 + interpreted text - enclosed in ` with implicit default role 0.0s
1832 + interpreted text - enclosed in ` with role prefix 0.0s
1833 + interpreted text - enclosed in ` with role suffix 0.0s
1834 + interpreted text - enclosed in ` but ignore illegal role prefix 0.0s
1835 + citation reference - enclosed between [ and ]_ 0.0s
1836 + footnote reference - enclosed between [ and ]_ with autonumber label 0.0s
1837 + footnote reference - enclosed between [ and ]_ with autosymbol label 0.0s
1838 + footnote reference - enclosed between [ and ]_ with an autonumber named label 0.001s
1839 + footnote reference - enclosed between [ and ]_ with a numeric label 0.0s
1840 + phrase link without url 0.0s
1841 + external phrase link with text and url 0.001s
1842 + internal phrase link with text and url 0.0s
1843 + phrase link with only a url 0.0s
1844 + internal phrase link with only a url 0.0s
1845 + phrase link - remove whitespace from an url 0.001s
1846 + anonymous phrase link without url 0.0s
1847 + anonymous phrase link with text and url 0.0s
1848 + anonymous phrase link with only an url 0.0s
1849 + named link reference 0.0s
1850 + anonymous link reference 0.0s
1851 + normalize the id of a phrase link 0.0s
1852 + standalone link - http URI 0.0s
1853 + standalone link - http URI containing an IP4 address 0.001s
1854 + standalone link - https URI 0.0s
1855 + standalone link - email address 0.0s
1856 + standalone link - http URI without trailing punctuation 0.0s
1857 + standalone link - do not parse a URI containing unicode characters 0.0s
1858 + standalone link - email address without surrounding punctuation 0.0s
1859 + backslash escape 0.001s
1860laika.config.ParserHookSpec:
1861 + preProcessInput - apply the hook from a parser extension before the hook in an app extension 0.005s
1862 + preProcessInput - apply the hook from an app extension before the hook in a subsequently installed app extension 0.002s
1863 + preProcessInput - provide the identity function when no hook is defined 0.002s
1864 + postProcessBlocks hook- apply the hook from a parser extension before the hook in an app extension 0.003s
1865 + postProcessBlocks - apply the hook from an app extension before the hook in a subsequently installed app extension 0.002s
1866 + postProcessBlocks - provide the identity function when no hook is defined 0.002s
1867 + postProcessDocument - apply the hook from a parser extension before the hook in an app extension 0.006s
1868 + postProcessDocument - apply the hook from an app extension before the hook in a subsequently installed app extension 0.005s
1869 + postProcessDocument - provide the identity function when no hook is defined 0.005s
1870laika.rewrite.SelectionConfigSpec:
1871 + succeed with an empty config 0.021s
1872 + succeed with no choice groups in the config 0.001s
1873 + succeed with a single choice group without separation 0.009s
1874 + succeed with a single choice group with separation 0.042s
1875 + succeed with a two choice groups with separation and one without 0.013s
1876 + should use per-classifier cover image configuration 0.005s
1877 + should use the default cover image if none has been specified for a classifier 0.012s
1878laika.config.StyleSheetParserConfigSpec:
1879 + let an app config override a parser in the extension config 0.002s
1880 + let an app config override a parser in a previously installed app config 0.001s
1881 + use the default fallback parser in case all other parsers fail 0.001s
1882laika.internal.rst.RewriteRulesSpec:
1883 + link id refs - resolve references when some parent element also gets rewritten 0.002s
1884 + decorated headers - set the level of the header in a flat list of headers 0.004s
1885 + decorated headers - set the level of the header in a nested list of headers 0.002s
1886 + decorated headers - do not create title nodes in the default configuration for orphan documents 0.001s
1887 + decorated headers - respect explicitly assigned ids 0.001s
1888laika.internal.rst.TableParsersSpec:
1889 + grid table - 2 rows and 2 cells 0.014s
1890 + grid table - horizontally merged cells in the first row 0.004s
1891 + grid table - horizontally merged cells in the second row 0.001s
1892 + grid table - vertically merged cells in the left column 0.004s
1893 + grid table - vertically merged cells in the right column 0.001s
1894 + grid table - vertically and horizontally merged cells 0.006s
1895 + grid table - empty cells 0.003s
1896 + grid table - fail in case of illegal merging of cells (variant 1) 0.0s
1897 + grid table - fail in case of illegal merging of cells (variant 2) 0.001s
1898 + grid table - fail in case of illegal merging of cells (variant 3) 0.0s
1899 + grid table - fail in case of illegal merging of cells (variant 4) 0.001s
1900 + grid table - parse cells containing multiple block elements 0.001s
1901 + grid table - parse tables with header cells 0.003s
1902 + simple table - 2 rows and 2 cells 0.001s
1903 + simple table - horizontally merged cells in the first row 0.001s
1904 + simple table - horizontally merged cells in the second row 0.001s
1905 + simple table - empty cells 0.001s
1906 + simple table - cells containing multiple block elements 0.003s
1907 + simple table - header cells 0.001s
1908laika.parse.hocon.HoconParserSpec:
1909 + empty root object that is not enclosed in braces 0.001s
1910 + root object with two properties that is not enclosed in braces 0.0s
1911 + root object with all property types that is not enclosed in braces 0.001s
1912 + root object with two properties that use '=' instead of ':' 0.0s
1913 + object property without separator 0.0s
1914 + object property with a trailing comma 0.003s
1915 + array property with a trailing comma 0.001s
1916 + array property with elements separated by newline characters 0.0s
1917 + root object with members separated by newline characters 0.0s
1918 + root object with members separated by two newline characters 0.001s
1919 + multiline string property 0.0s
1920 + multiline string property with more than 3 closing quotes 0.0s
1921 + multiline string property - ignore escapes 0.001s
1922 + object with unquoted keys 0.001s
1923 + object with unquoted string values 0.006s
1924 + object with the += field separator 0.0s
1925 + simple values containing booleans 0.0s
1926 + simple values containing numbers 0.001s
1927 + object values on a single line 0.0s
1928 + object values spanning multiple lines 0.0s
1929 + array values on a single line 0.001s
1930 + array values spanning multiple lines 0.0s
1931 + concatenated key consisting of unquoted strings 0.0s
1932 + concatenated key consisting of unquoted and quoted strings 0.0s
1933 + substitution as a simple value 0.0s
1934 + substitution for an optional value 0.001s
1935 + substitution as the first part in a concatenated value 0.0s
1936 + substitution as the last part in a concatenated value 0.01s
1937 + comment at the beginning of the input 0.0s
1938 + comment at the end of the input 0.0s
1939 + comment in the middle of the input 0.001s
1940 + multiple comments in the middle of the input 0.0s
1941 + comment next to an object member 0.0s
1942 + comment next to an array property 0.0s
1943 + unquoted path 0.0s
1944 + unquoted path with whitespace 0.001s
1945 + quoted path 0.0s
1946 + quoted and unquoted path combined 0.0s
1947 + quoted empty string as a path element 0.0s
1948 + optional file include 0.004s
1949 + optional classpath include 0.002s
1950 + optional URL include 0.0s
1951 + optional heuristic include 0.0s
1952 + required heuristic include 0.003s
1953 + required file include 0.0s
1954 + multiple include statements on different nesting levels 0.001s
1955laika.directive.TemplateDirectiveAPISpec:
1956 + parse an empty directive 0.009s
1957 + parse a directive with one required default string attribute 0.007s
1958 + detect a directive with a missing required positional attribute 0.007s
1959 + parse a directive with an optional default int attribute 0.012s
1960 + detect a directive with an optional invalid default int attribute 0.002s
1961 + parse a directive with a missing optional default int attribute 0.001s
1962 + parse a directive with one required named string attribute 0.008s
1963 + parse a directive with a named string attribute value in quotes 0.001s
1964 + detect a directive with a missing required named attribute 0.003s
1965 + parse a directive with an optional named int attribute 0.005s
1966 + detect a directive with an optional invalid named int attribute 0.002s
1967 + parse a directive with a missing optional named int attribute 0.004s
1968 + parse a directive with the allAttributes combinator 0.002s
1969 + parse a directive with a body 0.007s
1970 + support a directive with a nested pair of braces 0.004s
1971 + detect a directive with a missing body 0.002s
1972 + parse a directive with a separated body 0.015s
1973 + detect a directive with an invalid separator 0.002s
1974 + detect a directive with a separator not meeting the min count requirements 0.004s
1975 + detect a directive with a separator exceeding the max count constraint 0.005s
1976 + detect an orphaned separator directive 0.001s
1977 + parse a full directive spec with all elements present 0.005s
1978 + parse a full directive spec with all elements present with attributes spanning three lines 0.007s
1979 + parse a full directive spec with all optional elements missing 0.002s
1980 + detect a full directive spec with all positional attributes and the required body missing 0.002s
1981 + parse a directive with a custom body parser 0.005s
1982 + parse a directive with a required default body and cursor access 0.004s
1983 + detect a directive with an unknown name 0.001s
1984laika.internal.rst.std.StandardTextRolesSpec:
1985 + emphasis - without styles 0.005s
1986 + emphasis - with custom style 0.002s
1987 + strong - without styles 0.001s
1988 + strong - with custom style 0.002s
1989 + literal - without styles 0.004s
1990 + literal - with custom style 0.001s
1991 + subscript - without styles 0.005s
1992 + subscript - with custom style 0.001s
1993 + subscript - sub alias 0.005s
1994 + superscript - without styles 0.001s
1995 + superscript - with custom style 0.004s
1996 + superscript - sup alias 0.001s
1997 + title-reference - without styles 0.006s
1998 + title-reference - with custom style 0.002s
1999 + support the title alias 0.006s
2000 + be used as the default role if none is specified 0.002s
2001 + code - without styles 0.001s
2002 + code - with custom style and language 0.008s
2003 + raw - with format and style options 0.008s
2004 + raw - disabled by default 0.001s
2005 + default text configurable through the API 0.004s
2006laika.internal.rst.BlockParsersSpec:
2007 + doctest block 0.001s
2008 + indented literal block in expanded form 0.007s
2009 + indented literal block in partially minimized form 0.0s
2010 + indented literal block in fully minimized form 0.0s
2011 + quoted literal block in expanded form 0.004s
2012 + quoted literal block in partially minimized form 0.001s
2013 + quoted literal block in fully minimized form 0.0s
2014 + indented literal block with blank lines 0.0s
2015 + quoted literal block with blank lines 0.001s
2016 + block quote with two paragraphs 0.0s
2017 + block quote with an attribution 0.001s
2018 + transition - line of = characters 0.0s
2019 + transition - ignore lines shorter than 4 characters 0.0s
2020 + header with overline and underline 0.001s
2021 + header with underline only 0.0s
2022 + headers with varying levels 0.0s
2023 + ignore headers where the underline is shorter than the text 0.0s
2024 + ignore headers where the underline does not have the same length as the overline 0.0s
2025 + block lists - apply an internal link target to the following regular block 0.001s
2026 + block lists - do not apply an internal link target to the following regular block when that already has an id 0.007s
2027 + block lists - treat an internal link target followed by another internal link target like an alias 0.0s
2028 + block lists - treat an internal link target followed by an external link target as an external link target 0.001s
2029 + block lists - treat an internal reference followed by an internal link target as two internal link targets 0.0s
2030 + paragraph parser - support a parser extension that can interrupt paragraphs 0.001s
2031laika.ast.PathAPISpec:
2032 + decoder - absolute path with three segments 0.003s
2033 + decoder - absolute path with one segment 0.0s
2034 + decoder - ignore trailing slashes for absolute paths 0.0s
2035 + decoder - root path from a single slash 0.0s
2036 + decoder - relative path with three segments 0.0s
2037 + decoder - relative path with one segment 0.0s
2038 + decoder - ignore trailing slashes for relative paths 0.001s
2039 + decoder - current document from the empty string 0.0s
2040 + decoder - current document from a hash 0.0s
2041 + decoder - current relative path from a dot 0.0s
2042 + decoder - fragment of the current document 0.0s
2043 + decoder - relative path to parent with three segments 0.0s
2044 + decoder - relative path to parent with one segment 0.0s
2045 + decoder - relative path to parent three levels up 0.0s
2046 + decoder - relative path to parent two levels up without any path segments 0.0s
2047 + decoder - relative path to parent one level up without any path segments 0.0s
2048 + decoder - relative path to parent two levels up without trailing slash 0.0s
2049 + decoder - relative path to parent one level up without trailing slash 0.0s
2050 + decoder - ignore leading slashes when RelativePath.parse is invoked directly 0.0s
2051 + decoder - assume leading slashes when Path.parse is invoked directly 0.0s
2052 + parent - Root for Root 0.0s
2053 + parent - Root for a path with a single segment 0.0s
2054 + parent - a path with 2 segments for an absolute path with 3 segments 0.0s
2055 + parent - Parent(1) for Current 0.0s
2056 + parent - CurrentTree for CurrentDocument 0.0s
2057 + parent - CurrentTree for a path with a single segment 0.0s
2058 + parent - a path with 2 segments for a relative path with 3 segments 0.0s
2059 + parent - Parent(2) for Parent(1) 0.0s
2060 + parent - Parent(1) for a path with a single segment 0.0s
2061 + parent - a path with 2 segments for a parent path with 3 segments 0.001s
2062 + depth - 0 for Root 0.0s
2063 + depth - 1 for a path with one segment 0.0s
2064 + depth - 3 for a path with three segments 0.0s
2065 + basename - / for Root 0.002s
2066 + basename - . for CurrentTree 0.0s
2067 + basename - empty for CurrentDocument 0.0s
2068 + basename - ../ for Parent(1) 0.0s
2069 + basename - for an absolute path without suffix 0.0s
2070 + basename - for a relative path without suffix 0.0s
2071 + basename - for an absolute path with suffix 0.0s
2072 + basename - for an absolute path with suffix and fragment 0.0s
2073 + basename - for a relative path with suffix 0.001s
2074 + basename - for a relative path with suffix and fragment 0.0s
2075 + withBasename - called on an absolute path without suffix 0.003s
2076 + withBasename - called on a relative path without suffix 0.0s
2077 + withBasename - called on an absolute path with suffix 0.0s
2078 + withBasename - called on an absolute path with suffix and with fragment 0.0s
2079 + withBasename - called on a relative path with suffix 0.001s
2080 + withBasename - called on a relative path with suffix with fragment 0.0s
2081 + suffix - empty for Root 0.0s
2082 + suffix - empty for CurrentTree 0.0s
2083 + suffix - empty for CurrentDocument 0.0s
2084 + suffix - empty for Parent(1) 0.0s
2085 + suffix - empty for an absolute path without suffix 0.0s
2086 + suffix - empty for a relative path without suffix 0.0s
2087 + suffix - defined for an absolute path with suffix 0.0s
2088 + suffix - use shortest suffix in case of multiple dots 0.0s
2089 + suffix - defined for an absolute path with suffix and fragment 0.0s
2090 + suffix - defined for a relative path with suffix 0.0s
2091 + suffix - defined for a relative path with suffix and fragment 0.0s
2092 + withSuffix - called on an absolute path without suffix 0.0s
2093 + withSuffix - called on an absolute path without suffix with fragment 0.001s
2094 + withSuffix - called on a relative path without suffix 0.0s
2095 + withSuffix - called on a relative path without suffix with fragment 0.0s
2096 + withSuffix - called on an absolute path with suffix 0.0s
2097 + withSuffix - called on an absolute path with suffix and with fragment 0.0s
2098 + withSuffix - called on a relative path with suffix 0.0s
2099 + withSuffix - called on a relative path with suffix with fragment 0.0s
2100 + fragment - empty for Root 0.001s
2101 + fragment - empty for CurrentTree 0.0s
2102 + fragment - empty for Parent(1) 0.0s
2103 + fragment - empty for an absolute path without fragment 0.0s
2104 + fragment - empty for a relative path without fragment 0.0s
2105 + fragment - empty for the current document without a fragment 0.0s
2106 + fragment - defined for the current document with a fragment 0.0s
2107 + fragment - defined for an absolute path with fragment 0.0s
2108 + fragment - defined for an absolute path with suffix and fragment 0.0s
2109 + fragment - defined for a relative path with fragment 0.0s
2110 + fragment - defined for a relative path with suffix and fragment 0.0s
2111 + withFragment - called on an absolute path without fragment 0.003s
2112 + withFragment - called on an absolute path without fragment with suffix 0.001s
2113 + withFragment - called on a relative path without fragment 0.0s
2114 + withFragment - called on a relative path without fragment with suffix 0.0s
2115 + withFragment - called on an absolute path with fragment 0.0s
2116 + withFragment - called on an absolute path with fragment and with suffix 0.0s
2117 + withFragment - called on a relative path with fragment 0.0s
2118 + withFragment - called on a relative path with fragment with suffix 0.0s
2119 + path concatenation for absolute paths - return the same instance when invoked with CurrentTree 0.0s
2120 + path concatenation for absolute paths - return the immediate parent when invoked with Parent(1) 0.0s
2121 + path concatenation for absolute paths - return Root when pointing to the top-most parent 0.0s
2122 + path concatenation for absolute paths - two paths with segments 0.0s
2123 + path concatenation for absolute paths - path pointing to a parent one level up 0.0s
2124 + path concatenation for absolute paths - path pointing to a parent two levels up 0.0s
2125 + path concatenation for absolute paths - keep the suffix when invoked with CurrentTree 0.0s
2126 + path concatenation for relative paths - return the same instance when invoked with Current 0.003s
2127 + path concatenation for relative paths - return the immediate parent when invoked with Parent(1) 0.0s
2128 + path concatenation for relative paths - return CurrentTree when pointing to the top-most parent 0.0s
2129 + path concatenation for relative paths - return Parent(1) when pointing past the top-most parent 0.0s
2130 + path concatenation for relative paths - two paths with segments 0.0s
2131 + path concatenation for relative paths - path pointing to a parent one level up 0.0s
2132 + path concatenation for relative paths - path pointing to a parent two levels up 0.0s
2133 + path concatenation for relative paths - append to CurrentTree 0.0s
2134 + path concatenation for relative paths - append to Parent(1) 0.0s
2135 + path concatenation for relative paths - path pointing to a parent one level up to another path pointing one level up 0.0s
2136 + path concatenation for relative paths - path pointing to a parent two levels up to another path pointing one level up 0.0s
2137 + relativeTo - pointing to the same document 0.0s
2138 + relativeTo - pointing to a parent tree 0.0s
2139 + relativeTo - pointing to a document in the parent tree 0.0s
2140 + relativeTo - pointing to a document in the same tree 0.0s
2141 + relativeTo - path relative to Root 0.0s
2142 + relativeTo - relative path pointing upwards to Root 0.0s
2143 + relativeTo - relative path pointing to a fragment in the same document 0.0s
2144 + relativeTo - preserve suffix and fragment 0.0s
2145 + isSubPath - true for two identical paths 0.0s
2146 + isSubPath - true for two identical paths with suffix 0.0s
2147 + isSubPath - false for two identical paths with different suffix 0.0s
2148 + isSubPath - false for two identical paths when one is without suffix 0.001s
2149 + isSubPath - true for a child path 0.0s
2150 + isSubPath - false for a parent path with a suffix 0.0s
2151 + isSubPath - false for a parent path 0.0s
2152laika.markdown.InlineParsersSpec:
2153 + content without any markup 0.001s
2154 + em - enclosed in * at the beginning of a phrase 0.0s
2155 + em - enclosed in * at the end of a phrase 0.0s
2156 + em - enclosed in * in the middle of a phrase 0.001s
2157 + em - enclosed in * when it spans the entire phrase 0.0s
2158 + em - ignore an * character when it is enclosed in spaces 0.0s
2159 + em - ignore an * start markup when it is at the end of the line 0.0s
2160 + em - ignore an * character when it is not matched by a second * 0.0s
2161 + em - treat an '_' the same as an '*' 0.0s
2162 + strong - enclosed in ** at the beginning of a phrase 0.0s
2163 + strong - enclosed in ** at the end of a phrase 0.001s
2164 + strong - enclosed in ** in the middle of a phrase 0.0s
2165 + strong - enclosed in ** with a nested em span 0.0s
2166 + strong - enclosed in ** when it spans the entire phrase 0.002s
2167 + strong - ignore a ** sequence when it is enclosed in spaces 0.0s
2168 + strong - ignore a ** sequence when it is not matched by a second ** 0.0s
2169 + strong - treat an '_' the same as an '*' 0.0s
2170 + literal - enclosed in ` at the beginning of a phrase 0.0s
2171 + literal - enclosed in ` at the end of a phrase 0.0s
2172 + literal - enclosed in ` in the middle of a phrase 0.001s
2173 + literal - enclosed in ` when it spans the entire phrase 0.0s
2174 + literal - treat a ` character as markup even when it is enclosed in spaces 0.0s
2175 + literal - ignore a ` character when it is not matched by a second ` 0.003s
2176 + literal - do not treat a single ` as markup when the code span is enclosed in double `` 0.0s
2177 + literal - support three ` characters as delimiter 0.0s
2178 + literal - support five ` characters as delimiter 0.0s
2179 + nested spans - code span inside emphasized text 0.001s
2180 + nested spans - ignore the attempt to close an outer span inside an inner span 0.0s
2181 + escapes - escapable character not treated as markup 0.0s
2182 + escapes - backslash treated as a literal character when the following character is not escapable 0.0s
2183 + links - inline link without title 0.0s
2184 + links - inline link with nested parenthesis 0.001s
2185 + links - recognize email link as external link 0.0s
2186 + links - inline link with an optional title enclosed in double quotes 0.0s
2187 + links - inline link destination within angle brackets 0.0s
2188 + links - inline link destination containing spaces within angle brackets 0.001s
2189 + links - inline link with an optional title enclosed in single quotes 0.0s
2190 + links - inline link with a malformed title 0.0s
2191 + links - markup inside the text of an inline link 0.0s
2192 + links - properly parse escape sequences in the text of an inline link 0.0s
2193 + images - inline image without title 0.003s
2194 + images - inline image with internal target 0.001s
2195 + images - inline image with an optional title enclosed in double quotes 0.0s
2196 + images - inline image with an optional title enclosed in single quotes 0.0s
2197 + images - ignore an inline image with a malformed title 0.001s
2198 + images - do not parse markup inside the text of an inline link 0.0s
2199 + link reference with an explicit id 0.0s
2200 + link reference with an empty id 0.0s
2201 + link reference with an explicit id separated by a space 0.001s
2202 + link reference with an empty id separated by a space 0.0s
2203 + link reference with an implicit id 0.003s
2204 + link reference with an implicit id, preserving the case for the link text 0.0s
2205 + image reference with an explicit id 0.001s
2206 + image reference with an empty id 0.0s
2207 + image reference with an implicit id 0.0s
2208 + link enclosed in angle brackets and set the url as the link text 0.003s
2209laika.markdown.APISpec:
2210 + registration of block directives 0.019s
2211 + ignore the registration of block directives when run in strict mode 0.005s
2212 + registration of block directives with inherited attributes 0.005s
2213 + registration of span directives 0.016s
2214 + ignore the registration of span directives when run in strict mode 0.007s
2215laika.config.ConfigProviderSpec:
2216 + should let configuration providers from app bundles override providers from parsers 0.017s
2217 + let an app config override a config provider in a previously installed app config 0.001s
2218 + use the default fallback parser in case no provider is installed 0.001s
2219 + fail when it does not recognize the header separator 0.003s
2220laika.parse.text.DelimiterParserSpec:
2221 + parse a character delimiter 0.0s
2222 + parse a string literal delimiter 0.001s
2223 + fail if a string literal delimiter is not matched 0.004s
2224 + parse a character group delimiter 0.0s
2225 + fail if a character group delimiter is not matched 0.0s
2226 + parse a delimiter with a character post-condition 0.001s
2227 + fail when a character post-condition is not satisfied 0.0s
2228 + parse a delimiter with a character set post-condition 0.001s
2229 + fail when a character set post-condition is not satisfied 0.006s
2230 + parse a delimiter with a post-condition function 0.0s
2231 + fail when a post-condition function is not satisfied 0.001s
2232 + parse a delimiter with a character pre-condition 0.0s
2233 + fail when a character pre-condition is not satisfied 0.001s
2234 + parse a delimiter with a character set pre-condition 0.0s
2235 + fail when a character set pre-condition is not satisfied 0.001s
2236 + parse a delimiter with a pre-condition function 0.008s
2237 + fail when a pre-condition function is not satisfied 0.001s
2238 + compose two delimiters 0.001s
2239laika.internal.rst.std.StandardBlockDirectivesSpec:
2240 + compound - sequence of two paragraphs 0.008s
2241 + compound - set an id for the sequence 0.009s
2242 + compound - set a style for the sequence 0.002s
2243 + container - sequence of two paragraphs 0.007s
2244 + container - sequence of two paragraphs with two custom styles 0.007s
2245 + admonition - generic 0.009s
2246 + admonition - set id and style 0.008s
2247 + attention admonition 0.009s
2248 + attention admonition with id and style 0.005s
2249 + attention admonition with nested blocks and inline markup 0.012s
2250 + caution admonition 0.002s
2251 + danger admonition 0.003s
2252 + the error admonition 0.002s
2253 + hint admonition 0.003s
2254 + important admonition 0.005s
2255 + note admonition 0.005s
2256 + tip admonition 0.01s
2257 + warning admonition 0.008s
2258 + warning admonition - match the name of the directive case-insensitively 0.005s
2259 + topic - sequence of two paragraphs 0.006s
2260 + topic - set id and style 0.003s
2261 + sidebar - sequence of two paragraphs 0.003s
2262 + sidebar - set id and style 0.005s
2263 + sidebar - set id and subtitle 0.007s
2264 + rubric - parse spans without other options 0.005s
2265 + rubric - set id and styles 0.005s
2266 + epigraph - single line 0.003s
2267 + epigraph - multiple lines 0.003s
2268 + epigraph - with attributions 0.011s
2269 + highlights - single line 0.005s
2270 + pull-quote - single line 0.005s
2271 + parsed-literal - multiple lines 0.002s
2272 + parsed-literal - set id and style 0.006s
2273 + parsed-literal - multiple lines separated by spaces, preserving indentation 0.005s
2274 + code - multiple lines 0.002s
2275 + code - set id and style 0.003s
2276 + code - multiple lines separated by spaces, preserving indentation 0.011s
2277 + grid table with caption 0.008s
2278 + simple table with caption 0.014s
2279 + simple table without caption 0.006s
2280 + image without options 0.003s
2281 + image with alt option 0.006s
2282 + image with target option with a simple reference 0.009s
2283 + image with target option with a phrase reference 0.006s
2284 + image with target option with a uri 0.005s
2285 + image with class option 0.007s
2286 + figure without options 0.012s
2287 + figure with a caption 0.014s
2288 + figure with a caption and a legend 0.003s
2289 + support the class option for the figure and the image 0.002s
2290 + support the target option with a simple reference and a caption 0.007s
2291 + header - creates a fragment in the document 0.005s
2292 + footer - creates a fragment in the document 0.002s
2293 + include - creates a placeholder in the document 0.007s
2294 + include rewriter replaces the node with the corresponding document 0.012s
2295 + title - sets the title in the document instance 0.005s
2296 + meta - creates config entries in the document instance 0.006s
2297 + sectnum - creates config entries in the document instance 0.008s
2298 + contents - creates a placeholder in the document 0.007s
2299 + contents rewriter replaces the node with the corresponding list element 0.02s
2300 + raw - support raw input with one format 0.008s
2301laika.markdown.MarkdownToHTMLSpec:
2302 + pass for 'Amps and angle encoding' 0.011s
2303 + pass for 'Auto links' 0.006s
2304 + pass for 'Backslash escapes' 0.011s
2305 + pass for 'Blockquotes with code blocks' 0.004s
2306 + pass for 'Code Blocks' 0.004s
2307 + pass for 'Code Spans' 0.004s
2308 + pass for 'Hard-wrapped paragraphs with list-like lines' 0.006s
2309 + pass for 'Horizontal rules' 0.006s
2310 + pass for 'Inline HTML (Advanced)' 0.011s
2311 + pass for 'Inline HTML (Simple)' 0.008s
2312 + pass for 'Inline HTML comments' 0.009s
2313 + pass for 'Links, inline style' 0.014s
2314 + pass for 'Links, reference style' 0.024s
2315 + pass for 'Links, shortcut references' 0.006s
2316 + pass for 'Literal quotes in titles' 0.006s
2317 + pass for 'Nested blockquotes' 0.005s
2318 + pass for 'Ordered and unordered lists' 0.022s
2319 + pass for 'Strong and em together' 0.008s
2320 + pass for 'Tabs' 0.012s
2321 + pass for 'Tidyness' 0.004s
2322 + pass for 'Full Docs - Basics' 0.042s
2323 + pass for 'Full Docs - Syntax' 0.087s
2324laika.directive.std.NavigationDirectiveSpec:
2325 + template nav - two manual entries 0.089s
2326 + template nav - one manual entry and a section with two manual entries 0.032s
2327 + template nav - a manual entry and a generated entry 0.059s
2328 + template nav - an entry generated from the root of the tree 0.045s
2329 + template nav - an entry generated from the root of the tree with documents filtered by target format 0.044s
2330 + template nav - an entry generated from the root of the tree with title documents 0.035s
2331 + template nav - an entry generated from the root of the tree with one document excluded via configuration 0.02s
2332 + template nav - an entry generated from the current tree 0.017s
2333 + template nav - an entry generated from the current tree with a maximum depth 0.014s
2334 + template nav - an entry generated from the current tree with the root excluded 0.015s
2335 + template nav - an entry generated from the current tree with the self link excluded 0.014s
2336 + template nav - an entry generated from the current tree with sections excluded 0.012s
2337 + template nav - an entry generated from the current document 0.011s
2338 + template nav - an entry generated from the current document with a custom title 0.011s
2339 + template nav - an entry generated from a document referred to with an absolute path 0.013s
2340 + template nav - fail when referring to a path that does not exist 0.016s
2341 + template nav - fail with an invalid depth attribute 0.016s
2342 + template nav - fail with a manual node without title 0.011s
2343 + block nav - two manual entries 0.016s
2344 + block nav - entry generated from a document referred to with a relative path 0.008s
2345 + template breadcrumb directive - three entries 0.01s
2346 + template breadcrumb directive - avoid duplicate entries when title documents are present 0.013s
2347 + block breadcrumb directive - three entries 0.007s
2348 + block breadcrumb directive - three entries with title documents 0.011s
2349Starting build for ProjectRef(file:/build/repo/,io) (laika-io)... [1/4]
2350Compile scalacOptions: -encoding, UTF-8, -unchecked, -Wunused:implicits, -Wunused:explicits, -Wunused:imports, -Wunused:locals, -Wunused:params, -Wunused:privates, -Wvalue-discard, -language:implicitConversions, -Xkind-projector, --java-output-version:17, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
2351[info] compiling 91 Scala sources to /build/repo/io/target/scala-3.8.0-RC3/classes ...
2352[info] done compiling
2353[info] compiling 44 Scala sources to /build/repo/io/target/scala-3.8.0-RC3/test-classes ...
2354[info] done compiling
2355laika.epub.internal.BookConfigSpec:
2356 + decode defaults with an empty config 0.044s
2357 + decode an instance with fallbacks 0.249s
2358 + round-trip encode and decode 0.012s
2359laika.theme.ThemeConfigCodecSpec:
2360 + BookConfig - decode an instance with all fields populated 0.294s
2361 + BooKConfig - decode an instance with some fields populated 0.006s
2362 + BookConfig - round-trip encode and decode 0.005s
2363 + DocumentMetadata - decode an instance with all fields populated 0.01s
2364 + DocumentMetadata - decode an instance with a single author 0.001s
2365 + DocumentMetadata - round-trip encode and decode 0.005s
2366 + DocumentMetadata - fail with an invalid date 0.003s
2367 + DocumentMetadata - fail with an invalid URI 0.004s
2368laika.helium.HeliumEPUBTocPageSpec:
2369 + no table of content page configured 0.865s
2370 + table of content included 0.142s
2371laika.epub.internal.ContainerWriterSpec:
2372 + collect a single target document 0.046s
2373 + render a tree with a two documents 0.002s
2374 + render a tree with a nested tree 0.006s
2375 + render a tree with two nested trees 0.013s
2376 + render a tree with a nested tree and static documents 0.005s
2377laika.helium.HeliumTocPageSpec:
2378 + no table of content page configured 1.062s
2379 + table of content included 0.296s
2380laika.helium.generate.BalancedGroupsSpec:
2381 + create a single group when size is 1 0.003s
2382 + create groups of size 1 when the number of items is lower than the specified size 0.0s
2383 + create groups of size 1 when the number of items is equal to the specified size 0.001s
2384 + create groups of variable size when the number of items is not a multiple of the specified size 0.0s
2385 + create groups of equal size when the number of items is a multiple of the specified size 0.001s
2386laika.helium.HeliumRenderOverridesSpec:
2387 + selections as tabs 0.981s
2388 + callouts 0.172s
2389 + anchors for headers - left placement (default) 0.129s
2390 + anchors for headers - right placement 0.155s
2391 + anchors for headers - disabled 0.12s
2392 + mermaid block without nested <code> elements 0.172s
2393laika.io.model.FilePathSpec:
2394 + create and modify normalized FilePath from NIO path 0.001s
2395 + create and modify normalized FilePath from fs2 path 0.002s
2396 + create and modify normalized FilePath from Java File 0.003s
2397 + create and modify normalized FilePath from parsed string 0.001s
2398 + round trip absolute FilePath from and to NIO path 0.0s
2399 + round trip absolute FilePath from and to fs2 path 0.0s
2400 + round trip absolute FilePath from and to Java file 0.001s
2401 + round trip relative FilePath from and to NIO path 0.0s
2402 + round trip relative FilePath from and to fs2 path 0.001s
2403 + round trip relative FilePath from and to Java file 0.0s
2404laika.directive.std.IncludeDirectiveSpec:
2405 + block include without attributes 0.057s
2406 + block include with header 0.063s
2407 + block include with attributes 0.019s
2408 + block embed without attributes 0.041s
2409 + block embed with header 0.041s
2410 + block embed with attributes 0.034s
2411 + template include without attributes 0.042s
2412 + template include with attributes 0.04s
2413 + template embed without attributes 0.026s
2414 + template embed with attributes 0.036s
2415 + interaction of @:include and @:navigationTree directive 0.026s
2416laika.helium.HeliumFORendererSpec:
2417 + defaults - full XSL-FO output 0.14s
2418 + custom master page layout 0.118s
2419 + paragraph with custom font families, font sizes and layout 0.109s
2420 + custom font sizes and font families for titles and headers 0.098s
2421 + custom link colors 0.123s
2422 + custom color scheme for syntax highlighting 0.116s
2423 + callouts with icons 0.107s
2424 + cover image 0.131s
2425laika.epub.internal.XHTMLRendererSpec:
2426 + paragraph containing a citation link with an epub:type attribute 0.002s
2427 + paragraph containing a footnote link with an epub:type attribute 0.001s
2428 + footnote with an epub:type attribute 0.008s
2429 + citation with an epub:type attribute 0.008s
2430 + choice group without selections 0.005s
2431 + translate to external URL when an internal link is not defined for EPUB as a target 0.01s
2432laika.helium.HeliumLandingPageSpec:
2433 + no landing page configured 0.112s
2434 + full landing page configured 0.199s
2435 + partial landing page configured with custom content and fragment and light background gradient 0.153s
2436laika.epub.internal.NCXRendererSpec:
2437 + render an empty tree 0.009s
2438 + render a tree with a single document 0.0s
2439 + render a tree with a two documents 0.001s
2440 + render a tree with a nested tree 0.0s
2441 + not render a nested tree if the depth is 1 0.0s
2442 + render a document with sections when the depth is 2 0.008s
2443 + not render a document with sections when the depth is 1 0.001s
2444 + escape special characters in titles 0.001s
2445laika.io.TreeRendererSpec:
2446 + empty tree 0.709s
2447 + tree with a single document 0.078s
2448 + tree with a single document to HTML using the default template 0.072s
2449 + fail with duplicate paths 0.062s
2450 + collect errors from multiple documents 0.06s
2451 + tree with a single document to HTML using a custom template in the root directory 0.046s
2452 + tree with a single document to HTML using a render override in a theme 0.02s
2453 + tree with a single document to HTML using a path translator in a theme 0.015s
2454 + tree with a single document to HTML with a render override that shadows an override in a theme 0.027s
2455 + tree with a single document to HTML with a render override in a theme extension that shadows an override in a base theme 0.019s
2456 + tree with a single document to HTML using a custom template in an extension bundle 0.025s
2457 + tree with a cover and title document to HTML 0.059s
2458 + tree with several documents to HTML using PrettyURLs extension 0.036s
2459 + tree with a single document to EPUB.XHTML using the default template 0.044s
2460 + tree with a single document to EPUB.XHTML using a custom template in the root directory 0.021s
2461 + tree with a single document to EPUB.XHTML using a custom template in a theme 0.006s
2462 + tree with a single document to EPUB.XHTML using a custom template in a theme extension overriding a template in the base theme 0.007s
2463 + tree with a single document to XSL-FO using the default template and default CSS 0.087s
2464 + tree with a single document to XSL-FO using a custom template 0.038s
2465 + tree with two documents to XSL-FO using a custom style sheet in a theme 0.046s
2466 + tree with two documents to XSL-FO using a custom style sheet in the tree root 0.031s
2467 + tree with a single static document 0.028s
2468 + tree with a single static document from a theme 0.013s
2469 + tree with all available file types 0.047s
2470 + render tree while excluding all unversioned documents, based on configuration 0.086s
2471 + tree with two documents using a RenderResultProcessor writing to an output stream 0.063s
2472 + tree with two documents using a RenderResultProcessor writing to a file 0.149s
2473 + render to a directory using the toDirectory method 0.11s
2474 + render versioned documents with an existing versionInfo JSON file 0.116s
2475 + directory with existing versioned renderer output 0.24s
2476 + directory containing a document with non-ASCII characters 0.042s
2477laika.helium.HeliumFOTocPageSpec:
2478 + no table of content page configured 0.154s
2479 + table of content included 0.218s
2480laika.helium.LineEstimatesSpec:
2481 + count paragraph lines 0.021s
2482 + count list item lines 0.014s
2483 + count table rows 0.007s
2484 + count sections and navigation list items 0.009s
2485laika.helium.HeliumSiteCSSSpec:
2486 + defaults 0.118s
2487 + custom font families and font sizes - via 'site' selector 0.122s
2488 + custom font families and font sizes - via 'all' selector 0.109s
2489 + custom colors - via 'site' selector 0.088s
2490 + custom colors - via 'all' selector 0.085s
2491 + custom colors in dark mode 0.091s
2492 + dark mode disabled 0.066s
2493 + layout 0.058s
2494laika.helium.HeliumDownloadPageSpec:
2495 + no download page configured 0.08s
2496 + download page included - full HTML 0.094s
2497 + configure artifact base name 0.103s
2498 + include only EPUB 0.102s
2499 + include cover image 0.088s
2500 + include cover image with configured selections (choices) 0.099s
2501laika.render.fo.XSLFORendererSpec:
2502 + render a paragraph with plain text 0.004s
2503 + render a document with two paragraphs with plain text 0.002s
2504 + render a block sequence with a custom style 0.003s
2505 + render a block sequence without a style 0.002s
2506 + render a block sequence with a single element 0.003s
2507 + render a blockquote with two paragraphs with plain text 0.003s
2508 + render a blockquote with one paragraph with plain text 0.002s
2509 + render a blockquote with an attribution 0.003s
2510 + render a bullet list with simple flow content 0.034s
2511 + render a bullet list with a nested list 0.012s
2512 + render an enumerated list with simple flow content 0.012s
2513 + render an enumerated list with lower roman enumeration style 0.023s
2514 + render an enumerated list with upper roman enumeration style 0.01s
2515 + render an enumerated list with lower alpha enumeration style 0.012s
2516 + render an enumerated list with upper alpha enumeration style 0.017s
2517 + render an enumerated list with the start value other than 1 0.006s
2518 + render a bullet list with forced paragraphs as list items the same way as normal paragraphs 0.009s
2519 + render an enumerated list with forced paragraphs as list items the same way as normal paragraphs 0.006s
2520 + render a definition list with paragraphs 0.018s
2521 + render a definition list with simple flow content 0.007s
2522 + render a paragraph containing a citation link 0.021s
2523 + render a paragraph containing a footnote link 0.014s
2524 + render a table without header cells 0.03s
2525 + render a table with header cells 0.009s
2526 + render a table with a caption 0.013s
2527 + render a cell using colspan and rowspan attributes 0.001s
2528 + render a cell with two paragraphs 0.008s
2529 + render a titled block 0.009s
2530 + render a figure 0.014s
2531 + render a choice group without selections 0.01s
2532 + render a document with two paragraphs separated by a horizontal rule 0.005s
2533 + render a document with two nested sections 0.009s
2534 + render a navigation list with two levels 0.031s
2535 + render a title containing emphasized text 0.008s
2536 + render a title containing a section number 0.007s
2537 + render a paragraph containing emphasized text 0.002s
2538 + render a paragraph containing strong text 0.004s
2539 + render a paragraph containing a deleted span 0.007s
2540 + render a paragraph containing an inserted span 0.002s
2541 + render a paragraph containing a literal span 0.002s
2542 + render a paragraph containing a code span 0.003s
2543 + render a paragraph containing a code span with syntax highlighting 0.002s
2544 + render a paragraph containing a link without title 0.005s
2545 + render a paragraph containing a link with title 0.002s
2546 + render a paragraph containing a link with emphasized text 0.003s
2547 + render a paragraph containing an internal link with emphasized text 0.002s
2548 + render a paragraph containing an internal link with a fragment part 0.003s
2549 + render a paragraph containing an internal link without a fragment part 0.002s
2550 + render a paragraph containing an internal link with a filename without suffix 0.005s
2551 + translate to external URL when an internal link is not defined for PDF as a target 0.003s
2552 + render a paragraph containing a raw internal link 0.004s
2553 + render a paragraph containing a raw external link 0.002s
2554 + render a paragraph containing only an image centered 0.006s
2555 + render a paragraph containing an image without title 0.002s
2556 + render a paragraph containing an image with title 0.002s
2557 + render a paragraph containing an image, ignoring intrinsic width and height attributes 0.005s
2558 + render a paragraph containing an image with vertical align style 0.002s
2559 + render a paragraph containing a link with an icon glyph 0.005s
2560 + render a paragraph containing a link with an inline SVG icon 0.01s
2561 + render a paragraph containing an unresolved link reference 0.007s
2562 + render a paragraph containing an unresolved image reference 0.007s
2563 + render a paragraph containing an internal link target 0.008s
2564 + render a template root containing string elements 0.004s
2565 + render a template span sequence containing string elements 0.002s
2566 + render a template string without creating XML entities 0.003s
2567 + render a template root containing a TemplateElement 0.01s
2568 + render a runtime message 0.008s
2569 + render a comment 0.001s
2570 + render an invalid block without the runtime message in default mode 0.009s
2571 + render an invalid block without the runtime message if the configured message level is higher 0.003s
2572 + render an invalid block with the runtime message if the configured message level is lower or equal 0.006s
2573 + render an invalid span without the runtime message in default mode 0.001s
2574 + render an invalid span without the runtime message if the configured message level is higher 0.001s
2575 + render an invalid span with the runtime message if the configured message level is lower or equal 0.002s
2576 + render a literal block 0.004s
2577 + render a parsed literal block 0.009s
2578 + render a code block 0.001s
2579 + render a literal block inside a blockquote without indentation 0.005s
2580 + render a parsed literal block inside a blockquote without indentation 0.005s
2581 + render a code block inside a blockquote without indentation 0.005s
2582 + render a table cell unformatted 0.004s
2583 + render raw content unchanged if the xsl-fo format is specified 0.002s
2584 + ignore raw content if the xsl-fo format is not specified 0.0s
2585 + render an embedded root with correct indentation 0.003s
2586 + render an embedded root without indentation 0.003s
2587laika.io.TreeTransformerSpec:
2588 + empty tree 0.064s
2589 + tree with a single document 0.058s
2590 + tree with a cover, title document and one content document 0.065s
2591 + tree with a cover, title document and two content documents with a document mapper 0.094s
2592 + tree with a document mapper from a theme 0.027s
2593 + tree with a document mapper from a theme and one from a theme extension 0.032s
2594 + tree with a document mapper from a theme specific to the output format 0.028s
2595 + ignore the document mapper from a theme if the format does not match 0.026s
2596 + tree with a template document populated by a config file in the directory 0.052s
2597 + tree with a template document populated by a root config string 0.06s
2598 + tree with a custom template engine 0.057s
2599 + tree with a custom style sheet engine 0.051s
2600 + tree with a template directive 0.038s
2601 + tree with a static document 0.033s
2602 + tree with an internal reference using the default slug builder 0.066s
2603 + tree with an internal reference using a custom slug builder 0.056s
2604 + tree with all available file types and multiple markup formats 0.263s
2605 + tree with while filtering documents based on their targetFormats setting 0.076s
2606 + describe a tree with all available file types and multiple markup formats 0.081s
2607 + do not fail a describe operation in case of a directory input that does not exist 0.038s
2608 + render a tree with a RenderResultProcessor writing to an output stream 0.073s
2609 + render a tree with a RenderResultProcessor writing to a file 0.056s
2610 + read from and write to directories 0.067s
2611 + directory with a custom document type matcher 0.077s
2612 + allow to specify custom exclude filter 0.074s
2613 + read from two root directories 0.142s
2614 + do not copy files from the output directory if it's nested inside the input directory 0.054s
2615laika.theme.ThemeBundleSpec:
2616 + baseConfig - merged from theme and app extension 0.01s
2617 + baseConfig - app config overrides an identical key in the theme config 0.001s
2618 + baseConfig - theme extension config overrides an identical key in the base theme's config 0.006s
2619 + docTypeMatcher - merged from a markup extension and an app extension 0.011s
2620 + docTypeMatcher - app config overrides an identical path key in the extension config 0.005s
2621 + path translator - translator from app config is applied after translator from theme config 0.008s
2622 + rewrite rules - merged from a markup extension and an app extension 0.011s
2623 + rewrite rules - apply a rule from an app config and a rule from a markup extension successively 0.008s
2624laika.helium.HeliumEPUBCSSSpec:
2625 + defaults 0.044s
2626 + embedded fonts 0.051s
2627 + custom font families and font sizes - via 'epub' selector 0.044s
2628 + custom font families and font sizes - via 'all' selector 0.046s
2629 + custom colors - via 'epub' selector 0.049s
2630 + custom colors - via 'all' selector 0.04s
2631 + custom colors in dark mode 0.065s
2632 + layout 0.056s
2633laika.helium.HeliumHTMLHeadSpec:
2634 + Helium defaults via separate parser and renderer 0.074s
2635 + Helium defaults via transformer 0.085s
2636 + exclude CSS and JS from API directory 0.085s
2637 + internal CSS and JS resources, some using conditions 0.101s
2638 + internal CSS and JS resources, including a file from a theme extension 0.082s
2639 + external CSS and JS resources, using attribute properties 0.064s
2640 + inline styles and script 0.071s
2641 + metadata (authors, description) 0.073s
2642 + metadata (language) 0.093s
2643 + metadata (canonical link) 0.084s
2644 + favicons 0.097s
2645 + favicons with explicit target formats 0.089s
2646 + unversioned favicons in a versioned input tree 0.076s
2647 + custom web fonts - added to default fonts 0.068s
2648 + custom web fonts - replacing default fonts 0.09s
2649 + version menu on a versioned page 0.091s
2650 + version menu on an unversioned page 0.071s
2651 + title - ignoring markup 0.074s
2652 + override head template fragment per page 0.079s
2653 + override head template fragment globally 0.058s
2654 + add mermaid initializer when document contains one or more mermaid diagrams 0.068s
2655laika.helium.HeliumFooterSpec:
2656 + default footer 0.062s
2657 + footer disabled 0.052s
2658 + footer set as raw HTML 0.061s
2659 + footer set as AST nodes 0.067s
2660laika.epub.internal.OPFRendererSpec:
2661 + render an empty tree 0.018s
2662 + render a tree with a single document 0.0s
2663 + render a tree with a single document with the default locale rendered correctly 0.0s
2664 + render a tree with a single document with valid XML id for the name starting with a digit 0.006s
2665 + render a tree with two documents 0.001s
2666 + render a tree with a title document 0.001s
2667 + render a tree with a cover 0.004s
2668 + render a tree with a nested tree 0.0s
2669 + render a tree with two nested trees 0.001s
2670 + render a tree with a nested tree and static documents 0.0s
2671 + render a tree with a nested tree and script documents 0.003s
2672 + render a tree with a nested tree and no script documents 0.0s
2673laika.helium.HeliumEPUBHeadSpec:
2674 + Helium defaults via transformer 0.058s
2675 + custom configuration for CSS and JS file locations 0.055s
2676 + metadata (authors, description) 0.051s
2677 + metadata (language) 0.033s
2678 + title 0.049s
2679laika.helium.HeliumHTMLNavSpec:
2680 + main navigation - one level 0.184s
2681 + main navigation - two levels 0.245s
2682 + main navigation - customized depth 0.264s
2683 + main navigation - include page sections 0.209s
2684 + main navigation - append links 0.171s
2685 + main navigation - prepend links 0.111s
2686 + page navigation - two levels 0.106s
2687 + page navigation - one level only, configured globally 0.149s
2688 + page navigation - show on small screens, configured globally 0.114s
2689 + page navigation - one level only, configured in configuration header in markup 0.082s
2690 + page navigation - show on small screens, configured in configuration header in markup 0.121s
2691 + page navigation - disabled globally 0.133s
2692 + page navigation - disabled in configuration header in markup 0.127s
2693 + page navigation - with footer link 0.116s
2694 + page navigation - disabled in table of content 0.103s
2695 + top navigation - defaults 0.085s
2696 + top navigation - highContrast flag set 0.073s
2697 + top navigation - with custom links - references to other versions not validated 0.141s
2698 + top navigation - with menu 0.112s
2699 + top navigation - with menu, but after calling resetDefaults 0.104s
2700 + top navigation - with version dropdown on a versioned page 0.141s
2701 + top navigation - with version dropdown on an unversioned page 0.127s
2702laika.epub.internal.HTMLNavRendererSpec:
2703 + render an empty tree 0.0s
2704 + render a tree with a single document 0.0s
2705 + render a tree with two documents 0.001s
2706 + render a tree with a single document and a CSS file 0.003s
2707 + render a tree with a title document 0.001s
2708 + render a tree with a cover image 0.0s
2709 + render a tree with a nested tree 0.0s
2710 + render a tree with a nested tree with a title document 0.001s
2711 + not render a nested tree if the depth is 1 0.003s
2712 + render a document with sections when the depth is 2 0.001s
2713 + not render a document with sections when the depth is 1 0.0s
2714 + escape special characters in titles 0.0s
2715laika.io.TreeParserSpec:
2716 + an empty tree 0.002s
2717 + tree with a single document 0.011s
2718 + tree with a document containing an unvalidated link to a versioned directory 0.021s
2719 + tree with multiple subtrees 0.028s
2720 + collect errors from multiple documents 0.021s
2721 + report errors originating in templates with additional path info 0.015s
2722 + tree with a cover and a title document 0.019s
2723 + tree with a title document with a custom document name configuration 0.013s
2724==> i laika.io.TreeParserSpec.tree with a single template ignored 0.0s
2725 + fail with duplicate paths 0.007s
2726 + tree with a static document 0.002s
2727 + tree with static documents for different target formats 0.012s
2728 + tree with a provided path 0.018s
2729 + tree with all available file types and multiple markup formats 0.031s
2730==> i laika.io.TreeParserSpec.custom template engine ignored 0.0s
2731 + custom style sheet engine 0.02s
2732 + template directive 0.01s
2733 + add indentation information if an embedded root is preceded by whitespace characters 0.009s
2734 + do not add indentation information if an embedded root is preceded by non-whitespace characters 0.006s
2735 + custom navigation order 0.012s
2736 + always move title documents to the front, even with a custom navigation order 0.016s
2737 + use a span parser from a theme 0.014s
2738 + let a span parser from an app extension override a span parser from a theme 0.005s
2739 + let a span parser from a theme extension override a span parser from a base theme 0.01s
2740laika.ast.ConfigSpec:
2741 + parse configuration sections embedded in Markdown documents 0.043s
2742 + parse configuration sections embedded in Markdown documents after blank lines and whitespace 0.019s
2743 + parse configuration sections embedded in reStructuredText documents 0.018s
2744 + insert an invalid element when a required context reference is missing 0.023s
2745 + insert an empty string when an optional context reference is missing 0.025s
2746 + make directory configuration available for references in markup 0.027s
2747 + include classpath resources in directory configuration 0.049s
2748 + include file resources in directory configuration 0.039s
2749 + merge objects from config headers in markup with objects in directory configuration 0.029s
2750 + decode merged objects as a Map 0.023s
2751 + make directory configuration available for references in templates 0.045s
2752 + merge configuration found in documents, templates, directories, programmatic setup, bundles, themes and theme extensions 0.02s
2753 + decode a path in a document config header 0.02s
2754 + decode a local path in a document config header 0.022s
2755 + decode a path in a directory config file in a nested directory 0.023s
2756 + decode an array element in a document config header 0.025s
2757laika.io.TreeParserFileIOSpec:
2758 + parse a directory using the fromDirectory method 0.05s
2759 + read a directory containing a file with non-ASCII characters 0.014s
2760 + read a directory using a custom document type matcher 0.034s
2761 + read a directory using a custom exclude filter 0.02s
2762 + read a directory from the file system plus one AST input 0.039s
2763 + read a directory from the file system plus one AST input from a theme 0.027s
2764 + read a directory from the file system plus one AST input from a theme extension overriding a theme input 0.031s
2765 + read a directory from the file system plus one string input 0.021s
2766 + read a directory from the file system plus one document from an input stream 0.025s
2767 + read a directory from the file system plus one document from an fs2 text stream 0.027s
2768 + read a directory from the file system plus one document from an fs2 binary stream 0.028s
2769 + read a directory from the file system plus one extra file 0.018s
2770 + read a directory from the file system plus one extra classpath resource 0.026s
2771 + read a directory from the file system plus one extra template from a string 0.024s
2772 + read a directory from the file system plus one extra template from a string in a theme 0.02s
2773 + read a directory from the file system plus one extra template from an AST 0.018s
2774 + read a directory from the file system plus one extra config document from a string 0.058s
2775 + read a directory from the file system plus one extra config document from a string in a theme 0.027s
2776 + read a directory from the file system plus one extra config document built programmatically 0.027s
2777 + merge two directories from the file system using the fromDirectories method 0.042s
2778 + merge two directories from the file system using an InputTreeBuilder 0.029s
2779 + merge a directory at a specific mount-point using an InputTreeBuilder 0.03s
2780Starting build for ProjectRef(file:/build/repo/,pdf) (laika-pdf)... [2/4]
2781Compile scalacOptions: -encoding, UTF-8, -unchecked, -Wunused:implicits, -Wunused:explicits, -Wunused:imports, -Wunused:locals, -Wunused:params, -Wunused:privates, -Wvalue-discard, -language:implicitConversions, -Xkind-projector, --java-output-version:17, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
2782[info] compiling 7 Scala sources to /build/repo/pdf/target/scala-3.8.0-RC3/classes ...
2783[info] done compiling
2784[info] compiling 6 Scala sources to /build/repo/pdf/target/scala-3.8.0-RC3/test-classes ...
2785[info] done compiling
2786laika.render.BookConfigSpec:
2787 + decode defaults with an empty config 0.085s
2788 + decode an instance with fallbacks 0.14s
2789 + round-trip encode and decode 0.004s
2790laika.render.FopFactoryConfigSpec:
2791 + defaults 0.217s
2792 + custom fonts via 'pdf' selector - removing default theme fonts 0.005s
2793 + custom fonts via 'all' selector - removing default theme fonts 0.008s
2794laika.render.FOConcatenationSpec:
2795 + fail when there are invalid elements in the template result 0.171s
2796 + succeed when there are errors in the template result, but the filter is None 0.019s
2797 + collect fragments from all documents 0.024s
2798laika.render.PDFNavigationSpec:
2799 + render a tree with all structure elements disabled 0.434s
2800 + render a tree with navigation elements enabled 0.075s
2801 + render a tree with navigation elements enabled, handling a title document in both subtrees 0.074s
28022025-12-04 14:39:13.542+0100 info [FOUserAgent] Rendered page #1.
28032025-12-04 14:39:13.552+0100 info [FOUserAgent] Rendered page #2.
28042025-12-04 14:39:13.562+0100 info [FOUserAgent] Rendered page #3.
28052025-12-04 14:39:13.569+0100 info [FOUserAgent] Rendered page #4.
28062025-12-04 14:39:13.576+0100 info [FOUserAgent] Rendered page #5.
28072025-12-04 14:39:13.582+0100 info [FOUserAgent] Rendered page #6.
28082025-12-04 14:39:13.744+0100 info [FOUserAgent] Rendered page #1.
28092025-12-04 14:39:13.750+0100 info [FOUserAgent] Rendered page #2.
28102025-12-04 14:39:13.756+0100 info [FOUserAgent] Rendered page #3.
28112025-12-04 14:39:13.761+0100 info [FOUserAgent] Rendered page #4.
28122025-12-04 14:39:13.766+0100 info [FOUserAgent] Rendered page #5.
28132025-12-04 14:39:13.772+0100 info [FOUserAgent] Rendered page #6.
2814laika.render.PDFRendererSpec:
2815 + render a tree to a file 1.061s
2816 + render a tree to an OutputStream 0.175s
2817Starting build for ProjectRef(file:/build/repo/,preview) (laika-preview)... [3/4]
2818Compile scalacOptions: -encoding, UTF-8, -unchecked, -Wunused:implicits, -Wunused:explicits, -Wunused:imports, -Wunused:locals, -Wunused:params, -Wunused:privates, -Wvalue-discard, -language:implicitConversions, -Xkind-projector, --java-output-version:17, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
2819[info] compiling 7 Scala sources to /build/repo/preview/target/scala-3.8.0-RC3/classes ...
2820[info] done compiling
2821[info] compiling 1 Scala source to /build/repo/preview/target/scala-3.8.0-RC3/test-classes ...
2822[info] done compiling
2823laika.preview.PreviewRouteSpec:
2824 + serve a rendered document 0.883s
2825 + serve a rendered index document 0.025s
2826 + serve the AST of a rendered document 0.056s
2827 + serve a static document 0.039s
2828 + serve a generated EPUB document 0.083s
2829 + return 404 for unknown target path 0.022s
2830
2831************************
2832Build summary:
2833[{
2834 "module": "laika-core",
2835 "compile": {"status": "ok", "tookMs": 38826, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
2836 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
2837 "test-compile": {"status": "ok", "tookMs": 13671, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
2838 "test": {"status": "ok", "tookMs": 4042, "passed": 1741, "failed": 0, "ignored": 3, "skipped": 0, "total": 1744, "byFramework": [{"framework": "munit", "stats": {"passed": 1741, "failed": 0, "ignored": 3, "skipped": 0, "total": 1744}}]},
2839 "publish": {"status": "skipped", "tookMs": 0},
2840 "metadata": {
2841 "crossScalaVersions": ["2.12.20", "2.13.15", "3.3.5"]
2842}
2843},{
2844 "module": "laika-io",
2845 "compile": {"status": "ok", "tookMs": 7728, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
2846 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
2847 "test-compile": {"status": "ok", "tookMs": 5522, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
2848 "test": {"status": "ok", "tookMs": 5926, "passed": 392, "failed": 0, "ignored": 2, "skipped": 0, "total": 394, "byFramework": [{"framework": "munit", "stats": {"passed": 392, "failed": 0, "ignored": 2, "skipped": 0, "total": 394}}]},
2849 "publish": {"status": "skipped", "tookMs": 0},
2850 "metadata": {
2851 "crossScalaVersions": ["2.12.20", "2.13.15", "3.3.5"]
2852}
2853},{
2854 "module": "laika-pdf",
2855 "compile": {"status": "ok", "tookMs": 1128, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
2856 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
2857 "test-compile": {"status": "ok", "tookMs": 1587, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
2858 "test": {"status": "ok", "tookMs": 2019, "passed": 14, "failed": 0, "ignored": 0, "skipped": 0, "total": 14, "byFramework": [{"framework": "munit", "stats": {"passed": 14, "failed": 0, "ignored": 0, "skipped": 0, "total": 14}}]},
2859 "publish": {"status": "skipped", "tookMs": 0},
2860 "metadata": {
2861 "crossScalaVersions": ["2.12.20", "2.13.15", "3.3.5"]
2862}
2863},{
2864 "module": "laika-preview",
2865 "compile": {"status": "ok", "tookMs": 2993, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
2866 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
2867 "test-compile": {"status": "ok", "tookMs": 1462, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
2868 "test": {"status": "ok", "tookMs": 2037, "passed": 6, "failed": 0, "ignored": 0, "skipped": 0, "total": 6, "byFramework": [{"framework": "munit", "stats": {"passed": 6, "failed": 0, "ignored": 0, "skipped": 0, "total": 6}}]},
2869 "publish": {"status": "skipped", "tookMs": 0},
2870 "metadata": {
2871 "crossScalaVersions": ["2.12.20", "2.13.15", "3.3.5"]
2872}
2873}]
2874************************
2875[success] Total time: 98 s (0:01:38.0), completed Dec 4, 2025, 2:39:21 PM
2876[0JChecking patch project/plugins.sbt...
2877Checking patch project/build.properties...
2878Checking patch project/Dependencies.scala...
2879Checking patch core/shared/src/test/scala/laika/internal/rst/std/StandardBlockDirectivesSpec.scala...
2880Checking patch core/shared/src/main/scala/laika/internal/rewrite/TemplateFormatter.scala...
2881Checking patch core/shared/src/main/scala/laika/ast/Cursor.scala...
2882Checking patch build.sbt...
2883Applied patch project/plugins.sbt cleanly.
2884Applied patch project/build.properties cleanly.
2885Applied patch project/Dependencies.scala cleanly.
2886Applied patch core/shared/src/test/scala/laika/internal/rst/std/StandardBlockDirectivesSpec.scala cleanly.
2887Applied patch core/shared/src/main/scala/laika/internal/rewrite/TemplateFormatter.scala cleanly.
2888Applied patch core/shared/src/main/scala/laika/ast/Cursor.scala cleanly.
2889Applied patch build.sbt cleanly.