Code
Explorer
You are a developer and looking for Shopware projects?
Apply Now!
setAddChildrenIfNoneSet example
if
(
$this
->default
)
{
if
(
!\
is_array
(
$this
->defaultValue
)
)
{
throw
new
\
InvalidArgumentException
(
sprintf
(
'%s: the default value of an array node has to be an array.',
$node
->
getPath
(
)
)
)
;
}
$node
->
setDefaultValue
(
$this
->defaultValue
)
;
}
if
(
false !==
$this
->addDefaultChildren
)
{
$node
->
setAddChildrenIfNoneSet
(
$this
->addDefaultChildren
)
;
if
(
$this
->prototype instanceof
static
&& !
isset
(
$this
->prototype->prototype
)
)
{
$this
->prototype->
addDefaultsIfNotSet
(
)
;
}
}
$this
->prototype->parent =
$node
;
$node
->
setPrototype
(
$this
->prototype->
getNode
(
)
)
;
}
$node
->
setAllowNewKeys
(
$this
->allowNewKeys
)
;
$node
->
addEquivalentValue
(
null,
$this
->nullEquivalent
)
;
$children
[
]
=
[
'id' => 'item_name', 'foo' => 'bar'
]
;
$normalized
=
$node
->
normalize
(
$children
)
;
$expected
=
[
]
;
$expected
[
'item_name'
]
=
[
'id' => 'item_name', 'foo' => 'bar'
]
;
$this
->
assertEquals
(
$expected
,
$normalized
)
;
}
public
function
testAddDefaultChildren
(
)
{
$node
=
$this
->
getPrototypeNodeWithDefaultChildren
(
)
;
$node
->
setAddChildrenIfNoneSet
(
)
;
$this
->
assertTrue
(
$node
->
hasDefaultValue
(
)
)
;
$this
->
assertEquals
(
[
[
'foo' => 'bar'
]
]
,
$node
->
getDefaultValue
(
)
)
;
$node
=
$this
->
getPrototypeNodeWithDefaultChildren
(
)
;
$node
->
setKeyAttribute
(
'foobar'
)
;
$node
->
setAddChildrenIfNoneSet
(
)
;
$this
->
assertTrue
(
$node
->
hasDefaultValue
(
)
)
;
$this
->
assertEquals
(
[
'defaults' =>
[
'foo' => 'bar'
]
]
,
$node
->
getDefaultValue
(
)
)
;
$node
=
$this
->
getPrototypeNodeWithDefaultChildren
(
)
;
$node
->
setKeyAttribute
(
'foobar'
)
;