json-patch / json-patch-tests

Tests for implementations of json-patch
68 stars 21 forks source link

Tests.json fails to parse #35

Open gregsdennis opened 7 years ago

gregsdennis commented 7 years ago

There is a test (below) that deals with duplicate keys. While not explicitly forbidden by JSON, many implementations may error when attempting to parse this:

{
    "comment": "duplicate ops",
    "doc": { "foo": "bar" },
    "patch": [ 
        {
            "op": "add",
            "path": "/baz",
            "value": "qux",
            "op": "move",
            "from":"/foo"
        }
    ],
    "error": "patch has two 'op' members",
    "disabled": true
}

The fact that it's marked as disabled doesn't help because, for these implementations, the JSON itself can't be read. Thus the failure occurs before the test, not as a result of it.

For additional context, this StackOverflow answer on duplicate keys is really nice.

mnot commented 4 years ago

We can segregate this into a different file if it causes parsing to fail.

What implementation(s) are you seeing that with?

gregsdennis commented 4 years ago

Mine: Manatee.Json, though I have an option for duplicate key behavior. Still, I can only say to throw, ignore, or overwrite. I can't handle the presence of duplicate keys.

I'd be surprised if there aren't others.