From 06bae51b0767e5bfcc7968448c60659523dd4370 Mon Sep 17 00:00:00 2001 From: VladimirNik Date: Fri, 17 Jan 2014 05:06:41 +0400 Subject: Problem with EOL in tests for Printers is fixed --- src/reflect/scala/reflect/internal/Printers.scala | 12 +++++++----- test/junit/scala/reflect/internal/PrintersTest.scala | 9 +++++++-- 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/src/reflect/scala/reflect/internal/Printers.scala b/src/reflect/scala/reflect/internal/Printers.scala index 8b72f98e4d..519d1047a6 100644 --- a/src/reflect/scala/reflect/internal/Printers.scala +++ b/src/reflect/scala/reflect/internal/Printers.scala @@ -735,7 +735,8 @@ trait Printers extends api.Printers { self: SymbolTable => println() }; case _ => - printPackageDef(pd, "\n") + val separator = scala.util.Properties.lineSeparator + printPackageDef(pd, separator) } case md @ ModuleDef(mods, name, impl) => @@ -944,15 +945,16 @@ trait Printers extends api.Printers { self: SymbolTable => } case l @ Literal(x) => + import Chars.LF x match { case Constant(v: String) if { val strValue = x.stringValue - strValue.contains("\n") && strValue.contains("\"\"\"") && strValue.size > 1 + strValue.contains(LF) && strValue.contains("\"\"\"") && strValue.size > 1 } => - val splitValue = x.stringValue.split('\n'.toString).toList - val multilineStringValue = if (x.stringValue.endsWith("\n")) splitValue :+ "" else splitValue + val splitValue = x.stringValue.split(s"$LF").toList + val multilineStringValue = if (x.stringValue.endsWith(s"$LF")) splitValue :+ "" else splitValue val trQuotes = "\"\"\"" - print(trQuotes); printSeq(multilineStringValue) { print(_) } { print("\n") }; print(trQuotes) + print(trQuotes); printSeq(multilineStringValue) { print(_) } { print(LF) }; print(trQuotes) case _ => // processing Float constants val printValue = x.escapedStringValue + (if (x.value.isInstanceOf[Float]) "F" else "") diff --git a/test/junit/scala/reflect/internal/PrintersTest.scala b/test/junit/scala/reflect/internal/PrintersTest.scala index 53ea3fd8a3..a08a29a9d1 100644 --- a/test/junit/scala/reflect/internal/PrintersTest.scala +++ b/test/junit/scala/reflect/internal/PrintersTest.scala @@ -19,14 +19,19 @@ class PrintersTest extends BasePrintTests object PrinterHelper { val toolbox = cm.mkToolBox() def assertPrintedCode(code: String, tree: Tree = EmptyTree) = { + def processEOL(resultCode: String) = { + import scala.reflect.internal.Chars._ + resultCode.replaceAll(s"$CR$LF", s"$LF").replace(CR, LF) + } + val toolboxTree = try{ toolbox.parse(code) } catch { case e:scala.tools.reflect.ToolBoxError => throw new Exception(e.getMessage + ": " + code) } - if (tree ne EmptyTree) assertEquals("using quasiquote or given tree"+"\n", code.trim, showCode(tree)) - else assertEquals("using toolbox parser", code.trim, showCode(toolboxTree)) + if (tree ne EmptyTree) assertEquals("using quasiquote or given tree"+"\n", code.trim, processEOL(showCode(tree))) + else assertEquals("using toolbox parser", code.trim, processEOL(showCode(toolboxTree))) } implicit class StrContextStripMarginOps(val stringContext: StringContext) extends util.StripMarginInterpolator -- cgit v1.2.3