summaryrefslogtreecommitdiff
path: root/src/test/kotlin/moe
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/kotlin/moe')
-rw-r--r--src/test/kotlin/moe/nea/blog/gen/HtmlGenerationTest.kt31
-rw-r--r--src/test/kotlin/moe/nea/blog/gen/HtmlTest.kt18
-rw-r--r--src/test/kotlin/moe/nea/blog/gen/IntegrationTest.kt23
-rw-r--r--src/test/kotlin/moe/nea/blog/test/util/GetResource.kt7
4 files changed, 62 insertions, 17 deletions
diff --git a/src/test/kotlin/moe/nea/blog/gen/HtmlGenerationTest.kt b/src/test/kotlin/moe/nea/blog/gen/HtmlGenerationTest.kt
new file mode 100644
index 0000000..baee5d6
--- /dev/null
+++ b/src/test/kotlin/moe/nea/blog/gen/HtmlGenerationTest.kt
@@ -0,0 +1,31 @@
+package moe.nea.blog.gen
+
+import moe.nea.blog.md.MarkdownElement
+import moe.nea.blog.md.MarkdownParser
+import kotlin.test.assertEquals
+
+abstract class HtmlGenerationTest {
+
+ open fun registerGenerators(generator: MD2HtmlGenerator) {
+ }
+
+ open fun registerParsers(parser: MarkdownParser) {
+ }
+
+ fun assertGenerator(generatedHtml: String, markdown: MarkdownElement) {
+ val generator = MD2HtmlGenerator()
+ generator.registerDefaultGenerators()
+ registerGenerators(generator)
+ assertEquals(generatedHtml, generator.generateHtml(markdown).text)
+ }
+
+ fun assertGeneratorMD(generatedHtml: String, text: String) {
+ val generator = MD2HtmlGenerator()
+ generator.registerDefaultGenerators()
+ registerGenerators(generator)
+ val parser = MarkdownParser(text)
+ parser.addDefaultParsers()
+ registerParsers(parser)
+ assertEquals(generatedHtml, generator.generateHtml(parser.readDocument()).text)
+ }
+} \ No newline at end of file
diff --git a/src/test/kotlin/moe/nea/blog/gen/HtmlTest.kt b/src/test/kotlin/moe/nea/blog/gen/HtmlTest.kt
index 4b76a5f..439fbeb 100644
--- a/src/test/kotlin/moe/nea/blog/gen/HtmlTest.kt
+++ b/src/test/kotlin/moe/nea/blog/gen/HtmlTest.kt
@@ -2,28 +2,12 @@ package moe.nea.blog.gen
import moe.nea.blog.md.Bold
import moe.nea.blog.md.FormatSequence
-import moe.nea.blog.md.MarkdownElement
-import moe.nea.blog.md.MarkdownParser
import moe.nea.blog.md.Paragraph
import moe.nea.blog.md.Whitespace
import moe.nea.blog.md.Word
import kotlin.test.Test
-import kotlin.test.assertEquals
-class HtmlTest {
-
- fun assertGenerator(generatedHtml: String, markdown: MarkdownElement) {
- val generator = MD2HtmlGenerator()
- generator.registerDefaultGenerators()
- assertEquals(generatedHtml, generator.generateHtml(markdown).text)
- }
-
- fun assertGeneratorMD(generatedHtml: String, text: String) {
- val generator = MD2HtmlGenerator()
- generator.registerDefaultGenerators()
- assertEquals(generatedHtml,
- generator.generateHtml(MarkdownParser(text).also { it.addDefaultParsers() }.readDocument()).text)
- }
+class HtmlTest : HtmlGenerationTest() {
@Test
fun testBiggerFile() {
diff --git a/src/test/kotlin/moe/nea/blog/gen/IntegrationTest.kt b/src/test/kotlin/moe/nea/blog/gen/IntegrationTest.kt
new file mode 100644
index 0000000..4d73254
--- /dev/null
+++ b/src/test/kotlin/moe/nea/blog/gen/IntegrationTest.kt
@@ -0,0 +1,23 @@
+package moe.nea.blog.gen
+
+import moe.nea.blog.md.MarkdownParser
+import moe.nea.blog.md.ext.NoteBlockGenerator
+import moe.nea.blog.md.ext.NoteBlockParser
+import moe.nea.blog.test.util.GetResource
+import kotlin.test.Test
+
+class IntegrationTest : HtmlGenerationTest() {
+ override fun registerGenerators(generator: MD2HtmlGenerator) {
+ generator.registerGeneratorFor(NoteBlockGenerator)
+ }
+
+ override fun registerParsers(parser: MarkdownParser) {
+ parser.addParser(NoteBlockParser)
+ }
+
+ @Test
+ fun testHttps() {
+ assertGeneratorMD(GetResource.asString("/https.html"), GetResource.asString("/https.md"))
+ }
+
+} \ No newline at end of file
diff --git a/src/test/kotlin/moe/nea/blog/test/util/GetResource.kt b/src/test/kotlin/moe/nea/blog/test/util/GetResource.kt
new file mode 100644
index 0000000..49fd9cd
--- /dev/null
+++ b/src/test/kotlin/moe/nea/blog/test/util/GetResource.kt
@@ -0,0 +1,7 @@
+package moe.nea.blog.test.util
+
+object GetResource {
+ fun asString(path: String): String {
+ return GetResource::class.java.getResourceAsStream(path)!!.bufferedReader().readText()
+ }
+} \ No newline at end of file