cuelang.org/go@v0.13.0/encoding/jsonschema/testdata/external/tests/draft2020-12/dependentSchemas.json (about)

     1  [
     2  	{
     3  		"description": "single dependency",
     4  		"schema": {
     5  			"$schema": "https://json-schema.org/draft/2020-12/schema",
     6  			"dependentSchemas": {
     7  				"bar": {
     8  					"properties": {
     9  						"foo": {
    10  							"type": "integer"
    11  						},
    12  						"bar": {
    13  							"type": "integer"
    14  						}
    15  					}
    16  				}
    17  			}
    18  		},
    19  		"skip": {
    20  			"v2": "extract error: keyword \"dependentSchemas\" not yet implemented",
    21  			"v3": "extract error: keyword \"dependentSchemas\" not yet implemented"
    22  		},
    23  		"tests": [
    24  			{
    25  				"description": "valid",
    26  				"data": {
    27  					"foo": 1,
    28  					"bar": 2
    29  				},
    30  				"valid": true,
    31  				"skip": {
    32  					"v2": "could not compile schema",
    33  					"v3": "could not compile schema"
    34  				}
    35  			},
    36  			{
    37  				"description": "no dependency",
    38  				"data": {
    39  					"foo": "quux"
    40  				},
    41  				"valid": true,
    42  				"skip": {
    43  					"v2": "could not compile schema",
    44  					"v3": "could not compile schema"
    45  				}
    46  			},
    47  			{
    48  				"description": "wrong type",
    49  				"data": {
    50  					"foo": "quux",
    51  					"bar": 2
    52  				},
    53  				"valid": false,
    54  				"skip": {
    55  					"v2": "could not compile schema",
    56  					"v3": "could not compile schema"
    57  				}
    58  			},
    59  			{
    60  				"description": "wrong type other",
    61  				"data": {
    62  					"foo": 2,
    63  					"bar": "quux"
    64  				},
    65  				"valid": false,
    66  				"skip": {
    67  					"v2": "could not compile schema",
    68  					"v3": "could not compile schema"
    69  				}
    70  			},
    71  			{
    72  				"description": "wrong type both",
    73  				"data": {
    74  					"foo": "quux",
    75  					"bar": "quux"
    76  				},
    77  				"valid": false,
    78  				"skip": {
    79  					"v2": "could not compile schema",
    80  					"v3": "could not compile schema"
    81  				}
    82  			},
    83  			{
    84  				"description": "ignores arrays",
    85  				"data": [
    86  					"bar"
    87  				],
    88  				"valid": true,
    89  				"skip": {
    90  					"v2": "could not compile schema",
    91  					"v3": "could not compile schema"
    92  				}
    93  			},
    94  			{
    95  				"description": "ignores strings",
    96  				"data": "foobar",
    97  				"valid": true,
    98  				"skip": {
    99  					"v2": "could not compile schema",
   100  					"v3": "could not compile schema"
   101  				}
   102  			},
   103  			{
   104  				"description": "ignores other non-objects",
   105  				"data": 12,
   106  				"valid": true,
   107  				"skip": {
   108  					"v2": "could not compile schema",
   109  					"v3": "could not compile schema"
   110  				}
   111  			}
   112  		]
   113  	},
   114  	{
   115  		"description": "boolean subschemas",
   116  		"schema": {
   117  			"$schema": "https://json-schema.org/draft/2020-12/schema",
   118  			"dependentSchemas": {
   119  				"foo": true,
   120  				"bar": false
   121  			}
   122  		},
   123  		"skip": {
   124  			"v2": "extract error: keyword \"dependentSchemas\" not yet implemented",
   125  			"v3": "extract error: keyword \"dependentSchemas\" not yet implemented"
   126  		},
   127  		"tests": [
   128  			{
   129  				"description": "object with property having schema true is valid",
   130  				"data": {
   131  					"foo": 1
   132  				},
   133  				"valid": true,
   134  				"skip": {
   135  					"v2": "could not compile schema",
   136  					"v3": "could not compile schema"
   137  				}
   138  			},
   139  			{
   140  				"description": "object with property having schema false is invalid",
   141  				"data": {
   142  					"bar": 2
   143  				},
   144  				"valid": false,
   145  				"skip": {
   146  					"v2": "could not compile schema",
   147  					"v3": "could not compile schema"
   148  				}
   149  			},
   150  			{
   151  				"description": "object with both properties is invalid",
   152  				"data": {
   153  					"foo": 1,
   154  					"bar": 2
   155  				},
   156  				"valid": false,
   157  				"skip": {
   158  					"v2": "could not compile schema",
   159  					"v3": "could not compile schema"
   160  				}
   161  			},
   162  			{
   163  				"description": "empty object is valid",
   164  				"data": {},
   165  				"valid": true,
   166  				"skip": {
   167  					"v2": "could not compile schema",
   168  					"v3": "could not compile schema"
   169  				}
   170  			}
   171  		]
   172  	},
   173  	{
   174  		"description": "dependencies with escaped characters",
   175  		"schema": {
   176  			"$schema": "https://json-schema.org/draft/2020-12/schema",
   177  			"dependentSchemas": {
   178  				"foo\tbar": {
   179  					"minProperties": 4
   180  				},
   181  				"foo'bar": {
   182  					"required": [
   183  						"foo\"bar"
   184  					]
   185  				}
   186  			}
   187  		},
   188  		"skip": {
   189  			"v2": "extract error: keyword \"dependentSchemas\" not yet implemented",
   190  			"v3": "extract error: keyword \"dependentSchemas\" not yet implemented"
   191  		},
   192  		"tests": [
   193  			{
   194  				"description": "quoted tab",
   195  				"data": {
   196  					"foo\tbar": 1,
   197  					"a": 2,
   198  					"b": 3,
   199  					"c": 4
   200  				},
   201  				"valid": true,
   202  				"skip": {
   203  					"v2": "could not compile schema",
   204  					"v3": "could not compile schema"
   205  				}
   206  			},
   207  			{
   208  				"description": "quoted quote",
   209  				"data": {
   210  					"foo'bar": {
   211  						"foo\"bar": 1
   212  					}
   213  				},
   214  				"valid": false,
   215  				"skip": {
   216  					"v2": "could not compile schema",
   217  					"v3": "could not compile schema"
   218  				}
   219  			},
   220  			{
   221  				"description": "quoted tab invalid under dependent schema",
   222  				"data": {
   223  					"foo\tbar": 1,
   224  					"a": 2
   225  				},
   226  				"valid": false,
   227  				"skip": {
   228  					"v2": "could not compile schema",
   229  					"v3": "could not compile schema"
   230  				}
   231  			},
   232  			{
   233  				"description": "quoted quote invalid under dependent schema",
   234  				"data": {
   235  					"foo'bar": 1
   236  				},
   237  				"valid": false,
   238  				"skip": {
   239  					"v2": "could not compile schema",
   240  					"v3": "could not compile schema"
   241  				}
   242  			}
   243  		]
   244  	},
   245  	{
   246  		"description": "dependent subschema incompatible with root",
   247  		"schema": {
   248  			"$schema": "https://json-schema.org/draft/2020-12/schema",
   249  			"properties": {
   250  				"foo": {}
   251  			},
   252  			"dependentSchemas": {
   253  				"foo": {
   254  					"properties": {
   255  						"bar": {}
   256  					},
   257  					"additionalProperties": false
   258  				}
   259  			}
   260  		},
   261  		"skip": {
   262  			"v2": "extract error: keyword \"dependentSchemas\" not yet implemented",
   263  			"v3": "extract error: keyword \"dependentSchemas\" not yet implemented"
   264  		},
   265  		"tests": [
   266  			{
   267  				"description": "matches root",
   268  				"data": {
   269  					"foo": 1
   270  				},
   271  				"valid": false,
   272  				"skip": {
   273  					"v2": "could not compile schema",
   274  					"v3": "could not compile schema"
   275  				}
   276  			},
   277  			{
   278  				"description": "matches dependency",
   279  				"data": {
   280  					"bar": 1
   281  				},
   282  				"valid": true,
   283  				"skip": {
   284  					"v2": "could not compile schema",
   285  					"v3": "could not compile schema"
   286  				}
   287  			},
   288  			{
   289  				"description": "matches both",
   290  				"data": {
   291  					"foo": 1,
   292  					"bar": 2
   293  				},
   294  				"valid": false,
   295  				"skip": {
   296  					"v2": "could not compile schema",
   297  					"v3": "could not compile schema"
   298  				}
   299  			},
   300  			{
   301  				"description": "no dependency",
   302  				"data": {
   303  					"baz": 1
   304  				},
   305  				"valid": true,
   306  				"skip": {
   307  					"v2": "could not compile schema",
   308  					"v3": "could not compile schema"
   309  				}
   310  			}
   311  		]
   312  	}
   313  ]