diff --git a/kotlin-power-assert/src/main/kotlin/com/bnorm/power/AssertTree.kt b/kotlin-power-assert/src/main/kotlin/com/bnorm/power/AssertTree.kt index 0abf59e27f7..d69698f93b1 100644 --- a/kotlin-power-assert/src/main/kotlin/com/bnorm/power/AssertTree.kt +++ b/kotlin-power-assert/src/main/kotlin/com/bnorm/power/AssertTree.kt @@ -149,7 +149,9 @@ fun buildAssertTree(expression: IrExpression): RootNode { } } else -> { - super.visitWhen(expression, data) + // Add as basic expression and terminate + // TODO this has to be broken and not work in all cases... + ExpressionNode(data) } } } diff --git a/kotlin-power-assert/src/test/kotlin/com/bnorm/power/test.kt b/kotlin-power-assert/src/test/kotlin/com/bnorm/power/test.kt index 103ada9af69..d515bf10384 100644 --- a/kotlin-power-assert/src/test/kotlin/com/bnorm/power/test.kt +++ b/kotlin-power-assert/src/test/kotlin/com/bnorm/power/test.kt @@ -196,6 +196,26 @@ assert(text == null || (text.length == 5 && text.toLowerCase() == text)) | | Hello | false Hello +""".trimIndent() + ) + } + + @Test + fun conditionalAccess() { + assertMessage( + """ +fun main() { + val text: String? = "Hello" + assert(text?.length?.minus(2) == 1) +}""", + """ +Assertion failed +assert(text?.length?.minus(2) == 1) + | | | | + | | | false + | | 3 + | 5 + Hello """.trimIndent() ) }