diff options
Diffstat (limited to 'test/files/run/array-charSeq.scala')
-rw-r--r-- | test/files/run/array-charSeq.scala | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/test/files/run/array-charSeq.scala b/test/files/run/array-charSeq.scala new file mode 100644 index 0000000000..f7d0586f03 --- /dev/null +++ b/test/files/run/array-charSeq.scala @@ -0,0 +1,27 @@ +object Test { + val arr = Array[Char]('a' to 'i': _*) + var xs: CharSequence = arr + val hash = xs.hashCode + + def check(chars: CharSequence) { + println("\n[check '" + chars + "'] len = " + chars.length) + chars match { + case x: runtime.ArrayCharSequence => assert(x.xs eq arr, ((x.xs, arr))) + case x => assert(false, x) + } + + 0 until chars.length foreach { i => + println("sub(%s, %s) == '%s'".format(i, chars.length, chars.subSequence(i, chars.length))) + println("sub(%s, %s) == '%s'".format(0, i, chars.subSequence(0, i))) + } + if (chars.length >= 2) + check(chars.subSequence(1, chars.length - 1)) + } + + def main(args: Array[String]): Unit = { + while (xs.length > 0) { + check(xs) + xs = xs.subSequence(0, xs.length - 1) + } + } +} |