72 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			JSON
		
	
	
	
	
	
			
		
		
	
	
			72 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			JSON
		
	
	
	
	
	
[
 | 
						|
    {
 | 
						|
        "description": "simple enum validation",
 | 
						|
        "schema": {"enum": [1, 2, 3]},
 | 
						|
        "tests": [
 | 
						|
            {
 | 
						|
                "description": "one of the enum is valid",
 | 
						|
                "data": 1,
 | 
						|
                "valid": true
 | 
						|
            },
 | 
						|
            {
 | 
						|
                "description": "something else is invalid",
 | 
						|
                "data": 4,
 | 
						|
                "valid": false
 | 
						|
            }
 | 
						|
        ]
 | 
						|
    },
 | 
						|
    {
 | 
						|
        "description": "heterogeneous enum validation",
 | 
						|
        "schema": {"enum": [6, "foo", [], true, {"foo": 12}]},
 | 
						|
        "tests": [
 | 
						|
            {
 | 
						|
                "description": "one of the enum is valid",
 | 
						|
                "data": [],
 | 
						|
                "valid": true
 | 
						|
            },
 | 
						|
            {
 | 
						|
                "description": "something else is invalid",
 | 
						|
                "data": null,
 | 
						|
                "valid": false
 | 
						|
            },
 | 
						|
            {
 | 
						|
                "description": "objects are deep compared",
 | 
						|
                "data": {"foo": false},
 | 
						|
                "valid": false
 | 
						|
            }
 | 
						|
        ]
 | 
						|
    },
 | 
						|
    {
 | 
						|
        "description": "enums in properties",
 | 
						|
        "schema": {
 | 
						|
           "type":"object",
 | 
						|
		     "properties": {
 | 
						|
		        "foo": {"enum":["foo"]},
 | 
						|
		        "bar": {"enum":["bar"], "required":true}
 | 
						|
		     }
 | 
						|
		  },
 | 
						|
        "tests": [
 | 
						|
            {
 | 
						|
                "description": "both properties are valid",
 | 
						|
                "data": {"foo":"foo", "bar":"bar"},
 | 
						|
                "valid": true
 | 
						|
            },
 | 
						|
            {
 | 
						|
                "description": "missing optional property is valid",
 | 
						|
                "data": {"bar":"bar"},
 | 
						|
                "valid": true
 | 
						|
            },
 | 
						|
            {
 | 
						|
                "description": "missing required property is invalid",
 | 
						|
                "data": {"foo":"foo"},
 | 
						|
                "valid": false
 | 
						|
            },
 | 
						|
            {
 | 
						|
                "description": "missing all properties is invalid",
 | 
						|
                "data": {},
 | 
						|
                "valid": false
 | 
						|
            }
 | 
						|
        ]
 | 
						|
    }
 | 
						|
]
 |