diff options
Diffstat (limited to 'src/test/scala/spray/json/JsonParserSpec.scala')
-rw-r--r-- | src/test/scala/spray/json/JsonParserSpec.scala | 13 |
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 { |