diff options
Diffstat (limited to 'test/files/jvm/interpreter.scala')
-rw-r--r-- | test/files/jvm/interpreter.scala | 42 |
1 files changed, 7 insertions, 35 deletions
diff --git a/test/files/jvm/interpreter.scala b/test/files/jvm/interpreter.scala index 2c2756828b..70ad900305 100644 --- a/test/files/jvm/interpreter.scala +++ b/test/files/jvm/interpreter.scala @@ -2,6 +2,8 @@ import scala.tools.nsc._ import java.io.{BufferedReader, StringReader, PrintWriter, Writer, OutputStreamWriter} +import interpreter.ILoop + object Test { val testCodeString = <code> // basics @@ -144,43 +146,13 @@ def f(e: Exp) = e match {{ // non-exhaustive warning here </code>.text - /** A writer that skips the first line of text. The first - * line of interpreter output is skipped because it includes - * a version number. */ - class Skip1Writer(writer: Writer) extends Writer { - var seenNL = false - - def write(cbuf: Array[Char], off: Int, len: Int) { - if (seenNL) - writer.write(cbuf, off, len) - else { - val slice : Array[Char] = cbuf.slice(off, off+len) - val i = slice.indexOf('\n') - if (i >= 0) { - seenNL = true - writer.write(slice, i+1, slice.length-(i+1)) - } else { - // skip it - } - } - } - - def close() { writer.close() } - def flush() { writer.flush() } - } - - def main(args: Array[String]) { - val input = new BufferedReader(new StringReader(testCodeString)) - val output = new PrintWriter( - new Skip1Writer(new OutputStreamWriter(Console.out))) - val repl = new InterpreterLoop(input, output) - val settings = new Settings - // when running that compiler, give it a scala-library to the classpath - settings.classpath.value = System.getProperty("java.class.path") - repl.main(settings) - println() + // This drops the first line of output because the repl + // prints a version number. + (ILoop run testCodeString).lines drop 1 foreach println + val settings = new Settings + settings.classpath.value = sys.props("java.class.path") val interp = new Interpreter(settings) interp.interpret("def plusOne(x: Int) = x + 1") interp.interpret("plusOne(5)") |