JS backend: tests for KT-5772

This commit is contained in:
Michael Nedzelsky
2014-09-18 22:15:02 +04:00
parent bdca7e0e37
commit e6a17cbd78
5 changed files with 126 additions and 0 deletions
@@ -10,6 +10,7 @@ fun id(s: String, value: Int): Int {
fun box(): String {
assertEquals(-1, 1.compareTo(2))
assertEquals(-1, (1: Comparable<Int>).compareTo(2))
assertEquals(-1, 1 compareTo 2)
assertEquals(-1, 1 compareTo (2:Short))
@@ -31,6 +32,7 @@ fun box(): String {
assertEquals(-1, (1: Short) compareTo 2)
assertEquals(-1, (1: Short) compareTo (2:Short))
assertEquals(-1, ((1: Short): Comparable<Short>) compareTo (2:Short))
assertEquals(-1, (1: Short) compareTo (2:Byte))
assertEquals(-1, (1: Short) compareTo 2.0)
assertEquals(-1, (1: Short) compareTo 2.0f)
@@ -38,6 +40,7 @@ fun box(): String {
assertEquals(1, (10: Byte) compareTo 2)
assertEquals(1, (10: Byte) compareTo (2:Short))
assertEquals(1, (10: Byte) compareTo (2:Byte))
assertEquals(1, ((10: Byte): Comparable<Byte>) compareTo (2:Byte))
assertEquals(1, (10: Byte) compareTo 2.0)
assertEquals(1, (10: Byte) compareTo 2.0f)
@@ -45,6 +48,7 @@ fun box(): String {
assertEquals(0, 2.0 compareTo (2:Short))
assertEquals(0, 2.0 compareTo (2:Byte))
assertEquals(0, 2.0 compareTo 2.0)
assertEquals(0, (2.0: Comparable<Double>) compareTo 2.0)
assertEquals(0, 2.0 compareTo 2.0f)
assertEquals(1, 3.0f compareTo 2)
@@ -52,6 +56,7 @@ fun box(): String {
assertEquals(1, 3.0f compareTo (2:Byte))
assertEquals(1, 3.0f compareTo 2.0)
assertEquals(1, 3.0f compareTo 2.0f)
assertEquals(1, (3.0f: Comparable<Float>) compareTo 2.0f)
assertEquals(1, id("A", 10) compareTo id("B", 5))
assertEquals("AB", global)
@@ -0,0 +1,49 @@
package foo
// For now, check is Byte(is Short, is Int is Float, is Double) translates to typeof ... == "number"
fun testNum(numX: Number) {
assertEquals(true, numX is Number, "numX is Number")
assertEquals(true, numX is Int, "numX is Int")
assertEquals(true, numX is Short, "numX is Short")
assertEquals(true, numX is Byte, "numX is Byte")
assertEquals(true, numX is Double, "numX is Double")
assertEquals(true, numX is Float, "numX is Float")
}
fun testAny(anyX: Any) {
assertEquals(true, anyX is Number, "anyX is Number")
assertEquals(true, anyX is Int, "anyX is Int")
assertEquals(true, anyX is Short, "anyX is Short")
assertEquals(true, anyX is Byte, "anyX is Byte")
assertEquals(true, anyX is Double, "anyX is Double")
assertEquals(true, anyX is Float, "anyX is Float")
}
fun box(): String {
val intX = 100
assertEquals(true, intX is Number, "intX is Number")
assertEquals(true, intX is Int, "intX is Int")
var anyX: Any = "A"
assertEquals(false, anyX is Number, "anyX is Number")
testNum(100)
testNum(100: Short)
testNum(100: Byte)
testNum(100.0)
testNum(100.0f)
testAny(100)
testAny(100: Short)
testAny(100: Byte)
testAny(100.0)
testAny(100.0f)
return "OK"
}