@@ -10,7 +10,7 @@ class ChangelogPluginExtensionTest : BaseTest() {
10
10
11
11
@BeforeTest
12
12
fun localSetUp () {
13
- changelog =
13
+ changelog = // language=markdown
14
14
"""
15
15
# Changelog
16
16
Project description.
@@ -29,7 +29,7 @@ class ChangelogPluginExtensionTest : BaseTest() {
29
29
30
30
### Removed
31
31
- Bar
32
- """
32
+ """ .trimIndent()
33
33
}
34
34
35
35
@Test
@@ -52,6 +52,7 @@ class ChangelogPluginExtensionTest : BaseTest() {
52
52
extension.get(version).apply {
53
53
assertEquals(project.version, version)
54
54
55
+ // language=markdown
55
56
assertEquals(
56
57
"""
57
58
## [1.0.0]
@@ -64,6 +65,7 @@ class ChangelogPluginExtensionTest : BaseTest() {
64
65
toText()
65
66
)
66
67
68
+ // language=markdown
67
69
assertEquals(
68
70
"""
69
71
## [1.0.0]
@@ -76,6 +78,7 @@ class ChangelogPluginExtensionTest : BaseTest() {
76
78
toString()
77
79
)
78
80
81
+ // language=markdown
79
82
assertEquals(
80
83
"""
81
84
<h2>[1.0.0]</h2>
@@ -103,6 +106,7 @@ class ChangelogPluginExtensionTest : BaseTest() {
103
106
fun `getUnreleased() returns Unreleased section` () {
104
107
extension.getUnreleased().apply {
105
108
assertEquals(" [Unreleased]" , version)
109
+ // language=markdown
106
110
assertEquals(
107
111
"""
108
112
## [Unreleased]
@@ -123,6 +127,7 @@ class ChangelogPluginExtensionTest : BaseTest() {
123
127
extension.unreleasedTerm.set(" [Upcoming]" )
124
128
extension.getUnreleased().withSummary(true ).apply {
125
129
assertEquals(" [Upcoming]" , version)
130
+ // language=markdown
126
131
assertEquals(
127
132
"""
128
133
## [Upcoming]
@@ -140,7 +145,7 @@ class ChangelogPluginExtensionTest : BaseTest() {
140
145
@Test
141
146
@Suppress(" LongMethod" , " MaxLineLength" )
142
147
fun `parses changelog into structured sections` () {
143
- changelog =
148
+ changelog = // language=markdown
144
149
"""
145
150
# Changelog
146
151
My project description.
@@ -164,11 +169,12 @@ class ChangelogPluginExtensionTest : BaseTest() {
164
169
165
170
### Removed
166
171
- Hola
167
- """
172
+ """ .trimIndent()
168
173
169
174
extension.get(version).apply {
170
175
assertEquals(this @ChangelogPluginExtensionTest.version, version)
171
176
assertEquals(" ## [1.0.0]" , header)
177
+ // language=markdown
172
178
assertEquals(
173
179
"""
174
180
First release.
@@ -187,6 +193,7 @@ class ChangelogPluginExtensionTest : BaseTest() {
187
193
assertTrue(containsKey(" Removed" ))
188
194
assertEquals(1 , get(" Removed" )?.size)
189
195
}
196
+ // language=markdown
190
197
assertEquals(
191
198
"""
192
199
## [1.0.0]
@@ -212,6 +219,7 @@ class ChangelogPluginExtensionTest : BaseTest() {
212
219
""" .trimIndent(),
213
220
toText()
214
221
)
222
+ // language=html
215
223
assertEquals(
216
224
"""
217
225
<h2>[1.0.0]</h2>
@@ -231,6 +239,7 @@ class ChangelogPluginExtensionTest : BaseTest() {
231
239
""" .trimIndent(),
232
240
toHTML()
233
241
)
242
+ // language=markdown
234
243
assertEquals(
235
244
"""
236
245
[1.0.0]
@@ -261,7 +270,7 @@ class ChangelogPluginExtensionTest : BaseTest() {
261
270
262
271
@Test
263
272
fun `filters out entries from the change notes for the given version` () {
264
- changelog =
273
+ changelog = // language=markdown
265
274
"""
266
275
# Changelog
267
276
@@ -279,7 +288,7 @@ class ChangelogPluginExtensionTest : BaseTest() {
279
288
280
289
### Removed
281
290
- Hola x
282
- """
291
+ """ .trimIndent()
283
292
284
293
extension.get(version).apply {
285
294
assertEquals(this @ChangelogPluginExtensionTest.version, version)
@@ -297,6 +306,7 @@ class ChangelogPluginExtensionTest : BaseTest() {
297
306
assertFalse(containsKey(" Removed" ))
298
307
}
299
308
309
+ // language=markdown
300
310
assertEquals(
301
311
"""
302
312
## [1.0.0]
@@ -312,6 +322,8 @@ class ChangelogPluginExtensionTest : BaseTest() {
312
322
""" .trimIndent(),
313
323
toText()
314
324
)
325
+
326
+ // language=html
315
327
assertEquals(
316
328
"""
317
329
<h2>[1.0.0]</h2>
@@ -334,10 +346,11 @@ class ChangelogPluginExtensionTest : BaseTest() {
334
346
extension.getLatest().apply {
335
347
assertEquals(" [Unreleased]" , version)
336
348
assertEquals(" ## [Unreleased]" , header)
349
+ // language=markdown
337
350
assertEquals(
338
351
"""
339
- Not yet released version.
340
-
352
+ Not yet released version.
353
+
341
354
""" .trimIndent(),
342
355
summary,
343
356
)
@@ -353,15 +366,15 @@ class ChangelogPluginExtensionTest : BaseTest() {
353
366
354
367
@Test
355
368
fun `parses header with custom format containing version and date` () {
356
- changelog =
369
+ changelog = // language=markdown
357
370
"""
358
371
# Changelog
359
372
## NEW VERSION
360
373
- Compatible with IDEA 2020.2 EAPs
361
374
362
375
## Version 1.0.1119-eap (29 May 2020)
363
376
- Compatible with IDEA 2020.2 EAPs
364
- """
377
+ """ .trimIndent()
365
378
366
379
extension.unreleasedTerm.set(" NEW VERSION" )
367
380
extension.get(" 1.0.1119-eap" ).apply {
@@ -371,12 +384,12 @@ class ChangelogPluginExtensionTest : BaseTest() {
371
384
372
385
@Test
373
386
fun `returns change notes without group sections if not present` () {
374
- changelog =
387
+ changelog = // language=markdown
375
388
"""
376
389
# Changelog
377
390
## [1.0.0]
378
391
- Foo
379
- """
392
+ """ .trimIndent()
380
393
381
394
extension.get(" 1.0.0" ).apply {
382
395
assertEquals(" 1.0.0" , version)
@@ -386,6 +399,7 @@ class ChangelogPluginExtensionTest : BaseTest() {
386
399
assertTrue(containsKey(" " ))
387
400
assertEquals(1 , get(" " )?.size)
388
401
}
402
+ // language=markdown
389
403
assertEquals(
390
404
"""
391
405
## [1.0.0]
@@ -395,6 +409,7 @@ class ChangelogPluginExtensionTest : BaseTest() {
395
409
""" .trimIndent(),
396
410
toText()
397
411
)
412
+ // language=html
398
413
assertEquals(
399
414
"""
400
415
<h2>[1.0.0]</h2>
@@ -409,20 +424,21 @@ class ChangelogPluginExtensionTest : BaseTest() {
409
424
410
425
@Test
411
426
fun `splits change notes into a list by the given itemPrefix` () {
412
- changelog =
427
+ changelog = // language=markdown
413
428
"""
414
429
# Changelog
415
430
## [1.0.0]
416
431
- Foo - bar
417
432
* Foo2
418
433
- Bar
419
- """
434
+ """ .trimIndent()
420
435
421
436
extension.get(" 1.0.0" ).apply {
422
437
assertEquals(" 1.0.0" , version)
423
438
assertEquals(1 , getSections().keys.size)
424
439
getSections().values.first().apply {
425
440
assertEquals(2 , size)
441
+ // language=markdown
426
442
assertEquals(
427
443
"""
428
444
- Foo - bar
@@ -444,6 +460,7 @@ class ChangelogPluginExtensionTest : BaseTest() {
444
460
assertEquals(" 1.0.0" , keys.last())
445
461
assertEquals(" ## [Unreleased]" , values.first().header)
446
462
assertEquals(" ## [1.0.0]" , values.last().header)
463
+ // language=markdown
447
464
assertEquals(
448
465
"""
449
466
## [Unreleased]
@@ -455,6 +472,7 @@ class ChangelogPluginExtensionTest : BaseTest() {
455
472
""" .trimIndent(),
456
473
values.first().toText()
457
474
)
475
+ // language=markdown
458
476
assertEquals(
459
477
"""
460
478
## [Unreleased]
@@ -466,6 +484,7 @@ class ChangelogPluginExtensionTest : BaseTest() {
466
484
""" .trimIndent(),
467
485
values.first().toText()
468
486
)
487
+ // language=markdown
469
488
assertEquals(
470
489
"""
471
490
## [1.0.0]
@@ -477,6 +496,7 @@ class ChangelogPluginExtensionTest : BaseTest() {
477
496
""" .trimIndent(),
478
497
values.last().toText()
479
498
)
499
+ // language=markdown
480
500
assertEquals(
481
501
"""
482
502
## [1.0.0]
@@ -495,7 +515,7 @@ class ChangelogPluginExtensionTest : BaseTest() {
495
515
fun `returns Changelog items for change note without category` () {
496
516
extension.itemPrefix.set(" *" )
497
517
extension.unreleasedTerm.set(" Unreleased" )
498
- changelog =
518
+ changelog = // language=markdown
499
519
"""
500
520
# My Changelog
501
521
@@ -506,6 +526,7 @@ class ChangelogPluginExtensionTest : BaseTest() {
506
526
""" .trimIndent()
507
527
508
528
assertNotNull(extension.getLatest())
529
+ // language=html
509
530
assertEquals(
510
531
"""
511
532
<h2>Unreleased</h2>
@@ -519,14 +540,14 @@ class ChangelogPluginExtensionTest : BaseTest() {
519
540
520
541
@Test
521
542
fun `allows to customize the header parser regex to match version in different format than semver` () {
522
- changelog =
543
+ changelog = // language=markdown
523
544
"""
524
545
# My Changelog
525
546
526
547
## 2020.1
527
548
528
549
* Foo
529
- """
550
+ """ .trimIndent()
530
551
531
552
extension.headerParserRegex.set(""" \d+\.\d+""" .toRegex())
532
553
assertNotNull(extension.get(" 2020.1" ))
@@ -545,28 +566,28 @@ class ChangelogPluginExtensionTest : BaseTest() {
545
566
546
567
@Test
547
568
fun `return null for non-existent version` () {
548
- changelog =
569
+ changelog = // language=markdown
549
570
"""
550
571
# My Changelog
551
572
552
573
## 1.0.0
553
574
554
575
* Foo
555
- """
576
+ """ .trimIndent()
556
577
557
578
assertNull(extension.getOrNull(" 2.0.0" ))
558
579
}
559
580
560
581
@Test
561
582
fun `return change notes for version with custom headerParserRegex` () {
562
- changelog =
583
+ changelog = // language=markdown
563
584
"""
564
585
# My Changelog
565
586
566
587
## [v1.0.0]
567
588
568
589
* Foo
569
- """
590
+ """ .trimIndent()
570
591
571
592
extension.headerParserRegex.set(" \\ [?v(\\ d(?:\\ .\\ d+)+)]?.*" .toRegex())
572
593
@@ -576,7 +597,7 @@ class ChangelogPluginExtensionTest : BaseTest() {
576
597
577
598
@Test
578
599
fun `return change notes without summary` () {
579
- changelog =
600
+ changelog = // language=markdown
580
601
"""
581
602
# My Changelog
582
603
@@ -585,10 +606,11 @@ class ChangelogPluginExtensionTest : BaseTest() {
585
606
586
607
* Foo
587
608
588
- """
609
+ """ .trimIndent()
589
610
590
611
extension.get(" 1.0.0" ).apply {
591
612
assertEquals(" 1.0.0" , version)
613
+ // language=markdown
592
614
assertEquals(
593
615
"""
594
616
## [1.0.0]
@@ -604,6 +626,7 @@ class ChangelogPluginExtensionTest : BaseTest() {
604
626
605
627
@Test
606
628
fun `returns changelog description` () {
629
+ // language=markdown
607
630
assertEquals(
608
631
"""
609
632
Project description.
@@ -623,5 +646,4 @@ class ChangelogPluginExtensionTest : BaseTest() {
623
646
624
647
assertEquals(" New introduction" , extension.instance.introductionValue)
625
648
}
626
-
627
649
}
0 commit comments