[
    {
        "description": "unevaluatedProperties with $recursiveRef",
        "schema": {
            "$schema": "https://json-schema.org/draft/2019-09/schema",
            "$id": "https://example.com/extended-tree",

            "$recursiveAnchor": true,

            "$ref": "/tree",
            "properties": {
                "name": { "type": "string" }
            },

            "$defs": {
                "tree": {
                    "$id": "/tree",
                    "$recursiveAnchor": true,

                    "type": "object",
                    "properties": {
                        "node": true,
                        "branches": {
                            "$comment": "unevaluatedProperties comes first so it's more likely to bugs errors with implementations that are sensitive to keyword ordering",
                            "unevaluatedProperties": false,
                            "$recursiveRef": "#"
                        }
                    },
                    "required": ["node"]
                }
            }
        },
        "tests": [
            {
                "description": "with no unevaluated properties",
                "data": {
                    "name": "a",
                    "node": 1,
                    "branches": {
                      "name": "b",
                      "node": 2
                    }
                },
                "valid": true
            }/*,
            {
                "description": "with unevaluated properties",
                "data": {
                    "name": "a",
                    "node": 1,
                    "branches": {
                      "foo": "b",
                      "node": 2
                    }
                },
                "valid": false
            }*/
        ]
    }
]
