summaryrefslogtreecommitdiff
path: root/src/test
diff options
context:
space:
mode:
authorJohannes Rudolph <johannes.rudolph@gmail.com>2013-05-29 14:22:29 +0200
committerJohannes Rudolph <johannes.rudolph@gmail.com>2013-05-29 14:22:29 +0200
commit85bfa031006372bc87de3b3566f2f3f1fdb48495 (patch)
tree134dbbbffe9c18f21283f4450ba5c35115c53e18 /src/test
parent90b63f86c31d0379f53578f9d7c5d0778b7ed4d7 (diff)
downloadspray-json-85bfa031006372bc87de3b3566f2f3f1fdb48495.tar.gz
spray-json-85bfa031006372bc87de3b3566f2f3f1fdb48495.tar.bz2
spray-json-85bfa031006372bc87de3b3566f2f3f1fdb48495.zip
new operation `modifyOrDeleteField` which can be used in conjunction with `optionalField` to delete fields
Diffstat (limited to 'src/test')
-rw-r--r--src/test/scala/cc/spray/json/lenses/JsonLensesSpec.scala5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/test/scala/cc/spray/json/lenses/JsonLensesSpec.scala b/src/test/scala/cc/spray/json/lenses/JsonLensesSpec.scala
index 118f47e..b115afd 100644
--- a/src/test/scala/cc/spray/json/lenses/JsonLensesSpec.scala
+++ b/src/test/scala/cc/spray/json/lenses/JsonLensesSpec.scala
@@ -124,6 +124,11 @@ class JsonLensesSpec extends Specification with SpecHelpers {
"create" in {
"""[{"b": 4}, {"c": 5}]""".update((* / 'b.?) ! set(38)) must be_json("""[{"b": 38}, {"c": 5, "b": 38}]""")
}
+ "delete some" in {
+ def f(i: Int): Option[Int] =
+ Some(i).filter(_ % 2 == 0)
+ """[{"b": 4}, {"b": 3}]""".update((* / 'b.?) ! modifyOrDeleteField(f)) must be_json("""[{"b": 4}, {}]""")
+ }
}
"set field of member" in {
"""{"n": {"b": 4}}""" update ("n" / "b" ! set(23)) must be_json( """{"n": {"b": 23}}""")