Code
Explorer
You are a developer and looking for Shopware projects?
Apply Now!
getDenormalizationContext example
$this
->
expectExceptionMessage
(
sprintf
(
'Parameter "groups" of annotation "%s" must be a string or an array of strings. Got "stdClass"', Context::
class
)
)
;
new
Context
(
context:
[
'foo' => 'bar'
]
, groups:
[
'fine',
new
\
stdClass
(
)
]
)
;
}
public
function
testAsFirstArg
(
)
{
$context
=
new
Context
(
[
'foo' => 'bar'
]
)
;
self::
assertSame
(
[
'foo' => 'bar'
]
,
$context
->
getContext
(
)
)
;
self::
assertEmpty
(
$context
->
getNormalizationContext
(
)
)
;
self::
assertEmpty
(
$context
->
getDenormalizationContext
(
)
)
;
self::
assertEmpty
(
$context
->
getGroups
(
)
)
;
}
public
function
testAsContextArg
(
)
{
$context
=
new
Context
(
context:
[
'foo' => 'bar'
]
)
;
self::
assertSame
(
[
'foo' => 'bar'
]
,
$context
->
getContext
(
)
)
;
self::
assertEmpty
(
$context
->
getNormalizationContext
(
)
)
;
self::
assertEmpty
(
$context
->
getDenormalizationContext
(
)
)
;
self::
assertEmpty
(
$context
->
getGroups
(
)
)
;
}
private
function
setAttributeContextsForGroups
(
Context
$annotation
, AttributeMetadataInterface
$attributeMetadata
)
: void
{
if
(
$annotation
->
getContext
(
)
)
{
$attributeMetadata
->
setNormalizationContextForGroups
(
$annotation
->
getContext
(
)
,
$annotation
->
getGroups
(
)
)
;
$attributeMetadata
->
setDenormalizationContextForGroups
(
$annotation
->
getContext
(
)
,
$annotation
->
getGroups
(
)
)
;
}
if
(
$annotation
->
getNormalizationContext
(
)
)
{
$attributeMetadata
->
setNormalizationContextForGroups
(
$annotation
->
getNormalizationContext
(
)
,
$annotation
->
getGroups
(
)
)
;
}
if
(
$annotation
->
getDenormalizationContext
(
)
)
{
$attributeMetadata
->
setDenormalizationContextForGroups
(
$annotation
->
getDenormalizationContext
(
)
,
$annotation
->
getGroups
(
)
)
;
}
}
private
function
isKnownAttribute
(
string
$attributeName
)
: bool
{
foreach
(
self::KNOWN_ANNOTATIONS
as
$knownAnnotation
)
{
if
(
is_a
(
$attributeName
,
$knownAnnotation
, true
)
)
{
return
true;
}
}
private
function
setAttributeContextsForGroups
(
Context
$annotation
, AttributeMetadataInterface
$attributeMetadata
)
: void
{
if
(
$annotation
->
getContext
(
)
)
{
$attributeMetadata
->
setNormalizationContextForGroups
(
$annotation
->
getContext
(
)
,
$annotation
->
getGroups
(
)
)
;
$attributeMetadata
->
setDenormalizationContextForGroups
(
$annotation
->
getContext
(
)
,
$annotation
->
getGroups
(
)
)
;
}
if
(
$annotation
->
getNormalizationContext
(
)
)
{
$attributeMetadata
->
setNormalizationContextForGroups
(
$annotation
->
getNormalizationContext
(
)
,
$annotation
->
getGroups
(
)
)
;
}
if
(
$annotation
->
getDenormalizationContext
(
)
)
{
$attributeMetadata
->
setDenormalizationContextForGroups
(
$annotation
->
getDenormalizationContext
(
)
,
$annotation
->
getGroups
(
)
)
;
}
}
private
function
isKnownAttribute
(
string
$attributeName
)
: bool
{
foreach
(
self::KNOWN_ANNOTATIONS
as
$knownAnnotation
)
{
if
(
is_a
(
$attributeName
,
$knownAnnotation
, true
)
)
{
return
true;
}
}