aboutsummaryrefslogtreecommitdiff
path: root/plugins/base/src/test
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/base/src/test')
-rw-r--r--plugins/base/src/test/kotlin/renderers/html/TextStylesTest.kt65
1 files changed, 65 insertions, 0 deletions
diff --git a/plugins/base/src/test/kotlin/renderers/html/TextStylesTest.kt b/plugins/base/src/test/kotlin/renderers/html/TextStylesTest.kt
new file mode 100644
index 00000000..3c38e68c
--- /dev/null
+++ b/plugins/base/src/test/kotlin/renderers/html/TextStylesTest.kt
@@ -0,0 +1,65 @@
+package renderers.html
+
+import org.jetbrains.dokka.base.renderers.html.HtmlRenderer
+import org.jetbrains.dokka.pages.TextStyle
+import org.jsoup.Jsoup
+import org.jsoup.nodes.Element
+import org.junit.jupiter.api.Test
+import renderers.testPage
+import utils.B
+import utils.I
+import utils.STRIKE
+import utils.match
+
+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 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>")
+ }
+
+
+ override val renderedContent: Element
+ get() = files.contents.getValue("test-page.html").let { Jsoup.parse(it) }.select("#content").single()
+} \ No newline at end of file