diff options
author | Johannes Rudolph <johannes.rudolph@gmail.com> | 2013-05-29 14:22:29 +0200 |
---|---|---|
committer | Johannes Rudolph <johannes.rudolph@gmail.com> | 2013-05-29 14:22:29 +0200 |
commit | 85bfa031006372bc87de3b3566f2f3f1fdb48495 (patch) | |
tree | 134dbbbffe9c18f21283f4450ba5c35115c53e18 /src/test | |
parent | 90b63f86c31d0379f53578f9d7c5d0778b7ed4d7 (diff) | |
download | spray-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.scala | 5 |
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}}""") |