blob: b49c881dbcd5f17a51ce4277d3f9dccf0cf4c0ba [file]
// TARGET_BACKEND: WASM
// WITH_STDLIB
@JsFun("""() => String.fromCharCode(0xD83D, 0xDE80)""")
external fun jsFromCharCodeRocket(): String
@JsFun("""() => `a\u0000b`""")
external fun jsTemplateWithNul(): String
@JsFun("""
() => {
const boxed = new String("OK");
if (typeof boxed !== "object") return "Fail1";
if (!(boxed instanceof String)) return "Fail2";
const unboxed = String(boxed);
if (typeof unboxed !== "string") return "Fail3";
return unboxed;
}
""")
external fun jsMakeAndUnboxStringObject(): String
fun box(): String {
val rocket = jsFromCharCodeRocket()
if (rocket != "🚀") return "Fail4"
val nul = jsTemplateWithNul()
if (nul != "a\u0000b") return "Fail5"
val unboxed = jsMakeAndUnboxStringObject()
if (unboxed != "OK") return "Fail6"
return "OK"
}