cuelang.org/go@v0.13.0/encoding/jsonschema/testdata/external/tests/draft4/dependencies.json (about)

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