Lines Matching full:patch
20 TEST_CASE("JSON patch")
48 CHECK_NOTHROW(doc1.patch(patch1));
57 CHECK(doc1.patch(patch1) == doc1_ans);
63 …CHECK_THROWS_WITH_AS(doc2.patch(patch1), "[json.exception.out_of_range.403] key 'a' not found", js…
70 …CHECK_THROWS_WITH_AS(doc3.patch(patch2), "[json.exception.out_of_range.403] (/a) key 'b' not found…
72 …CHECK_THROWS_WITH_AS(doc3.patch(patch2), "[json.exception.out_of_range.403] key 'b' not found", js…
81 json const patch = {{{"op", "remove"}, {"path", "/1"}}}; variable
82 CHECK(doc.patch(patch) == json({1, 3, 4}));
92 // A JSON Patch document:
93 json const patch = R"( variable
108 CHECK(doc.patch(patch) == expected);
111 CHECK(doc.patch(json::diff(doc, expected)) == expected);
121 // A JSON Patch document:
122 json const patch = R"( variable
134 CHECK(doc.patch(patch) == expected);
137 CHECK(doc.patch(json::diff(doc, expected)) == expected);
150 // A JSON Patch document:
151 json const patch = R"( variable
163 CHECK(doc.patch(patch) == expected);
166 CHECK(doc.patch(json::diff(doc, expected)) == expected);
176 // A JSON Patch document:
177 json const patch = R"( variable
189 CHECK(doc.patch(patch) == expected);
192 CHECK(doc.patch(json::diff(doc, expected)) == expected);
205 // A JSON Patch document:
206 json const patch = R"( variable
220 CHECK(doc.patch(patch) == expected);
223 CHECK(doc.patch(json::diff(doc, expected)) == expected);
241 // A JSON Patch document:
242 json const patch = R"( variable
262 CHECK(doc.patch(patch) == expected);
265 CHECK(doc.patch(json::diff(doc, expected)) == expected);
275 // A JSON Patch document:
276 json const patch = R"( variable
288 CHECK(doc.patch(patch) == expected);
291 CHECK(doc.patch(json::diff(doc, expected)) == expected);
304 // A JSON Patch document that will result in successful evaluation:
305 json const patch = R"( variable
313 CHECK_NOTHROW(doc.patch(patch));
315 CHECK(doc.patch(patch) == doc);
325 // A JSON Patch document that will result in an error condition:
326 json patch = R"( variable
333 CHECK_THROWS_AS(doc.patch(patch), json::other_error&);
335 …CHECK_THROWS_WITH_STD_STR(doc.patch(patch), "[json.exception.other_error.501] (/0) unsuccessful: "…
337 …CHECK_THROWS_WITH_STD_STR(doc.patch(patch), "[json.exception.other_error.501] unsuccessful: " + pa…
348 // A JSON Patch document:
349 json const patch = R"( variable
367 CHECK(doc.patch(patch) == expected);
370 CHECK(doc.patch(json::diff(doc, expected)) == expected);
380 // A JSON Patch document:
381 json const patch = R"( variable
395 CHECK(doc.patch(patch) == expected);
398 CHECK(doc.patch(json::diff(doc, expected)) == expected);
408 // A JSON Patch document:
409 json const patch = R"( variable
415 // This JSON Patch document, applied to the target JSON document
421 …CHECK_THROWS_WITH_AS(doc.patch(patch), "[json.exception.out_of_range.403] key 'baz' not found", js…
424 // A.13. Invalid JSON Patch Document
437 // A JSON Patch document:
438 json const patch = R"( variable
452 CHECK(doc.patch(patch) == expected);
455 CHECK(doc.patch(json::diff(doc, expected)) == expected);
468 // A JSON Patch document that will result in an error condition:
469 json patch = R"( variable
476 CHECK_THROWS_AS(doc.patch(patch), json::other_error&);
478 …CHECK_THROWS_WITH_STD_STR(doc.patch(patch), "[json.exception.other_error.501] (/0) unsuccessful: "…
480 …CHECK_THROWS_WITH_STD_STR(doc.patch(patch), "[json.exception.other_error.501] unsuccessful: " + pa…
491 // A JSON Patch document:
492 json const patch = R"( variable
504 CHECK(doc.patch(patch) == expected);
507 CHECK(doc.patch(json::diff(doc, expected)) == expected);
524 // A JSON Patch document:
525 json const patch = R"( variable
535 CHECK(doc.patch(patch) == expected);
538 CHECK(doc.patch(json::diff(doc, expected)) == expected);
550 // A JSON Patch document:
551 json const patch = R"( variable
561 CHECK(doc.patch(patch) == expected);
564 CHECK(doc.patch(json::diff(doc, expected)) == expected);
583 // A JSON Patch document:
584 json const patch = R"( variable
605 CHECK(doc.patch(patch) == expected);
608 CHECK(doc.patch(json::diff(doc, expected)) == expected);
614 json const patch = {{{"op", "replace"}, {"path", ""}, {"value", 1}}}; variable
615 CHECK(j.patch(patch) == json(1));
621 // a JSON patch
631 // apply the patch
632 json target = source.patch(p1);
669 json const patch = {{"op", "add"}, {"path", ""}, {"value", 1}}; variable
670 …CHECK_THROWS_WITH_AS(j.patch(patch), "[json.exception.parse_error.104] parse error: JSON patch mus…
676 json const patch = {"op", "add", "path", "", "value", 1}; variable
678 …CHECK_THROWS_WITH_AS(j.patch(patch), "[json.exception.parse_error.104] parse error: (/0) JSON patc…
680 …CHECK_THROWS_WITH_AS(j.patch(patch), "[json.exception.parse_error.104] parse error: JSON patch mus…
687 json const patch = {{{"foo", "bar"}}}; variable
689 …CHECK_THROWS_WITH_AS(j.patch(patch), "[json.exception.parse_error.105] parse error: (/0) operation…
691 …CHECK_THROWS_WITH_AS(j.patch(patch), "[json.exception.parse_error.105] parse error: operation must…
698 json const patch = {{{"op", 1}}}; variable
700 …CHECK_THROWS_WITH_AS(j.patch(patch), "[json.exception.parse_error.105] parse error: (/0) operation…
702 …CHECK_THROWS_WITH_AS(j.patch(patch), "[json.exception.parse_error.105] parse error: operation must…
709 json const patch = {{{"op", "foo"}, {"path", ""}}}; variable
711 …CHECK_THROWS_WITH_AS(j.patch(patch), "[json.exception.parse_error.105] parse error: (/0) operation…
713 …CHECK_THROWS_WITH_AS(j.patch(patch), "[json.exception.parse_error.105] parse error: operation valu…
723 json const patch = {{{"op", "add"}}}; variable
725 …CHECK_THROWS_WITH_AS(j.patch(patch), "[json.exception.parse_error.105] parse error: (/0) operation…
727 …CHECK_THROWS_WITH_AS(j.patch(patch), "[json.exception.parse_error.105] parse error: operation 'add…
734 json const patch = {{{"op", "add"}, {"path", 1}}}; variable
736 …CHECK_THROWS_WITH_AS(j.patch(patch), "[json.exception.parse_error.105] parse error: (/0) operation…
738 …CHECK_THROWS_WITH_AS(j.patch(patch), "[json.exception.parse_error.105] parse error: operation 'add…
745 json const patch = {{{"op", "add"}, {"path", ""}}}; variable
747 …CHECK_THROWS_WITH_AS(j.patch(patch), "[json.exception.parse_error.105] parse error: (/0) operation…
749 …CHECK_THROWS_WITH_AS(j.patch(patch), "[json.exception.parse_error.105] parse error: operation 'add…
756 json const patch = {{{"op", "add"}, {"path", "/4"}, {"value", 4}}}; variable
757 …CHECK_THROWS_WITH_AS(j.patch(patch), "[json.exception.out_of_range.401] array index 4 is out of ra…
766 json const patch = {{{"op", "remove"}}}; variable
768 …CHECK_THROWS_WITH_AS(j.patch(patch), "[json.exception.parse_error.105] parse error: (/0) operation…
770 …CHECK_THROWS_WITH_AS(j.patch(patch), "[json.exception.parse_error.105] parse error: operation 'rem…
777 json const patch = {{{"op", "remove"}, {"path", 1}}}; variable
779 …CHECK_THROWS_WITH_AS(j.patch(patch), "[json.exception.parse_error.105] parse error: (/0) operation…
781 …CHECK_THROWS_WITH_AS(j.patch(patch), "[json.exception.parse_error.105] parse error: operation 'rem…
788 json const patch = {{{"op", "remove"}, {"path", "/17"}}}; variable
789 …CHECK_THROWS_WITH_AS(j.patch(patch), "[json.exception.out_of_range.401] array index 17 is out of r…
795 json const patch = {{{"op", "remove"}, {"path", "/baz"}}}; variable
796 …CHECK_THROWS_WITH_AS(j.patch(patch), "[json.exception.out_of_range.403] key 'baz' not found", json…
802 json const patch = {{{"op", "remove"}, {"path", ""}}}; variable
803 …CHECK_THROWS_WITH_AS(j.patch(patch), "[json.exception.out_of_range.405] JSON pointer has no parent…
812 json const patch = {{{"op", "replace"}}}; variable
814 …CHECK_THROWS_WITH_AS(j.patch(patch), "[json.exception.parse_error.105] parse error: (/0) operation…
816 …CHECK_THROWS_WITH_AS(j.patch(patch), "[json.exception.parse_error.105] parse error: operation 'rep…
823 json const patch = {{{"op", "replace"}, {"path", 1}}}; variable
825 …CHECK_THROWS_WITH_AS(j.patch(patch), "[json.exception.parse_error.105] parse error: (/0) operation…
827 …CHECK_THROWS_WITH_AS(j.patch(patch), "[json.exception.parse_error.105] parse error: operation 'rep…
834 json const patch = {{{"op", "replace"}, {"path", ""}}}; variable
836 …CHECK_THROWS_WITH_AS(j.patch(patch), "[json.exception.parse_error.105] parse error: (/0) operation…
838 …CHECK_THROWS_WITH_AS(j.patch(patch), "[json.exception.parse_error.105] parse error: operation 'rep…
845 json const patch = {{{"op", "replace"}, {"path", "/17"}, {"value", 19}}}; variable
846 …CHECK_THROWS_WITH_AS(j.patch(patch), "[json.exception.out_of_range.401] array index 17 is out of r…
852 json const patch = {{{"op", "replace"}, {"path", "/baz"}, {"value", 3}}}; variable
853 …CHECK_THROWS_WITH_AS(j.patch(patch), "[json.exception.out_of_range.403] key 'baz' not found", json…
862 json const patch = {{{"op", "move"}}}; variable
864 …CHECK_THROWS_WITH_AS(j.patch(patch), "[json.exception.parse_error.105] parse error: (/0) operation…
866 …CHECK_THROWS_WITH_AS(j.patch(patch), "[json.exception.parse_error.105] parse error: operation 'mov…
873 json const patch = {{{"op", "move"}, {"path", 1}}}; variable
875 …CHECK_THROWS_WITH_AS(j.patch(patch), "[json.exception.parse_error.105] parse error: (/0) operation…
877 …CHECK_THROWS_WITH_AS(j.patch(patch), "[json.exception.parse_error.105] parse error: operation 'mov…
884 json const patch = {{{"op", "move"}, {"path", ""}}}; variable
885 CHECK_THROWS_AS(j.patch(patch), json::parse_error&);
887 …CHECK_THROWS_WITH_AS(j.patch(patch), "[json.exception.parse_error.105] parse error: (/0) operation…
889 …CHECK_THROWS_WITH_AS(j.patch(patch), "[json.exception.parse_error.105] parse error: operation 'mov…
896 json const patch = {{{"op", "move"}, {"path", ""}, {"from", 1}}}; variable
897 CHECK_THROWS_AS(j.patch(patch), json::parse_error&);
899 …CHECK_THROWS_WITH_AS(j.patch(patch), "[json.exception.parse_error.105] parse error: (/0) operation…
901 …CHECK_THROWS_WITH_AS(j.patch(patch), "[json.exception.parse_error.105] parse error: operation 'mov…
908 json const patch = {{{"op", "move"}, {"path", "/0"}, {"from", "/5"}}}; variable
909 …CHECK_THROWS_WITH_AS(j.patch(patch), "[json.exception.out_of_range.401] array index 5 is out of ra…
915 json const patch = {{{"op", "move"}, {"path", "/baz"}, {"from", "/baz"}}}; variable
916 …CHECK_THROWS_WITH_AS(j.patch(patch), "[json.exception.out_of_range.403] key 'baz' not found", json…
925 json const patch = {{{"op", "copy"}}}; variable
927 …CHECK_THROWS_WITH_AS(j.patch(patch), "[json.exception.parse_error.105] parse error: (/0) operation…
929 …CHECK_THROWS_WITH_AS(j.patch(patch), "[json.exception.parse_error.105] parse error: operation 'cop…
936 json const patch = {{{"op", "copy"}, {"path", 1}}}; variable
938 …CHECK_THROWS_WITH_AS(j.patch(patch), "[json.exception.parse_error.105] parse error: (/0) operation…
940 …CHECK_THROWS_WITH_AS(j.patch(patch), "[json.exception.parse_error.105] parse error: operation 'cop…
947 json const patch = {{{"op", "copy"}, {"path", ""}}}; variable
949 …CHECK_THROWS_WITH_AS(j.patch(patch), "[json.exception.parse_error.105] parse error: (/0) operation…
951 …CHECK_THROWS_WITH_AS(j.patch(patch), "[json.exception.parse_error.105] parse error: operation 'cop…
958 json const patch = {{{"op", "copy"}, {"path", ""}, {"from", 1}}}; variable
960 …CHECK_THROWS_WITH_AS(j.patch(patch), "[json.exception.parse_error.105] parse error: (/0) operation…
962 …CHECK_THROWS_WITH_AS(j.patch(patch), "[json.exception.parse_error.105] parse error: operation 'cop…
969 json const patch = {{{"op", "copy"}, {"path", "/0"}, {"from", "/5"}}}; variable
970 …CHECK_THROWS_WITH_AS(j.patch(patch), "[json.exception.out_of_range.401] array index 5 is out of ra…
976 json const patch = {{{"op", "copy"}, {"path", "/fob"}, {"from", "/baz"}}}; variable
977 …CHECK_THROWS_WITH_AS(j.patch(patch), "[json.exception.out_of_range.403] key 'baz' not found", json…
986 json const patch = {{{"op", "test"}}}; variable
988 …CHECK_THROWS_WITH_AS(j.patch(patch), "[json.exception.parse_error.105] parse error: (/0) operation…
990 …CHECK_THROWS_WITH_AS(j.patch(patch), "[json.exception.parse_error.105] parse error: operation 'tes…
997 json const patch = {{{"op", "test"}, {"path", 1}}}; variable
999 …CHECK_THROWS_WITH_AS(j.patch(patch), "[json.exception.parse_error.105] parse error: (/0) operation…
1001 …CHECK_THROWS_WITH_AS(j.patch(patch), "[json.exception.parse_error.105] parse error: operation 'tes…
1008 json const patch = {{{"op", "test"}, {"path", ""}}}; variable
1010 …CHECK_THROWS_WITH_AS(j.patch(patch), "[json.exception.parse_error.105] parse error: (/0) operation…
1012 …CHECK_THROWS_WITH_AS(j.patch(patch), "[json.exception.parse_error.105] parse error: operation 'tes…
1030 // The patch
1031 json const patch = R"( variable
1048 CHECK(doc.patch(patch) == result);
1051 CHECK(doc.patch(json::diff(doc, result)) == result);
1068 // The patch
1069 json const patch = R"( variable
1087 CHECK(doc.patch(patch) == result);
1090 CHECK(doc.patch(json::diff(doc, result)) == result);
1095 // The patch
1096 json const patch = R"( variable
1108 CHECK(doc.patch(patch) == result);
1111 CHECK(doc.patch(json::diff(doc, result)) == result);
1116 // The patch
1117 json const patch = R"( variable
1134 CHECK(doc.patch(patch) == result);
1137 CHECK(doc.patch(json::diff(doc, result)) == result);
1142 // The patch
1143 json const patch = R"( variable
1163 CHECK(doc.patch(patch) == result);
1166 CHECK(doc.patch(json::diff(doc, result)) == result);
1171 // The patch
1172 json const patch = R"( variable
1189 CHECK(doc.patch(patch) == result);
1192 CHECK(doc.patch(json::diff(doc, result)) == result);
1197 // The patch
1198 json patch = R"( variable
1205 CHECK_THROWS_AS(doc.patch(patch), json::other_error&);
1207 …CHECK_THROWS_WITH_STD_STR(doc.patch(patch), "[json.exception.other_error.501] (/0) unsuccessful: "…
1209 …CHECK_THROWS_WITH_STD_STR(doc.patch(patch), "[json.exception.other_error.501] unsuccessful: " + pa…
1219 CHECK(R"( {} )"_json.patch(
1223 CHECK(R"( {"foo": [1, 3]} )"_json.patch(
1227 CHECK(R"( {"foo": [{}]} )"_json.patch(
1234 CHECK(R"( {"foo": "bar"} )"_json.patch(
1238 CHECK(R"( {"foo": [1, 2, 3]} )"_json.patch(
1242 CHECK(R"( {"foo": [{"bar": "baz"}]} )"_json.patch(
1249 CHECK(R"( {"foo": "bar"} )"_json.patch(
1253 CHECK(R"( {"foo": [1, 2, 3]} )"_json.patch(
1257 CHECK(R"( {"foo": [{"bar": "baz"}]} )"_json.patch(
1264 CHECK(R"( {"foo": [1, 2, 3]} )"_json.patch(
1271 CHECK(R"( {"foo": [1, 2, 3]} )"_json.patch(
1278 CHECK_NOTHROW(R"( {"foo": "bar"} )"_json.patch(
1283 SECTION("Tests from github.com/json-patch/json-patch-tests")
1287 TEST_DATA_DIRECTORY "/json-patch-tests/spec_tests.json",
1288 TEST_DATA_DIRECTORY "/json-patch-tests/tests.json"
1306 const auto& patch = test["patch"]; variable
1312 CHECK(doc.patch(patch) == expected);
1316 CHECK_THROWS(doc.patch(patch));