diff options
author | Ignat Beresnev <ignat.beresnev@jetbrains.com> | 2023-11-10 11:46:54 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-11-10 11:46:54 +0100 |
commit | 8e5c63d035ef44a269b8c43430f43f5c8eebfb63 (patch) | |
tree | 1b915207b2b9f61951ddbf0ff2e687efd053d555 /dokka-subprojects/plugin-base/src/test/kotlin/renderers/html/TextStylesTest.kt | |
parent | a44efd4ba0c2e4ab921ff75e0f53fc9335aa79db (diff) | |
download | dokka-8e5c63d035ef44a269b8c43430f43f5c8eebfb63.tar.gz dokka-8e5c63d035ef44a269b8c43430f43f5c8eebfb63.tar.bz2 dokka-8e5c63d035ef44a269b8c43430f43f5c8eebfb63.zip |
Restructure the project to utilize included builds (#3174)
* Refactor and simplify artifact publishing
* Update Gradle to 8.4
* Refactor and simplify convention plugins and build scripts
Fixes #3132
---------
Co-authored-by: Adam <897017+aSemy@users.noreply.github.com>
Co-authored-by: Oleg Yukhnevich <whyoleg@gmail.com>
Diffstat (limited to 'dokka-subprojects/plugin-base/src/test/kotlin/renderers/html/TextStylesTest.kt')
-rw-r--r-- | dokka-subprojects/plugin-base/src/test/kotlin/renderers/html/TextStylesTest.kt | 113 |
1 files changed, 113 insertions, 0 deletions
diff --git a/dokka-subprojects/plugin-base/src/test/kotlin/renderers/html/TextStylesTest.kt b/dokka-subprojects/plugin-base/src/test/kotlin/renderers/html/TextStylesTest.kt new file mode 100644 index 00000000..0ca4e245 --- /dev/null +++ b/dokka-subprojects/plugin-base/src/test/kotlin/renderers/html/TextStylesTest.kt @@ -0,0 +1,113 @@ +/* + * Copyright 2014-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. + */ + +package renderers.html + +import org.jetbrains.dokka.base.renderers.html.HtmlRenderer +import org.jetbrains.dokka.pages.TextStyle +import org.jetbrains.dokka.pages.TokenStyle +import org.jsoup.Jsoup +import org.jsoup.nodes.Element +import renderers.testPage +import utils.* +import kotlin.test.Test +import kotlin.test.assertEquals + +class TextStylesTest : HtmlRenderingOnlyTestBase() { + @Test + fun `should include bold`(){ + val page = testPage { + text("bold text", styles = setOf(TextStyle.Bold)) + } + HtmlRenderer(context).render(page) + renderedContent.match(B("bold text")) + } + + @Test + fun `should include italics`(){ + val page = testPage { + text("italics text", styles = setOf(TextStyle.Italic)) + } + HtmlRenderer(context).render(page) + renderedContent.match(I("italics text")) + } + + @Test + fun `should include strikethrought`(){ + val page = testPage { + text("strike text", styles = setOf(TextStyle.Strikethrough)) + } + HtmlRenderer(context).render(page) + renderedContent.match(STRIKE("strike text")) + } + + @Test + fun `should include token styles`(){ + val page = testPage { + text("keyword", styles = setOf(TokenStyle.Keyword)) + } + HtmlRenderer(context).render(page) + renderedContent.match(Span("keyword")) + val lastChild = renderedContent.children().last() ?: throw IllegalStateException("No element found") + assertEquals(lastChild.attr("class"), "token keyword") + } + + @Test + fun `should include multiple styles at one`(){ + val page = testPage { + text( + "styled text", + styles = setOf( + TextStyle.Strikethrough, + TextStyle.Bold, + TextStyle.Indented, + TextStyle.UnderCoverText, + TextStyle.BreakableAfter + ) + ) + } + HtmlRenderer(context).render(page) + renderedContent.match(STRIKE(B("styled text"))) + //Our dsl swallows nbsp so i manually check for it + files.contents.getValue("test-page.html").contains(" <strike><b>styled text</b></strike>") + } + + @Test + fun `should include blockquote`() { + val page = testPage { + group(styles = setOf(TextStyle.Quotation)) { + text("blockquote text") + } + } + HtmlRenderer(context).render(page) + renderedContent.match(BlockQuote("blockquote text")) + } + + @Test + fun `should include var`() { + val page = testPage { + group(styles = setOf(TextStyle.Var)) { + text("variable") + } + } + HtmlRenderer(context).render(page) + println(renderedContent) + renderedContent.match(Var("variable")) + } + + @Test + fun `should include underlined text`() { + val page = testPage { + group(styles = setOf(TextStyle.Underlined)) { + text("underlined text") + } + } + HtmlRenderer(context).render(page) + println(renderedContent) + renderedContent.match(U("underlined text")) + } + + override val renderedContent: Element + get() = files.contents.getValue("test-page.html").let { Jsoup.parse(it) }.select("#content").single() +} |