[
{
"description"
:
"extends"
,
"schema"
: {
"properties"
: {
"bar"
: {
"type"
:
"integer"
,
"required"
:
true
}},
"extends"
: {
"properties"
: {
"foo"
: {
"type"
:
"string"
,
"required"
:
true
}
}
}
},
"tests"
: [
{
"description"
:
"extends"
,
"data"
: {
"foo"
:
"baz"
,
"bar"
: 2},
"valid"
:
true
},
{
"description"
:
"mismatch extends"
,
"data"
: {
"foo"
:
"baz"
},
"valid"
:
false
},
{
"description"
:
"mismatch extended"
,
"data"
: {
"bar"
: 2},
"valid"
:
false
},
{
"description"
:
"wrong type"
,
"data"
: {
"foo"
:
"baz"
,
"bar"
:
"quux"
},
"valid"
:
false
}
]
},
{
"description"
:
"multiple extends"
,
"schema"
: {
"properties"
: {
"bar"
: {
"type"
:
"integer"
,
"required"
:
true
}},
"extends"
: [
{
"properties"
: {
"foo"
: {
"type"
:
"string"
,
"required"
:
true
}
}
},
{
"properties"
: {
"baz"
: {
"type"
:
"null"
,
"required"
:
true
}
}
}
]
},
"tests"
: [
{
"description"
:
"valid"
,
"data"
: {
"foo"
:
"quux"
,
"bar"
: 2,
"baz"
:
null
},
"valid"
:
true
},
{
"description"
:
"mismatch first extends"
,
"data"
: {
"bar"
: 2,
"baz"
:
null
},
"valid"
:
false
},
{
"description"
:
"mismatch second extends"
,
"data"
: {
"foo"
:
"quux"
,
"bar"
: 2},
"valid"
:
false
},
{
"description"
:
"mismatch both"
,
"data"
: {
"bar"
: 2},
"valid"
:
false
}
]
},
{
"description"
:
"extends simple types"
,
"schema"
: {
"minimum"
: 20,
"extends"
: {
"maximum"
: 30}
},
"tests"
: [
{
"description"
:
"valid"
,
"data"
: 25,
"valid"
:
true
},
{
"description"
:
"mismatch extends"
,
"data"
: 35,
"valid"
:
false
}
]
}
]