diff options
author | William Kral <william.kral@gmail.com> | 2013-06-23 14:36:19 -0700 |
---|---|---|
committer | William Kral <william.kral@gmail.com> | 2013-06-23 14:36:19 -0700 |
commit | 3b6a5eefb5f6052db7e46a45baa9f3c6c9960022 (patch) | |
tree | e8c6d7e459e3481cee705baae98a718893150c9c /tests.py | |
parent | e58df080ebc5866da64322b6b9d121ceb16683c5 (diff) | |
download | python-json-patch-3b6a5eefb5f6052db7e46a45baa9f3c6c9960022.tar.gz |
Fixed replacing whole document
- json pointer to_last operation returns None for the part in the
case that it is a whole document pointer
- json patch now checks to see if the part is None and simply returns
the value to replace the document
- Added a test to verify the fix
Diffstat (limited to 'tests.py')
-rwxr-xr-x | tests.py | 5 |
1 files changed, 5 insertions, 0 deletions
@@ -56,6 +56,11 @@ class ApplyPatchTestCase(unittest.TestCase): res = jsonpatch.apply_patch(obj, [{'op': 'replace', 'path': '/baz', 'value': 'boo'}]) self.assertTrue(res['baz'], 'boo') + def test_replace_whole_document(self): + obj = {'foo': 'bar'} + res = jsonpatch.apply_patch(obj, [{'op': 'replace', 'path': '', 'value': {'baz': 'qux'}}]) + self.assertTrue(res['baz'], 'qux') + def test_replace_array_item(self): obj = {'foo': ['bar', 'qux', 'baz']} res = jsonpatch.apply_patch(obj, [{'op': 'replace', 'path': '/foo/1', |