From 0eabb6c8d40ece497c68d9df260b2c658c80e811 Mon Sep 17 00:00:00 2001 From: Ilya Gorbunov Date: Fri, 20 Mar 2015 16:18:47 +0300 Subject: [PATCH] Fix js test results interpretation. --- .../kotlin/js/qunit/SeleniumQUnit.kt | 25 ++++++++----------- 1 file changed, 11 insertions(+), 14 deletions(-) diff --git a/libraries/tools/kotlin-js-tests-junit/src/main/kotlin/org/jetbrains/kotlin/js/qunit/SeleniumQUnit.kt b/libraries/tools/kotlin-js-tests-junit/src/main/kotlin/org/jetbrains/kotlin/js/qunit/SeleniumQUnit.kt index 1811b8145df..d127c724ae4 100644 --- a/libraries/tools/kotlin-js-tests-junit/src/main/kotlin/org/jetbrains/kotlin/js/qunit/SeleniumQUnit.kt +++ b/libraries/tools/kotlin-js-tests-junit/src/main/kotlin/org/jetbrains/kotlin/js/qunit/SeleniumQUnit.kt @@ -64,21 +64,18 @@ public class SeleniumQUnit(val driver: WebDriver) { !result.startsWith("run") } if ("pass" != result) { - var message: String? = null - try { - val messageElement = element.findElement(By.xpath("descendant::*[@class = 'test-message']"))!! - message = messageElement.getText() - } catch (e: Exception) { - // ignore - } val testName = "${findTestName(element)} result: $result" - val fullMessage = if (message != null) { - "$testName. $message" - } else { - "test result for test case $testName" - } - println("FAILED: $fullMessage") - fail(fullMessage) + val failMessages = + try { + element.findElements(By.xpath("descendant::li[@class!='pass']/*[@class = 'test-message']")) + .map { "$testName. ${it.getText()}" } + } catch (e: Exception) { + listOf("test result for test case $testName") + } + + for (message in failMessages) + println("FAILED: $message") + fail(failMessages.join("\n")) } } }