cuelang.org/go@v0.13.0/encoding/jsonschema/testdata/external/tests/draft6/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": "dependencies with empty array",
    64  		"schema": {
    65  			"dependencies": {
    66  				"bar": []
    67  			}
    68  		},
    69  		"tests": [
    70  			{
    71  				"description": "empty object",
    72  				"data": {},
    73  				"valid": true
    74  			},
    75  			{
    76  				"description": "object with one property",
    77  				"data": {
    78  					"bar": 2
    79  				},
    80  				"valid": true
    81  			},
    82  			{
    83  				"description": "non-object is valid",
    84  				"data": 1,
    85  				"valid": true
    86  			}
    87  		]
    88  	},
    89  	{
    90  		"description": "multiple dependencies",
    91  		"schema": {
    92  			"dependencies": {
    93  				"quux": [
    94  					"foo",
    95  					"bar"
    96  				]
    97  			}
    98  		},
    99  		"tests": [
   100  			{
   101  				"description": "neither",
   102  				"data": {},
   103  				"valid": true
   104  			},
   105  			{
   106  				"description": "nondependants",
   107  				"data": {
   108  					"foo": 1,
   109  					"bar": 2
   110  				},
   111  				"valid": true
   112  			},
   113  			{
   114  				"description": "with dependencies",
   115  				"data": {
   116  					"foo": 1,
   117  					"bar": 2,
   118  					"quux": 3
   119  				},
   120  				"valid": true
   121  			},
   122  			{
   123  				"description": "missing dependency",
   124  				"data": {
   125  					"foo": 1,
   126  					"quux": 2
   127  				},
   128  				"valid": false,
   129  				"skip": {
   130  					"v2": "unexpected success",
   131  					"v3": "unexpected success"
   132  				}
   133  			},
   134  			{
   135  				"description": "missing other dependency",
   136  				"data": {
   137  					"bar": 1,
   138  					"quux": 2
   139  				},
   140  				"valid": false,
   141  				"skip": {
   142  					"v2": "unexpected success",
   143  					"v3": "unexpected success"
   144  				}
   145  			},
   146  			{
   147  				"description": "missing both dependencies",
   148  				"data": {
   149  					"quux": 1
   150  				},
   151  				"valid": false,
   152  				"skip": {
   153  					"v2": "unexpected success",
   154  					"v3": "unexpected success"
   155  				}
   156  			}
   157  		]
   158  	},
   159  	{
   160  		"description": "multiple dependencies subschema",
   161  		"schema": {
   162  			"dependencies": {
   163  				"bar": {
   164  					"properties": {
   165  						"foo": {
   166  							"type": "integer"
   167  						},
   168  						"bar": {
   169  							"type": "integer"
   170  						}
   171  					}
   172  				}
   173  			}
   174  		},
   175  		"tests": [
   176  			{
   177  				"description": "valid",
   178  				"data": {
   179  					"foo": 1,
   180  					"bar": 2
   181  				},
   182  				"valid": true
   183  			},
   184  			{
   185  				"description": "no dependency",
   186  				"data": {
   187  					"foo": "quux"
   188  				},
   189  				"valid": true
   190  			},
   191  			{
   192  				"description": "wrong type",
   193  				"data": {
   194  					"foo": "quux",
   195  					"bar": 2
   196  				},
   197  				"valid": false,
   198  				"skip": {
   199  					"v2": "unexpected success",
   200  					"v3": "unexpected success"
   201  				}
   202  			},
   203  			{
   204  				"description": "wrong type other",
   205  				"data": {
   206  					"foo": 2,
   207  					"bar": "quux"
   208  				},
   209  				"valid": false,
   210  				"skip": {
   211  					"v2": "unexpected success",
   212  					"v3": "unexpected success"
   213  				}
   214  			},
   215  			{
   216  				"description": "wrong type both",
   217  				"data": {
   218  					"foo": "quux",
   219  					"bar": "quux"
   220  				},
   221  				"valid": false,
   222  				"skip": {
   223  					"v2": "unexpected success",
   224  					"v3": "unexpected success"
   225  				}
   226  			}
   227  		]
   228  	},
   229  	{
   230  		"description": "dependencies with boolean subschemas",
   231  		"schema": {
   232  			"dependencies": {
   233  				"foo": true,
   234  				"bar": false
   235  			}
   236  		},
   237  		"tests": [
   238  			{
   239  				"description": "object with property having schema true is valid",
   240  				"data": {
   241  					"foo": 1
   242  				},
   243  				"valid": true
   244  			},
   245  			{
   246  				"description": "object with property having schema false is invalid",
   247  				"data": {
   248  					"bar": 2
   249  				},
   250  				"valid": false,
   251  				"skip": {
   252  					"v2": "unexpected success",
   253  					"v3": "unexpected success"
   254  				}
   255  			},
   256  			{
   257  				"description": "object with both properties is invalid",
   258  				"data": {
   259  					"foo": 1,
   260  					"bar": 2
   261  				},
   262  				"valid": false,
   263  				"skip": {
   264  					"v2": "unexpected success",
   265  					"v3": "unexpected success"
   266  				}
   267  			},
   268  			{
   269  				"description": "empty object is valid",
   270  				"data": {},
   271  				"valid": true
   272  			}
   273  		]
   274  	},
   275  	{
   276  		"description": "dependencies with escaped characters",
   277  		"schema": {
   278  			"dependencies": {
   279  				"foo\nbar": [
   280  					"foo\rbar"
   281  				],
   282  				"foo\tbar": {
   283  					"minProperties": 4
   284  				},
   285  				"foo'bar": {
   286  					"required": [
   287  						"foo\"bar"
   288  					]
   289  				},
   290  				"foo\"bar": [
   291  					"foo'bar"
   292  				]
   293  			}
   294  		},
   295  		"tests": [
   296  			{
   297  				"description": "valid object 1",
   298  				"data": {
   299  					"foo\nbar": 1,
   300  					"foo\rbar": 2
   301  				},
   302  				"valid": true
   303  			},
   304  			{
   305  				"description": "valid object 2",
   306  				"data": {
   307  					"foo\tbar": 1,
   308  					"a": 2,
   309  					"b": 3,
   310  					"c": 4
   311  				},
   312  				"valid": true
   313  			},
   314  			{
   315  				"description": "valid object 3",
   316  				"data": {
   317  					"foo'bar": 1,
   318  					"foo\"bar": 2
   319  				},
   320  				"valid": true
   321  			},
   322  			{
   323  				"description": "invalid object 1",
   324  				"data": {
   325  					"foo\nbar": 1,
   326  					"foo": 2
   327  				},
   328  				"valid": false,
   329  				"skip": {
   330  					"v2": "unexpected success",
   331  					"v3": "unexpected success"
   332  				}
   333  			},
   334  			{
   335  				"description": "invalid object 2",
   336  				"data": {
   337  					"foo\tbar": 1,
   338  					"a": 2
   339  				},
   340  				"valid": false,
   341  				"skip": {
   342  					"v2": "unexpected success",
   343  					"v3": "unexpected success"
   344  				}
   345  			},
   346  			{
   347  				"description": "invalid object 3",
   348  				"data": {
   349  					"foo'bar": 1
   350  				},
   351  				"valid": false,
   352  				"skip": {
   353  					"v2": "unexpected success",
   354  					"v3": "unexpected success"
   355  				}
   356  			},
   357  			{
   358  				"description": "invalid object 4",
   359  				"data": {
   360  					"foo\"bar": 2
   361  				},
   362  				"valid": false,
   363  				"skip": {
   364  					"v2": "unexpected success",
   365  					"v3": "unexpected success"
   366  				}
   367  			}
   368  		]
   369  	},
   370  	{
   371  		"description": "dependent subschema incompatible with root",
   372  		"schema": {
   373  			"properties": {
   374  				"foo": {}
   375  			},
   376  			"dependencies": {
   377  				"foo": {
   378  					"properties": {
   379  						"bar": {}
   380  					},
   381  					"additionalProperties": false
   382  				}
   383  			}
   384  		},
   385  		"tests": [
   386  			{
   387  				"description": "matches root",
   388  				"data": {
   389  					"foo": 1
   390  				},
   391  				"valid": false,
   392  				"skip": {
   393  					"v2": "unexpected success",
   394  					"v3": "unexpected success"
   395  				}
   396  			},
   397  			{
   398  				"description": "matches dependency",
   399  				"data": {
   400  					"bar": 1
   401  				},
   402  				"valid": true
   403  			},
   404  			{
   405  				"description": "matches both",
   406  				"data": {
   407  					"foo": 1,
   408  					"bar": 2
   409  				},
   410  				"valid": false,
   411  				"skip": {
   412  					"v2": "unexpected success",
   413  					"v3": "unexpected success"
   414  				}
   415  			},
   416  			{
   417  				"description": "no dependency",
   418  				"data": {
   419  					"baz": 1
   420  				},
   421  				"valid": true
   422  			}
   423  		]
   424  	}
   425  ]