From 5f0552a7ea251a52fb89f7886f6a8dd48ce566d5 Mon Sep 17 00:00:00 2001 From: Linnea Gräf Date: Mon, 29 Apr 2024 19:22:32 +0200 Subject: Add basic html generator --- src/test/kotlin/moe/nea/blog/gen/HtmlTest.kt | 56 ++++++++++++++++++++++ .../kotlin/moe/nea/blog/md/test/TestItalics.kt | 1 + 2 files changed, 57 insertions(+) create mode 100644 src/test/kotlin/moe/nea/blog/gen/HtmlTest.kt (limited to 'src/test/kotlin') diff --git a/src/test/kotlin/moe/nea/blog/gen/HtmlTest.kt b/src/test/kotlin/moe/nea/blog/gen/HtmlTest.kt new file mode 100644 index 0000000..07c5a24 --- /dev/null +++ b/src/test/kotlin/moe/nea/blog/gen/HtmlTest.kt @@ -0,0 +1,56 @@ +package moe.nea.blog.gen + +import moe.nea.blog.md.* +import kotlin.test.Test +import kotlin.test.assertEquals + +class HtmlTest { + + fun assertGenerator(generatedHtml: String, markdown: MarkdownElement) { + val generator = HtmlGenerator() + generator.registerDefaultGenerators() + assertEquals(generatedHtml, generator.generateHtml(markdown).text) + } + + fun assertGeneratorMD(generatedHtml: String, text: String) { + val generator = HtmlGenerator() + generator.registerDefaultGenerators() + assertEquals(generatedHtml, generator.generateHtml(MarkdownParser(text).also { it.addDefaultParsers() }.readDocument()).text) + } + + @Test + fun testBiggerFile() { + assertGeneratorMD( + """ +

Hello World

lol hehe

public class ObjectControllerFactoryManagerProvider<T extends ObjectControllerFactoryManager<T>> {
+                    
+                }
+ """.trimIndent(), + """ + # Hello World + + ***lol* hehe** + + ```java + public class ObjectControllerFactoryManagerProvider> { + + } + ``` + """.trimIndent() + ) + } + + @Test + fun testBold() { + assertGenerator("Hii", Bold(Word("Hii"))) + } + + @Test + fun testParagraphs() { + assertGenerator( + "

Test Whatever

", + Paragraph(FormatSequence(Word("Test"), Whitespace(), Bold(Word("Whatever")))) + ) + } + +} \ No newline at end of file diff --git a/src/test/kotlin/moe/nea/blog/md/test/TestItalics.kt b/src/test/kotlin/moe/nea/blog/md/test/TestItalics.kt index 01bd49e..939ad16 100644 --- a/src/test/kotlin/moe/nea/blog/md/test/TestItalics.kt +++ b/src/test/kotlin/moe/nea/blog/md/test/TestItalics.kt @@ -64,6 +64,7 @@ class TestItalics : MarkdownTest() { @Test fun testFreestandingStarInItalics() { assertInlineFormat("left * right", "*left * right*") + assertInlineFormat("left * middle ** later", "left * middle ** later") } @Test -- cgit