summaryrefslogtreecommitdiff
path: root/src/test/scala/cc/spray
diff options
context:
space:
mode:
authorMathias <mathias@spray.cc>2011-06-28 17:05:09 +0200
committerMathias <mathias@spray.cc>2011-06-28 17:05:09 +0200
commit83c85a54e59da47cb9659dba42fcf001b06d631d (patch)
tree29d21b09c27915f899a4f0ba24a6638ba96924fa /src/test/scala/cc/spray
parent4d56f2e56694f7033d57752b1a61b73137058fcc (diff)
downloadspray-json-83c85a54e59da47cb9659dba42fcf001b06d631d.tar.gz
spray-json-83c85a54e59da47cb9659dba42fcf001b06d631d.tar.bz2
spray-json-83c85a54e59da47cb9659dba42fcf001b06d631d.zip
Add test for thread-safety
Diffstat (limited to 'src/test/scala/cc/spray')
-rw-r--r--src/test/scala/cc/spray/json/JsonParserSpec.scala9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/test/scala/cc/spray/json/JsonParserSpec.scala b/src/test/scala/cc/spray/json/JsonParserSpec.scala
index dd61f94..6402b3d 100644
--- a/src/test/scala/cc/spray/json/JsonParserSpec.scala
+++ b/src/test/scala/cc/spray/json/JsonParserSpec.scala
@@ -1,6 +1,7 @@
package cc.spray.json
import org.specs.Specification
+import org.parboiled.common.FileUtils
class JsonParserSpec extends Specification {
@@ -40,6 +41,12 @@ class JsonParserSpec extends Specification {
JsonParser("""[null, 1.23 ,{"key":true } ] """) mustEqual
JsArray(JsNull, JsNumber(1.23), JsObject(JsField("key", true)))
)
+ "be reentrant" in {
+ val largeJsonSource = FileUtils.readAllCharsFromResource("test.json")
+ List.fill(20)(largeJsonSource).par.map(JsonParser(_)).toList.map {
+ _.asInstanceOf[JsObject].asMap("questions").asInstanceOf[JsArray].elements.size
+ } mustEqual List.fill(20)(100)
+ }
}
-
+
} \ No newline at end of file