| fun notNullString(x: String) { | |
| js("if (x !== 'abc') throw 'error'") | |
| } | |
| fun nullString(x: String?) { | |
| js("if (x !== 'abc') throw 'error'") | |
| } | |
| fun null2String(x: String?) { | |
| js("if (x !== null) throw 'error'") | |
| } | |
| fun testString() { | |
| notNullString("abc") | |
| nullString("abc") | |
| null2String(null) | |
| } | |
| external interface ExternRef | |
| fun notNullExternRef(x: ExternRef) { | |
| js("if (x !== 'abc') throw 'error'") | |
| } | |
| fun nullExternRef(x: ExternRef?) { | |
| js("if (x !== 'abc') throw 'error'") | |
| } | |
| fun null2ExternRef(x: ExternRef?) { | |
| js("if (x !== null) throw 'error'") | |
| } | |
| fun getExternRef(): ExternRef = | |
| js("'abc'") | |
| fun testExterRef() { | |
| val externRef = getExternRef() | |
| notNullExternRef(externRef) | |
| nullExternRef(externRef) | |
| null2ExternRef(null) | |
| } | |
| fun notNullInt(x: Int) { | |
| js("if (x !== 123) throw 'error'") | |
| } | |
| fun nullInt(x: Int?) { | |
| js("if (x !== 123) throw 'error'") | |
| } | |
| fun null2Int(x: Int?) { | |
| js("if (x !== null) throw 'error'") | |
| } | |
| fun testInt() { | |
| notNullInt(123) | |
| nullInt(123) | |
| null2Int(null) | |
| } | |
| fun notNullBoolean(x: Boolean) { | |
| js("if (x !== true) throw 'error'") | |
| } | |
| fun nullBoolean(x: Boolean?) { | |
| js("if (x !== true) throw 'error'") | |
| } | |
| fun null2Boolean(x: Boolean?) { | |
| js("if (x !== null) throw 'error'") | |
| } | |
| fun testBoolean() { | |
| notNullBoolean(true) | |
| nullBoolean(true) | |
| null2Boolean(null) | |
| } | |
| fun notNullShort(x: Short) { | |
| js("x == 123") | |
| } | |
| fun nullShort(x: Short?) { | |
| js("if (x !== 123) throw 'error'") | |
| } | |
| fun null2Short(x: Short?) { | |
| js("if (x !== null) throw 'error'") | |
| } | |
| fun testShort() { | |
| notNullShort(123.toShort()) | |
| nullShort(123.toShort()) | |
| null2Short(null) | |
| } | |
| fun notNullFloat(x: Float) { | |
| js("if (x !== 123.5) throw 'error'") | |
| } | |
| fun nullFloat(x: Float?) { | |
| js("if (x !== 123.5) throw 'error'") | |
| } | |
| fun null2Float(x: Float?) { | |
| js("if (x !== null) throw 'error'") | |
| } | |
| fun testFloat() { | |
| notNullFloat(123.5f) | |
| nullFloat(123.5f) | |
| null2Float(null) | |
| } | |
| fun box(): String { | |
| testString() | |
| testExterRef() | |
| testInt() | |
| testBoolean() | |
| testShort() | |
| testFloat() | |
| return "OK" | |
| } |