summaryrefslogtreecommitdiff
path: root/test/files
diff options
context:
space:
mode:
authorPaul Phillips <paulp@improving.org>2009-11-14 18:02:10 +0000
committerPaul Phillips <paulp@improving.org>2009-11-14 18:02:10 +0000
commit1cd31e2edd031c0d32266de54ef63ddb9233c047 (patch)
tree4659619c1b3532ce4b31b2f4b52f912d64dff188 /test/files
parent6c4064a77086ee82de861ec30dfd87fe120c6b0d (diff)
downloadscala-1cd31e2edd031c0d32266de54ef63ddb9233c047.tar.gz
scala-1cd31e2edd031c0d32266de54ef63ddb9233c047.tar.bz2
scala-1cd31e2edd031c0d32266de54ef63ddb9233c047.zip
Fixes and test cases for #2087 and #2400.
fixing a long-standing bug in fjbg and recompiling fjbg.jar, which had the side effect of revealing that the current fjbg jar had never been recompiled with target 1.5, so now it's smaller and (I imagine) faster.
Diffstat (limited to 'test/files')
-rw-r--r--test/files/run/bugs2087-and-2400.scala20
1 files changed, 20 insertions, 0 deletions
diff --git a/test/files/run/bugs2087-and-2400.scala b/test/files/run/bugs2087-and-2400.scala
new file mode 100644
index 0000000000..19a5df26e3
--- /dev/null
+++ b/test/files/run/bugs2087-and-2400.scala
@@ -0,0 +1,20 @@
+object Test
+{
+ def negativeCharMaker = new (Short => Char) { def apply(x: Short) = x.toChar }
+ def main(args: Array[String]): Unit = {
+ // throws exception if -100 gets to Character.valueOf
+ val x = negativeCharMaker(-100)
+
+ // chars are unsigned, they should never be equal to negative values
+ assert((-100).toShort != (-100).toChar)
+ assert((-100).toChar != (-100).toShort)
+ assert((-100).toChar != (-100).toByte)
+ assert((-100).toByte != (-100).toChar)
+
+ // BoxesRunTime must agree as well
+ assert(((-100).toShort: Any) != (-100).toChar)
+ assert(((-100).toChar: Any) != (-100).toShort)
+ assert(((-100).toChar: Any) != (-100).toByte)
+ assert(((-100).toByte: Any) != (-100).toChar)
+ }
+}