diff --git a/libraries/kotlin.test/js/it/js/qunit-reporter.js b/libraries/kotlin.test/js/it/js/qunit-reporter.js index 28572f44a71..66500ecaac0 100644 --- a/libraries/kotlin.test/js/it/js/qunit-reporter.js +++ b/libraries/kotlin.test/js/it/js/qunit-reporter.js @@ -1,12 +1,6 @@ var Tester = require('./test-result-checker'); - -var full = require('./expected-outcomes'); -var allAsyncPass = {}; -for (var name in full) { - allAsyncPass[name] = name.startsWith('AsyncTest ') ? 'pass' : full[name]; -} - -var tester = new Tester(allAsyncPass, 'qunit'); +var expectedOutcomes = require('./expected-outcomes'); +var tester = new Tester(expectedOutcomes, 'qunit'); QUnit.testDone(function (details) { var testName = (details.module.replace('> ', '') + ' ' + details.name).trim(); diff --git a/libraries/kotlin.test/js/src/main/kotlin/kotlin/test/FrameworkAdapter.kt b/libraries/kotlin.test/js/src/main/kotlin/kotlin/test/FrameworkAdapter.kt index 9d03756ee5f..6a4e401db93 100644 --- a/libraries/kotlin.test/js/src/main/kotlin/kotlin/test/FrameworkAdapter.kt +++ b/libraries/kotlin.test/js/src/main/kotlin/kotlin/test/FrameworkAdapter.kt @@ -38,5 +38,5 @@ public external interface FrameworkAdapter { * @param ignored whether the test is ignored * @param testFn contains test body invocation */ - fun test(name: String, ignored: Boolean, testFn: () -> Unit) + fun test(name: String, ignored: Boolean, testFn: () -> Any) } diff --git a/libraries/kotlin.test/js/src/main/kotlin/kotlin/test/adapters/BareAdapter.kt b/libraries/kotlin.test/js/src/main/kotlin/kotlin/test/adapters/BareAdapter.kt index b02fe77d7ce..760077b921a 100644 --- a/libraries/kotlin.test/js/src/main/kotlin/kotlin/test/adapters/BareAdapter.kt +++ b/libraries/kotlin.test/js/src/main/kotlin/kotlin/test/adapters/BareAdapter.kt @@ -18,7 +18,7 @@ internal open class BareAdapter : FrameworkAdapter { } } - override fun test(name: String, ignored: Boolean, testFn: () -> Unit) { + override fun test(name: String, ignored: Boolean, testFn: () -> Any) { if (!ignored) { testFn() } diff --git a/libraries/kotlin.test/js/src/main/kotlin/kotlin/test/adapters/Externals.kt b/libraries/kotlin.test/js/src/main/kotlin/kotlin/test/adapters/Externals.kt index 246df3d733a..06d9af4393a 100644 --- a/libraries/kotlin.test/js/src/main/kotlin/kotlin/test/adapters/Externals.kt +++ b/libraries/kotlin.test/js/src/main/kotlin/kotlin/test/adapters/Externals.kt @@ -10,8 +10,8 @@ package kotlin.test.adapters */ internal external object QUnit { fun module(name: String, suiteFn: () -> Unit): Unit - fun test(name: String, testFn: (dynamic) -> Unit): Unit - fun skip(name: String, testFn: (dynamic) -> Unit): Unit + fun test(name: String, testFn: (dynamic) -> Any): Unit + fun skip(name: String, testFn: (dynamic) -> Any): Unit } /* @@ -20,8 +20,8 @@ internal external object QUnit { internal external fun describe(name: String, fn: () -> Unit) internal external fun xdescribe(name: String, fn: () -> Unit) -internal external fun it(name: String, fn: () -> Unit) -internal external fun xit(name: String, fn: () -> Unit) +internal external fun it(name: String, fn: () -> Any) +internal external fun xit(name: String, fn: () -> Any) internal fun isQUnit() = jsTypeOf(QUnit) !== "undefined" diff --git a/libraries/kotlin.test/js/src/main/kotlin/kotlin/test/adapters/JasmineLikeAdapter.kt b/libraries/kotlin.test/js/src/main/kotlin/kotlin/test/adapters/JasmineLikeAdapter.kt index 56b6781ed20..bd4591747d8 100644 --- a/libraries/kotlin.test/js/src/main/kotlin/kotlin/test/adapters/JasmineLikeAdapter.kt +++ b/libraries/kotlin.test/js/src/main/kotlin/kotlin/test/adapters/JasmineLikeAdapter.kt @@ -20,7 +20,7 @@ internal class JasmineLikeAdapter : FrameworkAdapter { } } - override fun test(name: String, ignored: Boolean, testFn: () -> Unit) { + override fun test(name: String, ignored: Boolean, testFn: () -> Any) { if (ignored) { xit(name, testFn) } else { diff --git a/libraries/kotlin.test/js/src/main/kotlin/kotlin/test/adapters/QUnitAdapter.kt b/libraries/kotlin.test/js/src/main/kotlin/kotlin/test/adapters/QUnitAdapter.kt index 2d5d7990cf9..27957af8e2b 100644 --- a/libraries/kotlin.test/js/src/main/kotlin/kotlin/test/adapters/QUnitAdapter.kt +++ b/libraries/kotlin.test/js/src/main/kotlin/kotlin/test/adapters/QUnitAdapter.kt @@ -22,7 +22,7 @@ internal class QUnitAdapter : FrameworkAdapter { ignoredSuite = prevIgnore } - override fun test(name: String, ignored: Boolean, testFn: () -> Unit) { + override fun test(name: String, ignored: Boolean, testFn: () -> Any) { if (ignored or ignoredSuite) { QUnit.skip(name, wrapTest(testFn)) } else { @@ -30,15 +30,16 @@ internal class QUnitAdapter : FrameworkAdapter { } } - private fun wrapTest(testFn: () -> Unit): (dynamic) -> Unit = { assert -> + private fun wrapTest(testFn: () -> Any): (dynamic) -> Any = { assert -> var assertionsHappened = false assertHook = { testResult -> assertionsHappened = true assert.ok(testResult.result, testResult.lazyMessage()) } - testFn() + val possiblePromise = testFn() if (!assertionsHappened) { assertTrue(true, "A test with no assertions is considered successful") } + possiblePromise } } \ No newline at end of file