[
{
"name": "add object field",
"document": {"a": 1},
"patch": [{"op": "add", "path": "/b", "value": 2}],
"result": {"a": 1, "b": 2}
},
{
"name": "append array item",
"document": {"items": ["a"]},
"patch": [{"op": "add", "path": "/items/-", "value": "b"}],
"result": {"items": ["a", "b"]}
},
{
"name": "remove field",
"document": {"a": 1, "b": 2},
"patch": [{"op": "remove", "path": "/a"}],
"result": {"b": 2}
},
{
"name": "replace root",
"document": {"a": 1},
"patch": [{"op": "replace", "path": "", "value": [1, 2]}],
"result": [1, 2]
},
{
"name": "move item",
"document": {"items": ["a", "b", "c"]},
"patch": [{"op": "move", "from": "/items/0", "path": "/items/2"}],
"result": {"items": ["b", "c", "a"]}
},
{
"name": "copy field",
"document": {"a": {"x": 1}},
"patch": [{"op": "copy", "from": "/a", "path": "/b"}],
"result": {"a": {"x": 1}, "b": {"x": 1}}
},
{
"name": "test value",
"document": {"a": [1, 2]},
"patch": [{"op": "test", "path": "/a", "value": [1, 2]}],
"result": {"a": [1, 2]}
},
{
"name": "escaped pointer tokens",
"document": {"a/b": {"~key": 1}},
"patch": [{"op": "replace", "path": "/a~1b/~0key", "value": 2}],
"result": {"a/b": {"~key": 2}}
},
{
"name": "test mismatch",
"document": {"a": 1},
"patch": [{"op": "test", "path": "/a", "value": 2}],
"error": true
},
{
"name": "move into child",
"document": {"a": {"b": 1}},
"patch": [{"op": "move", "from": "/a", "path": "/a/b"}],
"error": true
},
{
"name": "copy missing source",
"document": {"a": 1},
"patch": [{"op": "copy", "from": "/missing", "path": "/b"}],
"error": true
},
{
"name": "dash cannot identify removed item",
"document": {"items": ["a"]},
"patch": [{"op": "remove", "path": "/items/-"}],
"error": true
},
{
"name": "missing replacement path",
"document": {"a": 1},
"patch": [{"op": "replace", "path": "/missing", "value": 2}],
"error": true
}
]