@@ -8,45 +8,45 @@ class ConventionalCommitParserTest {
88 @Test
99 fun `fail incomplete` () {
1010 var result = parseConventionalCommit(" f!x" )
11- assertIs< ParseResult . Error > (result)
11+ assertError (result)
1212 assertEquals(" The ':' separator is missing after the type/scope" , result.message)
1313
1414 result = parseConventionalCommit(" !fix" )
15- assertIs< ParseResult . Error > (result)
15+ assertError (result)
1616 assertEquals(" The commit type is missing or invalid" , result.message)
1717
1818 result = parseConventionalCommit(" fix: " )
19- assertIs< ParseResult . Error > (result)
19+ assertError (result)
2020 assertEquals(" The commit subject is missing or invalid" , result.message)
2121
2222 result = parseConventionalCommit(" build(np: " )
23- assertIs< ParseResult . Error > (result)
23+ assertError (result)
2424 assertEquals(" The commit scope is missing the closing parenthesis" , result.message)
2525
2626 result = parseConventionalCommit(" build(npm)" )
27- assertIs< ParseResult . Error > (result)
27+ assertError (result)
2828 assertEquals(" The ':' separator is missing after the type/scope" , result.message)
2929 }
3030
3131 @Test
3232 fun `parse incomplete` () {
3333 var result = parseConventionalCommit(" fix: " , lenient = true )
34- assertIs< ParseResult . Success > (result)
34+ assertSuccess (result)
3535
3636 var message = result.message
3737 assertEquals(" fix" , message.type)
3838 assertEquals(" " , message.subject)
3939
4040 result = parseConventionalCommit(" build(np: " , lenient = true )
41- assertIs< ParseResult . Success > (result)
41+ assertSuccess (result)
4242
4343 message = result.message
4444 assertEquals(" build" , message.type)
4545 assertEquals(" np: " , message.scope)
4646 assertEquals(" " , message.subject)
4747
4848 result = parseConventionalCommit(" build(npm)" , lenient = true )
49- assertIs< ParseResult . Success > (result)
49+ assertSuccess (result)
5050
5151 message = result.message
5252 assertEquals(" build" , message.type)
@@ -57,7 +57,7 @@ class ConventionalCommitParserTest {
5757 @Test
5858 fun `parse one liner` () {
5959 val result = parseConventionalCommit(" fix: foo" )
60- assertIs< ParseResult . Success > (result)
60+ assertSuccess (result)
6161
6262 val message = result.message
6363 assertEquals(" fix" , message.type)
@@ -68,7 +68,7 @@ class ConventionalCommitParserTest {
6868 @Test
6969 fun `parse unusual type` () {
7070 val result = parseConventionalCommit(" bui!ld!: foo" )
71- assertIs< ParseResult . Success > (result)
71+ assertSuccess (result)
7272
7373 val message = result.message
7474 assertEquals(" bui!ld" , message.type)
@@ -80,15 +80,15 @@ class ConventionalCommitParserTest {
8080 @Test
8181 fun `parse empty scope` () {
8282 var result = parseConventionalCommit(" build(): bar" )
83- assertIs< ParseResult . Success > (result)
83+ assertSuccess (result)
8484
8585 var message = result.message
8686 assertEquals(" build" , message.type)
8787 assertEquals(" " , message.scope)
8888 assertEquals(" bar" , message.subject.trim())
8989
9090 result = parseConventionalCommit(" build( ): bar" )
91- assertIs< ParseResult . Success > (result)
91+ assertSuccess (result)
9292
9393 message = result.message
9494 assertEquals(" build" , message.type)
@@ -99,7 +99,7 @@ class ConventionalCommitParserTest {
9999 @Test
100100 fun `parse scope with breaking change` () {
101101 val result = parseConventionalCommit(" build(foo)!: bar" )
102- assertIs< ParseResult . Success > (result)
102+ assertSuccess (result)
103103
104104 val message = result.message
105105 assertEquals(" build" , message.type)
@@ -119,7 +119,7 @@ class ConventionalCommitParserTest {
119119 """ .trimMargin()
120120 )
121121
122- assertIs< ParseResult . Success > (result)
122+ assertSuccess (result)
123123
124124 val message = result.message
125125 assertEquals(" refactor" , message.type)
@@ -142,7 +142,7 @@ class ConventionalCommitParserTest {
142142 """ .trimMargin()
143143 )
144144
145- assertIs< ParseResult . Success > (result)
145+ assertSuccess (result)
146146
147147 val message = result.message
148148 assertEquals(" refactor" , message.type)
@@ -176,7 +176,7 @@ class ConventionalCommitParserTest {
176176 """ .trimMargin()
177177 )
178178
179- assertIs< ParseResult . Success > (result)
179+ assertSuccess (result)
180180
181181 val message = result.message
182182 assertEquals(" refactor" , message.type)
@@ -218,7 +218,7 @@ class ConventionalCommitParserTest {
218218 """ .trimMargin()
219219 )
220220
221- assertIs< ParseResult . Success > (result)
221+ assertSuccess (result)
222222
223223 val message = result.message
224224 assertEquals(" build" , message.type)
@@ -247,7 +247,7 @@ class ConventionalCommitParserTest {
247247 """ .trimMargin()
248248 )
249249
250- assertIs< ParseResult . Success > (result)
250+ assertSuccess (result)
251251
252252 val message = result.message
253253 assertEquals(" build" , message.type)
@@ -278,7 +278,7 @@ class ConventionalCommitParserTest {
278278 lenient = true ,
279279 )
280280
281- assertIs< ParseResult . Success > (result)
281+ assertSuccess (result)
282282
283283 val message = result.message
284284 assertEquals(" build" , message.type)
@@ -291,13 +291,27 @@ class ConventionalCommitParserTest {
291291 assertEquals(" " , value)
292292 }
293293
294- private inline fun < reified T > assertIs (value : Any? ): Boolean {
294+ private fun assertSuccess (value : ParseResult ): Boolean {
295295 contract {
296- returns() implies (value is T )
296+ returns() implies (value is ParseResult . Success )
297297 }
298298
299- if (value !is T ) {
300- fail(" Expected a value of type ${T ::class .java.name} " )
299+ when (value) {
300+ is ParseResult .Success -> {}
301+ is ParseResult .Error -> fail(" Expected a success result but got an error result: ${value.message} " )
302+ }
303+
304+ return true
305+ }
306+
307+ private fun assertError (value : ParseResult ): Boolean {
308+ contract {
309+ returns() implies (value is ParseResult .Error )
310+ }
311+
312+ when (value) {
313+ is ParseResult .Success -> fail(" Expected an error result but got a success result" )
314+ is ParseResult .Error -> {}
301315 }
302316
303317 return true
0 commit comments