aboutsummaryrefslogtreecommitdiff
path: root/dokka-subprojects/plugin-base/src/test/kotlin/renderers/html/TextStylesTest.kt
diff options
context:
space:
mode:
authorIgnat Beresnev <ignat.beresnev@jetbrains.com>2023-11-10 11:46:54 +0100
committerGitHub <noreply@github.com>2023-11-10 11:46:54 +0100
commit8e5c63d035ef44a269b8c43430f43f5c8eebfb63 (patch)
tree1b915207b2b9f61951ddbf0ff2e687efd053d555 /dokka-subprojects/plugin-base/src/test/kotlin/renderers/html/TextStylesTest.kt
parenta44efd4ba0c2e4ab921ff75e0f53fc9335aa79db (diff)
downloaddokka-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.kt113
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("&nbsp;<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()
+}