Build Logs

typelevel/laika • 3.8.0-RC4:2025-12-22

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