aboutsummaryrefslogtreecommitdiff
path: root/tests/pending/run/richs.scala
diff options
context:
space:
mode:
authorDmitry Petrashko <dmitry.petrashko@gmail.com>2015-05-12 18:30:53 +0200
committerDmitry Petrashko <dmitry.petrashko@gmail.com>2015-05-12 18:30:53 +0200
commit89bacb9c25a58454ff1878e67f7ea07ffc8c269f (patch)
tree51f1ff6c66aebe1b6109b1cffcc2bb8e4cf760a3 /tests/pending/run/richs.scala
parenta0fa33deafbea1bf53edc068c5ed9db5592822f9 (diff)
downloaddotty-89bacb9c25a58454ff1878e67f7ea07ffc8c269f.tar.gz
dotty-89bacb9c25a58454ff1878e67f7ea07ffc8c269f.tar.bz2
dotty-89bacb9c25a58454ff1878e67f7ea07ffc8c269f.zip
Run tests as they were in scala.
Diffstat (limited to 'tests/pending/run/richs.scala')
-rw-r--r--tests/pending/run/richs.scala139
1 files changed, 139 insertions, 0 deletions
diff --git a/tests/pending/run/richs.scala b/tests/pending/run/richs.scala
new file mode 100644
index 000000000..4b5345757
--- /dev/null
+++ b/tests/pending/run/richs.scala
@@ -0,0 +1,139 @@
+trait RichTest {
+ val s1 = """abc"""
+ val s2 = """abc\txyz\n"""
+ val s3 = """abc
+ xyz"""
+ val s4 = """abc
+ |xyz"""
+ val s5 = """abc
+ #xyz"""
+ def getObjectName: String = {
+ val cn = this.getClass().getName()
+ cn.substring(0, cn.length-1)
+ }
+ def length[A](it: Iterator[A]) = it.toList.length
+ def length[A](it: Iterable[A]) = it.toList.length
+ def run: Unit
+}
+object RichCharTest1 extends RichTest {
+ def run {
+ println("\n" + getObjectName + ":")
+ println('\40'.isWhitespace)
+ println('\011'.isWhitespace)
+ println('1'.asDigit == 1)
+ println('A'.asDigit == 10)
+ }
+}
+// object RichCharTest2 extends RichTest {
+// case class C(s: String) {
+// private val it = s.iterator
+// private var c: Char = _
+// def ch(): Char = c
+// def nextch(): Unit = { c = if (it.hasNext) it.next else ';' }
+// def err(msg: String) = println(msg)
+// nextch()
+// }
+// def run {
+// println("\n" + getObjectName + ":")
+// val c1 = C("x4A;")
+// val s1 = xml.Utility.parseCharRef(c1.ch, c1.nextch, c1.err)
+// val c2 = C("74;")
+// val s2 = xml.Utility.parseCharRef(c2.ch, c2.nextch, c2.err)
+// println(s1 == s2)
+// }
+// }
+object RichIntTest extends RichTest {
+ private val n = 10
+ private val m = -2
+ def run {
+ println("\n" + getObjectName + ":")
+ println(length(0 until n))
+ println(length(0 to n))
+ println(length(m until n))
+ println(length(m to n))
+ println(length(n until m))
+ println(length(n to m))
+
+ println(16.toBinaryString) // should be "10000"
+ println(16.toHexString) // should be "10"
+ println(16.toOctalString) // should be "20"
+
+ println(65537.toHexString) // should be "10001"
+ println((-1).toHexString) // should be "ffffffff"
+ }
+}
+object RichStringTest1 extends RichTest {
+ def run {
+ println("\n" + getObjectName + ":")
+ println("s1: " + s1)
+ println("s2: " + s2)
+ println("s3: " + s3)
+ println("s4: " + s4)
+ println("s5: " + s5)
+ }
+}
+object RichStringTest2 extends RichTest {
+ def run {
+ println("\n" + getObjectName + ":")
+ Console.print("s1: "); s1.lines foreach println
+ Console.print("s2: "); s2.lines foreach println
+ Console.print("s3: "); s3.lines foreach println
+ Console.print("s4: "); s4.lines foreach println
+ Console.print("s5: "); s5.lines foreach println
+ }
+}
+object RichStringTest3 extends RichTest {
+ def run {
+ println("\n" + getObjectName + ":")
+ println("s1: " + s1.stripLineEnd)
+ println("s2: " + s2.stripLineEnd)
+ println("s3: " + s3.stripLineEnd)
+ println("s4: " + s4.stripLineEnd)
+ println("s5: " + s5.stripLineEnd)
+ }
+}
+object RichStringTest4 extends RichTest {
+ def run {
+ println("\n" + getObjectName + ":")
+ println("s1: " + s1.stripMargin)
+ println("s2: " + s2.stripMargin)
+ println("s3: " + s3.stripMargin)
+ println("s4: " + s4.stripMargin)
+ println("s5: " + s5.stripMargin)
+ }
+}
+object RichStringTest5 extends RichTest {
+ def run {
+ println("\n" + getObjectName + ":")
+ println("s1: " + s3.stripMargin('#'))
+ println("s2: " + s3.stripMargin('#'))
+ println("s3: " + s3.stripMargin('#'))
+ println("s4: " + s4.stripMargin('#'))
+ println("s5: " + s5.stripMargin('#'))
+ }
+}
+object RichStringTest6 extends RichTest {
+ def run {
+ println("a:b:c:d".split(':').toList)
+ println("a.b.c.d".split('.').toList)
+ println("a$b$c$d".split('$').toList)
+ println("a^b^c^d".split('^').toList)
+ println("a\\b\\c\\d".split('\\').toList)
+ println("a:b:c.d".split(Array(':', '.')).toList)
+ println("a:b.c$d".split(Array(':', '.', '$')).toList)
+ }
+}
+/** xxx */
+object Test {
+ def main(args: Array[String]) {
+ RichCharTest1.run
+ //RichCharTest2.run
+ RichIntTest.run
+ RichStringTest1.run
+ RichStringTest2.run
+ RichStringTest3.run
+ RichStringTest4.run
+ RichStringTest5.run
+ RichStringTest6.run
+ }
+}