summaryrefslogtreecommitdiff
path: root/test/files/run/json.scala
diff options
context:
space:
mode:
authorSom Snytt <som.snytt@gmail.com>2013-04-27 21:36:53 -0700
committerSom Snytt <som.snytt@gmail.com>2013-05-25 09:51:37 -0700
commit99b4d95fe6c908ce3170ff4d090420f8e47efa1d (patch)
treef7819550cc9b9cbce24b98f1c5b085939e37883d /test/files/run/json.scala
parent369f1f27ac6a27918e767e393dc6e22f7424aa38 (diff)
downloadscala-99b4d95fe6c908ce3170ff4d090420f8e47efa1d.tar.gz
scala-99b4d95fe6c908ce3170ff4d090420f8e47efa1d.tar.bz2
scala-99b4d95fe6c908ce3170ff4d090420f8e47efa1d.zip
SI-7003 Partest redirects stderr to log file
Some scalac output is on stderr, and it's useful to see that in the log file, especially for debugging. Adds a line filter for logs, specified as "filter: pattern" in the test source. Backslashes are made forward only when detected as paths. Test alignments: Deprecations which do not pertain to the system under test are corrected in the obvious way. When testing deprecated API, suppress warnings by deprecating the Test object. Check files are updated with useful true warnings, instead of running under -nowarn. Language feature imports as required, instead of running under -language. Language feature not required, such as casual use of postfix. Heed useful warning. Ignore broken warnings. (Rarely, -nowarn.) Inliner warnings pop up under -optimise only, so for now, just filter them out where they occur. Debug output from the test required an update.
Diffstat (limited to 'test/files/run/json.scala')
-rw-r--r--test/files/run/json.scala8
1 files changed, 6 insertions, 2 deletions
diff --git a/test/files/run/json.scala b/test/files/run/json.scala
index a81f12564c..d9d28ba1ca 100644
--- a/test/files/run/json.scala
+++ b/test/files/run/json.scala
@@ -1,13 +1,17 @@
+/*
+ * filter: inliner warning(s); re-run with -Yinline-warnings for details
+ */
import scala.util.parsing.json._
import scala.collection.immutable.TreeMap
+@deprecated("Suppress warnings", since="2.11")
object Test extends App {
/* This method converts parsed JSON back into real JSON notation with objects in
* sorted-key order. Not required by the spec, but it allows us to do a stable
* toString comparison. */
def jsonToString(in : Any) : String = in match {
case l : List[_] => "[" + l.map(jsonToString).mkString(", ") + "]"
- case m : Map[String,_] => "{" + m.iterator.toList
+ case m : Map[String @unchecked,_] => "{" + m.iterator.toList
.sortWith({ (x,y) => x._1 < y._1 })
.map({ case (k,v) => "\"" + k + "\": " + jsonToString(v) })
.mkString(", ") + "}"
@@ -20,7 +24,7 @@ object Test extends App {
*/
def sortJSON(in : Any) : Any = in match {
case l : List[_] => l.map(sortJSON)
- case m : Map[String,_] => TreeMap(m.mapValues(sortJSON).iterator.toSeq : _*)
+ case m : Map[String @unchecked,_] => TreeMap(m.mapValues(sortJSON).iterator.toSeq : _*)
// For the object versions, sort their contents, ugly casts and all...
case JSONObject(data) => JSONObject(sortJSON(data).asInstanceOf[Map[String,Any]])
case JSONArray(data) => JSONArray(sortJSON(data).asInstanceOf[List[Any]])