[
{
"description"
:
"additionalProperties being false does not allow other properties"
,
"schema"
: {
"properties"
: {
"foo"
: {},
"bar"
: {}},
"patternProperties"
: {
"^v"
: {} },
"additionalProperties"
:
false
},
"tests"
: [
{
"description"
:
"no additional properties is valid"
,
"data"
: {
"foo"
: 1},
"valid"
:
true
},
{
"description"
:
"an additional property is invalid"
,
"data"
: {
"foo"
: 1,
"bar"
: 2,
"quux"
:
"boom"
},
"valid"
:
false
},
{
"description"
:
"ignores non-objects"
,
"data"
: [1, 2, 3],
"valid"
:
true
},
{
"description"
:
"patternProperties are not additional properties"
,
"data"
: {
"foo"
:1,
"vroom"
: 2},
"valid"
:
true
}
]
},
{
"description"
:
"additionalProperties allows a schema which should validate"
,
"schema"
: {
"properties"
: {
"foo"
: {},
"bar"
: {}},
"additionalProperties"
: {
"type"
:
"boolean"
}
},
"tests"
: [
{
"description"
:
"no additional properties is valid"
,
"data"
: {
"foo"
: 1},
"valid"
:
true
},
{
"description"
:
"an additional valid property is valid"
,
"data"
: {
"foo"
: 1,
"bar"
: 2,
"quux"
:
true
},
"valid"
:
true
},
{
"description"
:
"an additional invalid property is invalid"
,
"data"
: {
"foo"
: 1,
"bar"
: 2,
"quux"
: 12},
"valid"
:
false
}
]
},
{
"description"
:
"additionalProperties are allowed by default"
,
"schema"
: {
"properties"
: {
"foo"
: {},
"bar"
: {}}},
"tests"
: [
{
"description"
:
"additional properties are allowed"
,
"data"
: {
"foo"
: 1,
"bar"
: 2,
"quux"
:
true
},
"valid"
:
true
}
]
}
]