[Wasm] Stop using Dynamic in kotlin-test
This commit is contained in:
committed by
Space Team
parent
1071669a92
commit
635671d623
@@ -21,15 +21,15 @@ private fun it(name: String, fn: () -> JsAny?): Unit =
|
||||
private fun xit(name: String, fn: () -> JsAny?): Unit =
|
||||
js("xit(name, fn)")
|
||||
|
||||
private fun jsThrow(jsException: Dynamic) {
|
||||
private fun jsThrow(jsException: JsAny) {
|
||||
js("throw e")
|
||||
}
|
||||
|
||||
private fun throwableToJsError(message: String, stack: String): Dynamic {
|
||||
private fun throwableToJsError(message: String, stack: String): JsAny {
|
||||
js("var e = new Error(); e.message = message; e.stack = stack; return e;")
|
||||
}
|
||||
|
||||
private fun Throwable.toJsError(): Dynamic =
|
||||
private fun Throwable.toJsError(): JsAny =
|
||||
throwableToJsError(message ?: "", stackTraceToString())
|
||||
|
||||
/**
|
||||
@@ -52,7 +52,7 @@ internal class JasmineLikeAdapter : FrameworkAdapter {
|
||||
.toThrowableOrNull()
|
||||
?.let { it.toJsError() }
|
||||
?: exception
|
||||
Promise.reject(jsException) as Dynamic
|
||||
Promise.reject(jsException)
|
||||
}
|
||||
} catch (exception: Throwable) {
|
||||
jsThrow(exception.toJsError())
|
||||
|
||||
@@ -17,7 +17,7 @@ private external fun nodeArguments(): String
|
||||
|
||||
internal class TeamcityAdapter : FrameworkAdapter {
|
||||
|
||||
private var scheduleNextTaskAfter: Promise<Dynamic?>? = null
|
||||
private var scheduleNextTaskAfter: Promise<JsAny?>? = null
|
||||
private fun runOrScheduleNext(block: () -> Unit) {
|
||||
if (scheduleNextTaskAfter == null) {
|
||||
block()
|
||||
@@ -26,14 +26,14 @@ internal class TeamcityAdapter : FrameworkAdapter {
|
||||
}
|
||||
}
|
||||
|
||||
private fun runOrScheduleNextWithResult(block: () -> Promise<Dynamic?>?) {
|
||||
private fun runOrScheduleNextWithResult(block: () -> Promise<JsAny?>?) {
|
||||
if (scheduleNextTaskAfter == null) {
|
||||
val result = block()
|
||||
if (result != null)
|
||||
scheduleNextTaskAfter = result
|
||||
} else {
|
||||
scheduleNextTaskAfter = scheduleNextTaskAfter!!.then {
|
||||
block() as Dynamic?
|
||||
block()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,19 +3,19 @@ package test.js
|
||||
import kotlin.js.*
|
||||
import kotlin.test.*
|
||||
|
||||
internal fun jsAsyncFoo(): Promise<Dynamic?> =
|
||||
internal fun jsAsyncFoo(): Promise<JsAny?> =
|
||||
js("(async () => 'foo')()")
|
||||
|
||||
internal fun jsFoo(): Dynamic =
|
||||
internal fun jsFoo(): JsAny =
|
||||
js("'foo'")
|
||||
|
||||
var state: Dynamic? = null
|
||||
var state: JsAny? = null
|
||||
|
||||
class MyThrowable : Throwable()
|
||||
|
||||
class AsyncTest {
|
||||
@Test
|
||||
fun test1(): Promise<Dynamic?> {
|
||||
fun test1(): Promise<JsAny?> {
|
||||
var thenExecuted = false
|
||||
val p = jsAsyncFoo().then { value ->
|
||||
state = value
|
||||
@@ -27,7 +27,7 @@ class AsyncTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
fun test2(): Promise<Dynamic?> {
|
||||
fun test2(): Promise<JsAny?> {
|
||||
assertEquals(state, jsFoo())
|
||||
var thenExecuted = false
|
||||
val p = jsAsyncFoo().then {
|
||||
@@ -44,10 +44,9 @@ class AsyncTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
fun testJsValueToThrowableOrNull1(): Promise<Dynamic?> {
|
||||
fun testJsValueToThrowableOrNull1(): Promise<JsAny?> {
|
||||
val p = jsAsyncFoo().then {
|
||||
throw MyThrowable()
|
||||
null
|
||||
}.catch { e ->
|
||||
assert(e.toThrowableOrNull() is MyThrowable)
|
||||
null
|
||||
@@ -58,6 +57,6 @@ class AsyncTest {
|
||||
@Test
|
||||
fun testJsValueToThrowableOrNull2() {
|
||||
val e = MyThrowable()
|
||||
assertEquals((e as Dynamic).toThrowableOrNull(), e)
|
||||
assertEquals((e.toJsHandle()).toThrowableOrNull(), e)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user