summaryrefslogtreecommitdiff
path: root/src/test/scala/spray/json/JsonParserSpec.scala
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/scala/spray/json/JsonParserSpec.scala')
-rw-r--r--src/test/scala/spray/json/JsonParserSpec.scala13
1 files changed, 9 insertions, 4 deletions
diff --git a/src/test/scala/spray/json/JsonParserSpec.scala b/src/test/scala/spray/json/JsonParserSpec.scala
index a97f021..e5645a4 100644
--- a/src/test/scala/spray/json/JsonParserSpec.scala
+++ b/src/test/scala/spray/json/JsonParserSpec.scala
@@ -73,11 +73,16 @@ class JsonParserSpec extends Specification {
JsonParser(json.prettyPrint.getBytes("UTF-8")) === json
}
"be reentrant" in {
+ import scala.concurrent.{Await, Future}
+ import scala.concurrent.duration._
+ import scala.concurrent.ExecutionContext.Implicits.global
+
val largeJsonSource = scala.io.Source.fromInputStream(getClass.getResourceAsStream("/test.json")).mkString
- import scala.collection.parallel.immutable.ParSeq
- ParSeq.fill(20)(largeJsonSource).map(JsonParser(_)).toList.map {
- _.asInstanceOf[JsObject].fields("questions").asInstanceOf[JsArray].elements.size
- } === List.fill(20)(100)
+ val list = Await.result(
+ Future.traverse(List.fill(20)(largeJsonSource))(src => Future(JsonParser(src))),
+ 5.seconds
+ )
+ list.map(_.asInstanceOf[JsObject].fields("questions").asInstanceOf[JsArray].elements.size) === List.fill(20)(100)
}
"produce proper error messages" in {