JS backend: fix KT-4601 JS: compareTo doesn't work on Numbers

#KT-4601 Fixed
This commit is contained in:
Michael Nedzelsky
2014-09-06 11:38:05 +04:00
parent 145050b3d1
commit a632e9e21d
5 changed files with 108 additions and 2 deletions
@@ -0,0 +1,60 @@
package foo
var global: String = ""
fun id(s: String, value: Int): Int {
global += s
return value
}
fun box(): String {
assertEquals(-1, 1.compareTo(2))
assertEquals(-1, 1 compareTo 2)
assertEquals(-1, 1 compareTo (2:Short))
assertEquals(-1, 1 compareTo (2:Byte))
assertEquals(-1, 1 compareTo 2.0)
assertEquals(-1, 1 compareTo 2.0f)
assertEquals(1, 10 compareTo 2)
assertEquals(1, 10 compareTo (2:Short))
assertEquals(1, 10 compareTo (2:Byte))
assertEquals(1, 10 compareTo 2.0)
assertEquals(1, 10 compareTo 2.0f)
assertEquals(0, 2 compareTo 2)
assertEquals(0, 2 compareTo (2:Short))
assertEquals(0, 2 compareTo (2:Byte))
assertEquals(0, 2 compareTo 2.0)
assertEquals(0, 2 compareTo 2.0f)
assertEquals(-1, (1: Short) compareTo 2)
assertEquals(-1, (1: 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)
assertEquals(1, (10: Byte) compareTo 2)
assertEquals(1, (10: Byte) compareTo (2:Short))
assertEquals(1, (10: Byte) compareTo (2:Byte))
assertEquals(1, (10: Byte) compareTo 2.0)
assertEquals(1, (10: Byte) compareTo 2.0f)
assertEquals(0, 2.0 compareTo 2)
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 compareTo 2.0f)
assertEquals(1, 3.0f compareTo 2)
assertEquals(1, 3.0f compareTo (2:Short))
assertEquals(1, 3.0f compareTo (2:Byte))
assertEquals(1, 3.0f compareTo 2.0)
assertEquals(1, 3.0f compareTo 2.0f)
assertEquals(1, id("A", 10) compareTo id("B", 5))
assertEquals("AB", global)
return "OK"
}