summaryrefslogtreecommitdiff
path: root/src/test/kotlin
diff options
context:
space:
mode:
authorLinnea Gräf <nea@nea.moe>2024-04-29 19:22:32 +0200
committerLinnea Gräf <nea@nea.moe>2024-04-29 19:22:32 +0200
commit5f0552a7ea251a52fb89f7886f6a8dd48ce566d5 (patch)
treeedb3d86b8c7e38854b28c71195c748be184fafb8 /src/test/kotlin
parent1ff704d63c057f0fca37b27cf0259e3c5af7299f (diff)
downloadblog-infra-5f0552a7ea251a52fb89f7886f6a8dd48ce566d5.tar.gz
blog-infra-5f0552a7ea251a52fb89f7886f6a8dd48ce566d5.tar.bz2
blog-infra-5f0552a7ea251a52fb89f7886f6a8dd48ce566d5.zip
Add basic html generator
Diffstat (limited to 'src/test/kotlin')
-rw-r--r--src/test/kotlin/moe/nea/blog/gen/HtmlTest.kt56
-rw-r--r--src/test/kotlin/moe/nea/blog/md/test/TestItalics.kt1
2 files changed, 57 insertions, 0 deletions
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(
+ """
+ <h1>Hello World</h1><p></p><p><b><em>lol</em> hehe</b></p><pre><code class="language-java">public class ObjectControllerFactoryManagerProvider&lt;T extends ObjectControllerFactoryManager&lt;T&gt;&gt; {
+
+ }</code></pre>
+ """.trimIndent(),
+ """
+ # Hello World
+
+ ***lol* hehe**
+
+ ```java
+ public class ObjectControllerFactoryManagerProvider<T extends ObjectControllerFactoryManager<T>> {
+
+ }
+ ```
+ """.trimIndent()
+ )
+ }
+
+ @Test
+ fun testBold() {
+ assertGenerator("<b>Hii</b>", Bold(Word("Hii")))
+ }
+
+ @Test
+ fun testParagraphs() {
+ assertGenerator(
+ "<p>Test <b>Whatever</b></p>",
+ 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("<i>left * right</i>", "*left * right*")
+ assertInlineFormat("left * middle ** later", "left * middle ** later")
}
@Test