Skip to content

Commit 12c2ea7

Browse files
committed
Increase coverage of RichTextBlockTest
1 parent ab49bd2 commit 12c2ea7

File tree

1 file changed

+100
-64
lines changed

1 file changed

+100
-64
lines changed

slack-api-model-kotlin-extension/src/test/kotlin/test_locally/block/RichTextBlockTest.kt

Lines changed: 100 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -219,6 +219,7 @@ class RichTextBlockTest {
219219
fun richTextObjects() {
220220
val blocks = withBlocks {
221221
richText {
222+
blockId("rich-text-block")
222223
richTextList {
223224
style(ListStyle.BULLET)
224225
indent(0)
@@ -233,9 +234,7 @@ class RichTextBlockTest {
233234
broadcast(BroadcastRange.EVERYONE)
234235
}
235236
}
236-
}
237237

238-
richText {
239238
richTextList {
240239
style(ListStyle.BULLET)
241240
indent(1)
@@ -244,9 +243,7 @@ class RichTextBlockTest {
244243
color("#C0FFEE")
245244
}
246245
}
247-
}
248246

249-
richText {
250247
richTextList {
251248
style(ListStyle.ORDERED)
252249
indent(0)
@@ -259,25 +256,23 @@ class RichTextBlockTest {
259256
LimitedTextStyle.builder().bold(true).italic(true).clientHighlight(true).build())
260257
}
261258
}
262-
}
263259

264-
richText {
265-
richTextSection {
266-
date(1720710212, "{date_num} at {time}", fallback = "timey")
260+
richTextList {
261+
style(ListStyle.BULLET)
262+
offset(0)
263+
richTextSection {
264+
date(1720710212, "{date_num} at {time}", fallback = "timey")
265+
}
267266
}
268-
}
269267

270-
richText {
271268
richTextSection {
272269
emoji("basketball")
273270
text(" ")
274271
emoji("snowboarder")
275272
text(" ")
276273
emoji("checkered_flag")
277274
}
278-
}
279275

280-
richText {
281276
richTextQuote {
282277
border(1)
283278
link("https://api.slack.com")
@@ -289,25 +284,27 @@ class RichTextBlockTest {
289284
link("https://api.slack.com", "Slack API",
290285
style = TextStyle.builder().strike(true).code(true).clientHighlight(true).build())
291286
}
292-
}
293287

294-
richText {
295288
richTextSection {
296289
user("U12345678")
297290
}
298-
}
299291

300-
richText {
301292
richTextSection {
302293
usergroup("S0123456789")
303294
}
295+
296+
richTextPreformatted {
297+
border(1)
298+
text("preformatted")
299+
}
304300
}
305301
}
306302
val original = """
307303
{
308304
"blocks": [
309305
{
310306
"type": "rich_text",
307+
"block_id": "rich-text-block",
311308
"elements": [
312309
{
313310
"type": "rich_text_list",
@@ -343,12 +340,7 @@ class RichTextBlockTest {
343340
"style": "bullet",
344341
"indent": 0,
345342
"border": 0
346-
}
347-
]
348-
},
349-
{
350-
"type": "rich_text",
351-
"elements": [
343+
},
352344
{
353345
"type": "rich_text_list",
354346
"elements": [
@@ -365,12 +357,7 @@ class RichTextBlockTest {
365357
"style": "bullet",
366358
"indent": 1,
367359
"border": 0
368-
}
369-
]
370-
},
371-
{
372-
"type": "rich_text",
373-
"elements": [
360+
},
374361
{
375362
"type": "rich_text_list",
376363
"elements": [
@@ -404,28 +391,25 @@ class RichTextBlockTest {
404391
"style": "ordered",
405392
"indent": 0,
406393
"border": 1
407-
}
408-
]
409-
},
410-
{
411-
"type": "rich_text",
412-
"elements": [
394+
},
413395
{
414-
"type": "rich_text_section",
396+
"type": "rich_text_list",
415397
"elements": [
416398
{
417-
"type": "date",
418-
"timestamp": 1720710212,
419-
"format": "{date_num} at {time}",
420-
"fallback": "timey"
399+
"type": "rich_text_section",
400+
"elements": [
401+
{
402+
"type": "date",
403+
"timestamp": 1720710212,
404+
"format": "{date_num} at {time}",
405+
"fallback": "timey"
406+
}
407+
]
421408
}
422-
]
423-
}
424-
]
425-
},
426-
{
427-
"type": "rich_text",
428-
"elements": [
409+
],
410+
"style": "bullet",
411+
"offset": 0
412+
},
429413
{
430414
"type": "rich_text_section",
431415
"elements": [
@@ -450,12 +434,7 @@ class RichTextBlockTest {
450434
"name": "checkered_flag"
451435
}
452436
]
453-
}
454-
]
455-
},
456-
{
457-
"type": "rich_text",
458-
"elements": [
437+
},
459438
{
460439
"type": "rich_text_quote",
461440
"elements": [
@@ -501,12 +480,7 @@ class RichTextBlockTest {
501480
}
502481
],
503482
"border": 1
504-
}
505-
]
506-
},
507-
{
508-
"type": "rich_text",
509-
"elements": [
483+
},
510484
{
511485
"type": "rich_text_section",
512486
"elements": [
@@ -515,12 +489,7 @@ class RichTextBlockTest {
515489
"user_id": "U12345678"
516490
}
517491
]
518-
}
519-
]
520-
},
521-
{
522-
"type": "rich_text",
523-
"elements": [
492+
},
524493
{
525494
"type": "rich_text_section",
526495
"elements": [
@@ -529,6 +498,16 @@ class RichTextBlockTest {
529498
"usergroup_id": "S0123456789"
530499
}
531500
]
501+
},
502+
{
503+
"type": "rich_text_preformatted",
504+
"elements": [
505+
{
506+
"type": "text",
507+
"text": "preformatted"
508+
}
509+
],
510+
"border": 1
532511
}
533512
]
534513
}
@@ -541,4 +520,61 @@ class RichTextBlockTest {
541520
assertEquals(expected, actual, "\n" + expected.toString() + "\n" + actual.toString())
542521
}
543522

523+
@Test
524+
fun dslWithElements() {
525+
val blocksWithElements = withBlocks {
526+
richText {
527+
elements {
528+
richTextSection {
529+
elements {
530+
text("section")
531+
}
532+
}
533+
richTextList {
534+
style(ListStyle.BULLET)
535+
elements {
536+
richTextSection {
537+
elements {
538+
text("list")
539+
}
540+
}
541+
}
542+
}
543+
richTextPreformatted {
544+
elements {
545+
text("preformatted")
546+
}
547+
}
548+
richTextQuote {
549+
elements {
550+
text("quote")
551+
}
552+
}
553+
}
554+
}
555+
}
556+
val original = withBlocks {
557+
richText {
558+
richTextSection {
559+
text("section")
560+
}
561+
richTextList {
562+
style(ListStyle.BULLET)
563+
richTextSection {
564+
text("list")
565+
}
566+
}
567+
richTextPreformatted {
568+
text("preformatted")
569+
}
570+
richTextQuote {
571+
text("quote")
572+
}
573+
}
574+
}
575+
val expected = gson.toJsonTree(original)
576+
val actual = gson.toJsonTree(blocksWithElements)
577+
assertEquals(expected, actual, "\n" + expected.toString() + "\n" + actual.toString())
578+
}
579+
544580
}

0 commit comments

Comments
 (0)