-
Notifications
You must be signed in to change notification settings - Fork 392
/
SimpleElementsTest.kt
220 lines (201 loc) · 6.81 KB
/
SimpleElementsTest.kt
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
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
package renderers.gfm
import junit.framework.Assert.assertEquals
import org.jetbrains.dokka.gfm.renderer.CommonmarkRenderer
import org.junit.jupiter.api.Test
import renderers.testPage
import org.jetbrains.dokka.links.DRI
import org.jetbrains.dokka.pages.*
import renderers.RawTestPage
class SimpleElementsTest : GfmRenderingOnlyTestBase() {
@Test
fun header() {
val page = testPage {
header(1, "The Hobbit or There and Back Again")
}
val expect = "//[testPage](test-page.md)\n\n# The Hobbit or There and Back Again"
CommonmarkRenderer(context).render(page)
assertEquals(expect, renderedContent)
}
@Test
fun link() {
val page = testPage {
link("They are not all accounted for, the lost Seeing Stones.", "http://www.google.com")
}
val expect =
"//[testPage](test-page.md)\n\n[They are not all accounted for, the lost Seeing Stones.](http://www.google.com)"
CommonmarkRenderer(context).render(page)
assertEquals(expect, renderedContent)
}
@Test
fun bold() {
val page = testPage {
text(
"That there’s some good in this world, Mr. Frodo… and it’s worth fighting for.",
styles = setOf(TextStyle.Bold)
)
}
val expect =
"//[testPage](test-page.md)\n\n**That there’s some good in this world, Mr. Frodo… and it’s worth fighting for.**"
CommonmarkRenderer(context).render(page)
assertEquals(expect, renderedContent)
}
@Test
fun italic() {
val page = testPage {
text("Even the smallest person can change the course of the future.", styles = setOf(TextStyle.Italic))
}
val expect = "//[testPage](test-page.md)\n\n*Even the smallest person can change the course of the future.*"
CommonmarkRenderer(context).render(page)
assertEquals(expect, renderedContent)
}
@Test
fun italicAndBold() {
val page = testPage {
text(
"There is no curse in Elvish, Entish, or the tongues of Men for this treachery.",
styles = setOf(TextStyle.Bold, TextStyle.Italic)
)
}
val expect =
"//[testPage](test-page.md)\n\n***There is no curse in Elvish, Entish, or the tongues of Men for this treachery.***"
CommonmarkRenderer(context).render(page)
assertEquals(expect, renderedContent)
}
@Test
fun strikethrough() {
val page = testPage {
text(
"A day may come when the courage of men fails… but it is not THIS day",
styles = setOf(TextStyle.Strikethrough)
)
}
val expect =
"//[testPage](test-page.md)\n\n<s>A day may come when the courage of men fails… but it is not THIS day</s>"
CommonmarkRenderer(context).render(page)
assertEquals(expect, renderedContent)
}
@Test
fun images() {
val image = ContentEmbeddedResource(
children = emptyList(),
address = "https://www.google.pl/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png",
altText = "This is a google logo",
dci = DCI(setOf(DRI.topLevel), ContentKind.Main),
sourceSets = emptySet()
)
val page = RawTestPage(content = image)
val expect =
"//[testPage](test-page.md)\n\n![This is a google logo](https://www.google.pl/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png)"
CommonmarkRenderer(context).render(page)
assertEquals(expect, renderedContent)
}
@Test
fun simpleTableWithHeader() {
val page = testPage {
table {
header {
text("Col1")
text("Col2")
text("Col3")
}
row {
text("Text1")
text("Text2")
text("Text3")
}
row {
text("Text4")
text("Text5")
text("Text6")
}
}
}
val expect = """|//[testPage](test-page.md)
|
|| Col1 | Col2 | Col3 |
||---|---|---|
|| Text1 | Text2 | Text3 |
|| Text4 | Text5 | Text6 |""".trimMargin()
CommonmarkRenderer(context).render(page)
assertEquals(expect, renderedContent)
}
@Test
fun simpleTableWithoutHeader() {
val page = testPage {
table {
row {
text("Text1")
text("Text2")
text("Text3")
}
row {
text("Text4")
text("Text5")
text("Text6")
}
}
}
val expect = """|//[testPage](test-page.md)
|
|| | | |
||---|---|---|
|| Text1 | Text2 | Text3 |
|| Text4 | Text5 | Text6 |""".trimMargin()
CommonmarkRenderer(context).render(page)
assertEquals(expect, renderedContent)
}
@Test
fun `table with extra cell in row`() {
val page = testPage {
table {
header {
text("Col1")
}
row {
text("Text1")
text("Text2")
}
}
}
val expect = """|//[testPage](test-page.md)
|
|| Col1 |
||---|
|| Text1 | Text2 |""".trimMargin()
CommonmarkRenderer(context).render(page)
assertEquals(expect, renderedContent)
}
@Test
fun `table with extra cell in header`() {
val page = testPage {
table {
header {
text("Col1")
text("Col2")
}
row {
text("Text1")
}
}
}
val expect = """|//[testPage](test-page.md)
|
|| Col1 | Col2 |
||---|---|
|| Text1 |""".trimMargin()
CommonmarkRenderer(context).render(page)
assertEquals(expect, renderedContent)
}
@Test
fun escapeText() {
val page = testPage {
text(
"<b>a</b>",
)
}
val expect =
"//[testPage](test-page.md)\n\n<b>a</b>"
CommonmarkRenderer(context).render(page)
assertEquals(expect, renderedContent)
}
}