[K/Wasm] Introduce JsBigInt type

This commit is contained in:
Artem Kobzar
2023-12-13 18:44:57 +00:00
committed by Space Team
parent 8bbbbfa3ce
commit 1473b4bb41
3 changed files with 52 additions and 10 deletions
+23
View File
@@ -22,6 +22,7 @@ fun box(): String {
assertTrue(jsNumAsAny is JsNumber)
assertTrue(jsNumAsAny !is JsString)
assertTrue(jsNumAsAny !is JsBoolean)
assertTrue(jsNumAsAny !is JsBigInt)
assertTrue((jsNumAsAny as JsNumber).toInt() == 10)
assertTrue(jsRepresentation(jsNum10) == "number:10")
@@ -32,6 +33,7 @@ fun box(): String {
assertTrue(jsStr1.toString() == "str1")
assertTrue((jsStr1 as Any) is JsString)
assertTrue((jsStr1 as Any) !is JsNumber)
assertTrue((jsStr1 as Any) !is JsBigInt)
assertTrue(jsRepresentation(jsStr1) == "string:str1")
// JsString
@@ -57,5 +59,26 @@ fun box(): String {
assertTrue(c.toJsReference().get() === c.toJsReference().get())
assertTrue(c.toJsReference() === c.toJsReference())
// JsBigInt
val jsBigInt10: JsBigInt = 10L.toJsBigInt()
val anotherJsBigInt10: JsBigInt = 10L.toJsBigInt()
assertTrue(jsBigInt10 == anotherJsBigInt10)
assertTrue(jsBigInt10.toLong() == 10L)
assertTrue(anotherJsBigInt10.toLong() == 10L)
val jsBigIntAsJsAny: JsAny = jsBigInt10
assertTrue(jsBigIntAsJsAny == anotherJsBigInt10)
assertTrue(jsBigIntAsJsAny is JsBigInt)
assertTrue(jsBigIntAsJsAny !is JsNumber)
assertTrue(jsBigIntAsJsAny !is JsString)
assertTrue(jsBigIntAsJsAny !is JsBoolean)
assertTrue((jsBigIntAsJsAny as JsBigInt).toLong() == 10L)
val jsBigIntAsAny: Any = jsBigInt10
assertTrue(jsBigIntAsAny == anotherJsBigInt10)
assertTrue(jsBigIntAsAny is JsBigInt)
assertTrue(jsBigIntAsAny !is JsNumber)
assertTrue(jsBigIntAsAny !is JsString)
assertTrue(jsBigIntAsAny !is JsBoolean)
assertTrue((jsBigIntAsAny as JsBigInt).toLong() == 10L)
return "OK"
}