aboutsummaryrefslogtreecommitdiff
path: root/test/src/markdown/ParserTest.kt
blob: 2a310bb24203d0456558fab4462ad8eccca4e432 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
package org.jetbrains.dokka.tests

import org.junit.Test
import org.jetbrains.dokka
import org.jetbrains.dokka.MarkdownProcessor
import org.jetbrains.dokka.toTestString
import org.jetbrains.dokka.toHtml

public class ParserTest {
    fun runTestFor(text : String) {
        val markdownTree = MarkdownProcessor.parse(text)
        println(markdownTree.toTestString())
        println(markdownTree.toHtml())
    }

    Test fun text() {
        runTestFor("text")
    }

    Test fun textWithSpaces() {
        runTestFor("text and string")
    }

    Test fun link() {
        runTestFor("text [links]")
    }

    Test fun linkWithHref() {
        runTestFor("text [links](http://destination)")
    }

    Test fun multiline() {
        runTestFor(
                """
text
and
string
""")
    }

    Test fun para() {
        runTestFor(
                """
paragraph number
one

paragraph
number two
""")
    }

    Test fun bulletList() {
        runTestFor(
                """* list item 1
* list item 2
""")
    }

    Test fun bulletListWithLines() {
        runTestFor(
                """
* list item 1
  continue 1
* list item 2
  continue 2
 """)
    }

    Test fun bulletListStrong() {
        runTestFor(
                """
* list *item* 1
  continue 1
* list *item* 2
  continue 2
 """)
    }

    Test fun emph() {
        runTestFor("*text*")
    }

    Test fun emphAndEmptySection() {
        runTestFor("*text* \$sec:")
    }

    Test fun emphAndSection() {
        runTestFor("*text* \$sec: some text")
    }

    Test fun emphAndBracedSection() {
        runTestFor("Text *bold* text \${sec}: some text")
    }

    Test fun section() {
        runTestFor(
                "Plain text \$one: Summary \${two}: Description with *emphasis* \${An example of a section}: Example")
    }

    Test fun anonymousSection() {
        runTestFor("Summary\n\nDescription\n")
    }

    Test fun specialSection() {
        runTestFor(
                "Plain text \$\$summary: Summary \${\$description}: Description \${\$An example of a section}: Example")
    }

    Test fun emptySection() {
        runTestFor(
                "Plain text \$summary:")
    }

}