Code
Explorer
You are a developer and looking for Shopware projects?
Apply Now!
setDataLocked example
$form
=
$this
->
getBuilder
(
)
->
setCompound
(
true
)
->
setDataMapper
(
$mapper
)
->
addViewTransformer
(
new
FixedDataTransformer
(
[
'' => '',
'foo' =>
$viewData
,
]
)
)
->
getForm
(
)
;
$form
->
add
(
$child1
=
$this
->
getBuilder
(
'firstName'
)
->
getForm
(
)
)
;
$form
->
add
(
$child2
=
$this
->
getBuilder
(
'lastName'
)
->
setData
(
'Potencier'
)
->
setDataLocked
(
true
)
->
getForm
(
)
)
;
$form
->
setData
(
'foo'
)
;
$this
->
assertSame
(
'Fabien',
$form
->
get
(
'firstName'
)
->
getData
(
)
)
;
$this
->
assertSame
(
'Potencier',
$form
->
get
(
'lastName'
)
->
getData
(
)
)
;
}
public
function
testSubmitSupportsDynamicAdditionAndRemovalOfChildren
(
)
{
$form
=
$this
->form;
$builder
->
setRequired
(
$options
[
'required'
]
)
->
setErrorBubbling
(
$options
[
'error_bubbling'
]
)
->
setEmptyData
(
$options
[
'empty_data'
]
)
->
setPropertyPath
(
$options
[
'property_path'
]
)
->
setMapped
(
$options
[
'mapped'
]
)
->
setByReference
(
$options
[
'by_reference'
]
)
->
setInheritData
(
$options
[
'inherit_data'
]
)
->
setCompound
(
$options
[
'compound'
]
)
->
setData
(
$isDataOptionSet
?
$options
[
'data'
]
: null
)
->
setDataLocked
(
$isDataOptionSet
)
->
setDataMapper
(
$options
[
'compound'
]
?
$this
->dataMapper : null
)
->
setMethod
(
$options
[
'method'
]
)
->
setAction
(
$options
[
'action'
]
)
;
if
(
$options
[
'trim'
]
)
{
$builder
->
addEventSubscriber
(
new
TrimListener
(
)
)
;
}
$builder
->
setIsEmptyCallback
(
$options
[
'is_empty_callback'
]
)
;
}
$form
->
setData
(
null
)
;
$this
->
assertNull
(
$form
->
getData
(
)
)
;
$this
->
assertNull
(
$form
->
getNormData
(
)
)
;
$this
->
assertSame
(
'',
$form
->
getViewData
(
)
)
;
}
public
function
testSetDataIsIgnoredIfDataIsLocked
(
)
{
$form
=
$this
->
getBuilder
(
)
->
setData
(
'default'
)
->
setDataLocked
(
true
)
->
getForm
(
)
;
$form
->
setData
(
'foobar'
)
;
$this
->
assertSame
(
'default',
$form
->
getData
(
)
)
;
}
public
function
testPreSetDataChangesDataIfDataIsLocked
(
)
{
$config
=
new
FormConfigBuilder
(
'name', null,
new
EventDispatcher
(
)
)
;
$config