123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233 |
- [
- {
- "comment": "4.1. add with missing object",
- "doc": { "q": { "bar": 2 } },
- "patch": [ {"op": "add", "path": "/a/b", "value": 1} ],
- "error":
- "path /a does not exist -- missing objects are not created recursively"
- },
- {
- "comment": "A.1. Adding an Object Member",
- "doc": {
- "foo": "bar"
- },
- "patch": [
- { "op": "add", "path": "/baz", "value": "qux" }
- ],
- "expected": {
- "baz": "qux",
- "foo": "bar"
- }
- },
- {
- "comment": "A.2. Adding an Array Element",
- "doc": {
- "foo": [ "bar", "baz" ]
- },
- "patch": [
- { "op": "add", "path": "/foo/1", "value": "qux" }
- ],
- "expected": {
- "foo": [ "bar", "qux", "baz" ]
- }
- },
- {
- "comment": "A.3. Removing an Object Member",
- "doc": {
- "baz": "qux",
- "foo": "bar"
- },
- "patch": [
- { "op": "remove", "path": "/baz" }
- ],
- "expected": {
- "foo": "bar"
- }
- },
- {
- "comment": "A.4. Removing an Array Element",
- "doc": {
- "foo": [ "bar", "qux", "baz" ]
- },
- "patch": [
- { "op": "remove", "path": "/foo/1" }
- ],
- "expected": {
- "foo": [ "bar", "baz" ]
- }
- },
- {
- "comment": "A.5. Replacing a Value",
- "doc": {
- "baz": "qux",
- "foo": "bar"
- },
- "patch": [
- { "op": "replace", "path": "/baz", "value": "boo" }
- ],
- "expected": {
- "baz": "boo",
- "foo": "bar"
- }
- },
- {
- "comment": "A.6. Moving a Value",
- "doc": {
- "foo": {
- "bar": "baz",
- "waldo": "fred"
- },
- "qux": {
- "corge": "grault"
- }
- },
- "patch": [
- { "op": "move", "from": "/foo/waldo", "path": "/qux/thud" }
- ],
- "expected": {
- "foo": {
- "bar": "baz"
- },
- "qux": {
- "corge": "grault",
- "thud": "fred"
- }
- }
- },
- {
- "comment": "A.7. Moving an Array Element",
- "doc": {
- "foo": [ "all", "grass", "cows", "eat" ]
- },
- "patch": [
- { "op": "move", "from": "/foo/1", "path": "/foo/3" }
- ],
- "expected": {
- "foo": [ "all", "cows", "eat", "grass" ]
- }
- },
- {
- "comment": "A.8. Testing a Value: Success",
- "doc": {
- "baz": "qux",
- "foo": [ "a", 2, "c" ]
- },
- "patch": [
- { "op": "test", "path": "/baz", "value": "qux" },
- { "op": "test", "path": "/foo/1", "value": 2 }
- ],
- "expected": {
- "baz": "qux",
- "foo": [ "a", 2, "c" ]
- }
- },
- {
- "comment": "A.9. Testing a Value: Error",
- "doc": {
- "baz": "qux"
- },
- "patch": [
- { "op": "test", "path": "/baz", "value": "bar" }
- ],
- "error": "string not equivalent"
- },
- {
- "comment": "A.10. Adding a nested Member Object",
- "doc": {
- "foo": "bar"
- },
- "patch": [
- { "op": "add", "path": "/child", "value": { "grandchild": { } } }
- ],
- "expected": {
- "foo": "bar",
- "child": {
- "grandchild": {
- }
- }
- }
- },
- {
- "comment": "A.11. Ignoring Unrecognized Elements",
- "doc": {
- "foo":"bar"
- },
- "patch": [
- { "op": "add", "path": "/baz", "value": "qux", "xyz": 123 }
- ],
- "expected": {
- "foo":"bar",
- "baz":"qux"
- }
- },
- {
- "comment": "A.12. Adding to a Non-existent Target",
- "doc": {
- "foo": "bar"
- },
- "patch": [
- { "op": "add", "path": "/baz/bat", "value": "qux" }
- ],
- "error": "add to a non-existent target"
- },
- {
- "comment": "A.13 Invalid JSON Patch Document",
- "doc": {
- "foo": "bar"
- },
- "patch": [
- { "op": "add", "path": "/baz", "value": "qux", "op": "remove" }
- ],
- "error": "operation has two 'op' members",
- "disabled": true
- },
- {
- "comment": "A.14. ~ Escape Ordering",
- "doc": {
- "/": 9,
- "~1": 10
- },
- "patch": [{"op": "test", "path": "/~01", "value": 10}],
- "expected": {
- "/": 9,
- "~1": 10
- }
- },
- {
- "comment": "A.15. Comparing Strings and Numbers",
- "doc": {
- "/": 9,
- "~1": 10
- },
- "patch": [{"op": "test", "path": "/~01", "value": "10"}],
- "error": "number is not equal to string"
- },
- {
- "comment": "A.16. Adding an Array Value",
- "doc": {
- "foo": ["bar"]
- },
- "patch": [{ "op": "add", "path": "/foo/-", "value": ["abc", "def"] }],
- "expected": {
- "foo": ["bar", ["abc", "def"]]
- }
- }
- ]
|