KT-22807: allow asynchronous testing in Kotlin/JS with QUnit
This commit is contained in:
@@ -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: () -> Any)
|
||||
fun test(name: String, ignored: Boolean, testFn: () -> Any?)
|
||||
}
|
||||
|
||||
@@ -18,7 +18,7 @@ internal open class BareAdapter : FrameworkAdapter {
|
||||
}
|
||||
}
|
||||
|
||||
override fun test(name: String, ignored: Boolean, testFn: () -> Any) {
|
||||
override fun test(name: String, ignored: Boolean, testFn: () -> Any?) {
|
||||
if (!ignored) {
|
||||
testFn()
|
||||
}
|
||||
|
||||
@@ -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) -> Any): Unit
|
||||
fun skip(name: String, testFn: (dynamic) -> Any): 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: () -> Any)
|
||||
internal external fun xit(name: String, fn: () -> Any)
|
||||
internal external fun it(name: String, fn: () -> Any?)
|
||||
internal external fun xit(name: String, fn: () -> Any?)
|
||||
|
||||
internal fun isQUnit() = jsTypeOf(QUnit) !== "undefined"
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@ internal class JasmineLikeAdapter : FrameworkAdapter {
|
||||
}
|
||||
}
|
||||
|
||||
override fun test(name: String, ignored: Boolean, testFn: () -> Any) {
|
||||
override fun test(name: String, ignored: Boolean, testFn: () -> Any?) {
|
||||
if (ignored) {
|
||||
xit(name, testFn)
|
||||
} else {
|
||||
|
||||
@@ -22,7 +22,7 @@ internal class QUnitAdapter : FrameworkAdapter {
|
||||
ignoredSuite = prevIgnore
|
||||
}
|
||||
|
||||
override fun test(name: String, ignored: Boolean, testFn: () -> Any) {
|
||||
override fun test(name: String, ignored: Boolean, testFn: () -> Any?) {
|
||||
if (ignored or ignoredSuite) {
|
||||
QUnit.skip(name, wrapTest(testFn))
|
||||
} else {
|
||||
@@ -30,7 +30,7 @@ internal class QUnitAdapter : FrameworkAdapter {
|
||||
}
|
||||
}
|
||||
|
||||
private fun wrapTest(testFn: () -> Any): (dynamic) -> Any = { assert ->
|
||||
private fun wrapTest(testFn: () -> Any?): (dynamic) -> Any? = { assert ->
|
||||
var assertionsHappened = false
|
||||
assertHook = { testResult ->
|
||||
assertionsHappened = true
|
||||
|
||||
Reference in New Issue
Block a user