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