summaryrefslogtreecommitdiff
path: root/support/cJSON-master/tests/json-patch-tests/spec_tests.json
diff options
context:
space:
mode:
Diffstat (limited to 'support/cJSON-master/tests/json-patch-tests/spec_tests.json')
-rw-r--r--support/cJSON-master/tests/json-patch-tests/spec_tests.json233
1 files changed, 233 insertions, 0 deletions
diff --git a/support/cJSON-master/tests/json-patch-tests/spec_tests.json b/support/cJSON-master/tests/json-patch-tests/spec_tests.json
new file mode 100644
index 0000000..c160535
--- /dev/null
+++ b/support/cJSON-master/tests/json-patch-tests/spec_tests.json
@@ -0,0 +1,233 @@
+[
+ {
+ "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"]]
+ }
+ }
+
+]