cuelang.org/go@v0.13.0/encoding/jsonschema/testdata/external/tests/draft2019-09/optional/dependencies-compatibility.json (about)

     1  [
     2  	{
     3  		"description": "single dependency",
     4  		"schema": {
     5  			"$schema": "https://json-schema.org/draft/2019-09/schema",
     6  			"dependencies": {
     7  				"bar": [
     8  					"foo"
     9  				]
    10  			}
    11  		},
    12  		"tests": [
    13  			{
    14  				"description": "neither",
    15  				"data": {},
    16  				"valid": true
    17  			},
    18  			{
    19  				"description": "nondependant",
    20  				"data": {
    21  					"foo": 1
    22  				},
    23  				"valid": true
    24  			},
    25  			{
    26  				"description": "with dependency",
    27  				"data": {
    28  					"foo": 1,
    29  					"bar": 2
    30  				},
    31  				"valid": true
    32  			},
    33  			{
    34  				"description": "missing dependency",
    35  				"data": {
    36  					"bar": 2
    37  				},
    38  				"valid": false,
    39  				"skip": {
    40  					"v2": "unexpected success",
    41  					"v3": "unexpected success"
    42  				}
    43  			},
    44  			{
    45  				"description": "ignores arrays",
    46  				"data": [
    47  					"bar"
    48  				],
    49  				"valid": true
    50  			},
    51  			{
    52  				"description": "ignores strings",
    53  				"data": "foobar",
    54  				"valid": true
    55  			},
    56  			{
    57  				"description": "ignores other non-objects",
    58  				"data": 12,
    59  				"valid": true
    60  			}
    61  		]
    62  	},
    63  	{
    64  		"description": "empty dependents",
    65  		"schema": {
    66  			"$schema": "https://json-schema.org/draft/2019-09/schema",
    67  			"dependencies": {
    68  				"bar": []
    69  			}
    70  		},
    71  		"tests": [
    72  			{
    73  				"description": "empty object",
    74  				"data": {},
    75  				"valid": true
    76  			},
    77  			{
    78  				"description": "object with one property",
    79  				"data": {
    80  					"bar": 2
    81  				},
    82  				"valid": true
    83  			},
    84  			{
    85  				"description": "non-object is valid",
    86  				"data": 1,
    87  				"valid": true
    88  			}
    89  		]
    90  	},
    91  	{
    92  		"description": "multiple dependents required",
    93  		"schema": {
    94  			"$schema": "https://json-schema.org/draft/2019-09/schema",
    95  			"dependencies": {
    96  				"quux": [
    97  					"foo",
    98  					"bar"
    99  				]
   100  			}
   101  		},
   102  		"tests": [
   103  			{
   104  				"description": "neither",
   105  				"data": {},
   106  				"valid": true
   107  			},
   108  			{
   109  				"description": "nondependants",
   110  				"data": {
   111  					"foo": 1,
   112  					"bar": 2
   113  				},
   114  				"valid": true
   115  			},
   116  			{
   117  				"description": "with dependencies",
   118  				"data": {
   119  					"foo": 1,
   120  					"bar": 2,
   121  					"quux": 3
   122  				},
   123  				"valid": true
   124  			},
   125  			{
   126  				"description": "missing dependency",
   127  				"data": {
   128  					"foo": 1,
   129  					"quux": 2
   130  				},
   131  				"valid": false,
   132  				"skip": {
   133  					"v2": "unexpected success",
   134  					"v3": "unexpected success"
   135  				}
   136  			},
   137  			{
   138  				"description": "missing other dependency",
   139  				"data": {
   140  					"bar": 1,
   141  					"quux": 2
   142  				},
   143  				"valid": false,
   144  				"skip": {
   145  					"v2": "unexpected success",
   146  					"v3": "unexpected success"
   147  				}
   148  			},
   149  			{
   150  				"description": "missing both dependencies",
   151  				"data": {
   152  					"quux": 1
   153  				},
   154  				"valid": false,
   155  				"skip": {
   156  					"v2": "unexpected success",
   157  					"v3": "unexpected success"
   158  				}
   159  			}
   160  		]
   161  	},
   162  	{
   163  		"description": "dependencies with escaped characters",
   164  		"schema": {
   165  			"$schema": "https://json-schema.org/draft/2019-09/schema",
   166  			"dependencies": {
   167  				"foo\nbar": [
   168  					"foo\rbar"
   169  				],
   170  				"foo\"bar": [
   171  					"foo'bar"
   172  				]
   173  			}
   174  		},
   175  		"tests": [
   176  			{
   177  				"description": "CRLF",
   178  				"data": {
   179  					"foo\nbar": 1,
   180  					"foo\rbar": 2
   181  				},
   182  				"valid": true
   183  			},
   184  			{
   185  				"description": "quoted quotes",
   186  				"data": {
   187  					"foo'bar": 1,
   188  					"foo\"bar": 2
   189  				},
   190  				"valid": true
   191  			},
   192  			{
   193  				"description": "CRLF missing dependent",
   194  				"data": {
   195  					"foo\nbar": 1,
   196  					"foo": 2
   197  				},
   198  				"valid": false,
   199  				"skip": {
   200  					"v2": "unexpected success",
   201  					"v3": "unexpected success"
   202  				}
   203  			},
   204  			{
   205  				"description": "quoted quotes missing dependent",
   206  				"data": {
   207  					"foo\"bar": 2
   208  				},
   209  				"valid": false,
   210  				"skip": {
   211  					"v2": "unexpected success",
   212  					"v3": "unexpected success"
   213  				}
   214  			}
   215  		]
   216  	},
   217  	{
   218  		"description": "single schema dependency",
   219  		"schema": {
   220  			"$schema": "https://json-schema.org/draft/2019-09/schema",
   221  			"dependencies": {
   222  				"bar": {
   223  					"properties": {
   224  						"foo": {
   225  							"type": "integer"
   226  						},
   227  						"bar": {
   228  							"type": "integer"
   229  						}
   230  					}
   231  				}
   232  			}
   233  		},
   234  		"tests": [
   235  			{
   236  				"description": "valid",
   237  				"data": {
   238  					"foo": 1,
   239  					"bar": 2
   240  				},
   241  				"valid": true
   242  			},
   243  			{
   244  				"description": "no dependency",
   245  				"data": {
   246  					"foo": "quux"
   247  				},
   248  				"valid": true
   249  			},
   250  			{
   251  				"description": "wrong type",
   252  				"data": {
   253  					"foo": "quux",
   254  					"bar": 2
   255  				},
   256  				"valid": false,
   257  				"skip": {
   258  					"v2": "unexpected success",
   259  					"v3": "unexpected success"
   260  				}
   261  			},
   262  			{
   263  				"description": "wrong type other",
   264  				"data": {
   265  					"foo": 2,
   266  					"bar": "quux"
   267  				},
   268  				"valid": false,
   269  				"skip": {
   270  					"v2": "unexpected success",
   271  					"v3": "unexpected success"
   272  				}
   273  			},
   274  			{
   275  				"description": "wrong type both",
   276  				"data": {
   277  					"foo": "quux",
   278  					"bar": "quux"
   279  				},
   280  				"valid": false,
   281  				"skip": {
   282  					"v2": "unexpected success",
   283  					"v3": "unexpected success"
   284  				}
   285  			},
   286  			{
   287  				"description": "ignores arrays",
   288  				"data": [
   289  					"bar"
   290  				],
   291  				"valid": true
   292  			},
   293  			{
   294  				"description": "ignores strings",
   295  				"data": "foobar",
   296  				"valid": true
   297  			},
   298  			{
   299  				"description": "ignores other non-objects",
   300  				"data": 12,
   301  				"valid": true
   302  			}
   303  		]
   304  	},
   305  	{
   306  		"description": "boolean subschemas",
   307  		"schema": {
   308  			"$schema": "https://json-schema.org/draft/2019-09/schema",
   309  			"dependencies": {
   310  				"foo": true,
   311  				"bar": false
   312  			}
   313  		},
   314  		"tests": [
   315  			{
   316  				"description": "object with property having schema true is valid",
   317  				"data": {
   318  					"foo": 1
   319  				},
   320  				"valid": true
   321  			},
   322  			{
   323  				"description": "object with property having schema false is invalid",
   324  				"data": {
   325  					"bar": 2
   326  				},
   327  				"valid": false,
   328  				"skip": {
   329  					"v2": "unexpected success",
   330  					"v3": "unexpected success"
   331  				}
   332  			},
   333  			{
   334  				"description": "object with both properties is invalid",
   335  				"data": {
   336  					"foo": 1,
   337  					"bar": 2
   338  				},
   339  				"valid": false,
   340  				"skip": {
   341  					"v2": "unexpected success",
   342  					"v3": "unexpected success"
   343  				}
   344  			},
   345  			{
   346  				"description": "empty object is valid",
   347  				"data": {},
   348  				"valid": true
   349  			}
   350  		]
   351  	},
   352  	{
   353  		"description": "schema dependencies with escaped characters",
   354  		"schema": {
   355  			"$schema": "https://json-schema.org/draft/2019-09/schema",
   356  			"dependencies": {
   357  				"foo\tbar": {
   358  					"minProperties": 4
   359  				},
   360  				"foo'bar": {
   361  					"required": [
   362  						"foo\"bar"
   363  					]
   364  				}
   365  			}
   366  		},
   367  		"tests": [
   368  			{
   369  				"description": "quoted tab",
   370  				"data": {
   371  					"foo\tbar": 1,
   372  					"a": 2,
   373  					"b": 3,
   374  					"c": 4
   375  				},
   376  				"valid": true
   377  			},
   378  			{
   379  				"description": "quoted quote",
   380  				"data": {
   381  					"foo'bar": {
   382  						"foo\"bar": 1
   383  					}
   384  				},
   385  				"valid": false,
   386  				"skip": {
   387  					"v2": "unexpected success",
   388  					"v3": "unexpected success"
   389  				}
   390  			},
   391  			{
   392  				"description": "quoted tab invalid under dependent schema",
   393  				"data": {
   394  					"foo\tbar": 1,
   395  					"a": 2
   396  				},
   397  				"valid": false,
   398  				"skip": {
   399  					"v2": "unexpected success",
   400  					"v3": "unexpected success"
   401  				}
   402  			},
   403  			{
   404  				"description": "quoted quote invalid under dependent schema",
   405  				"data": {
   406  					"foo'bar": 1
   407  				},
   408  				"valid": false,
   409  				"skip": {
   410  					"v2": "unexpected success",
   411  					"v3": "unexpected success"
   412  				}
   413  			}
   414  		]
   415  	}
   416  ]