$mock_decorator =
$this->
getMockBuilder('Drupal\Component\Plugin\Discovery\StaticDiscoveryDecorator'
) ->
disableOriginalConstructor() ->
addMethods(['registeredDefinitionCallback'
]) ->
getMock();
// Set up the ::$registerDefinitions property.
$ref_register_definitions =
new \
ReflectionProperty($mock_decorator, 'registerDefinitions'
);
if ($has_register_definitions) { // Set the callback object on the mocked decorator.
$ref_register_definitions->
setValue( $mock_decorator,
[$this->
getRegisterDefinitionsCallback(), 'registerDefinitionsCallback'
] );
} else { // There should be no registerDefinitions callback.
$ref_register_definitions->
setValue($mock_decorator, NULL
);
} // Set up ::$definitions to an empty array.
$ref_definitions =
new \
ReflectionProperty($mock_decorator, 'definitions'
);
$ref_definitions->
setValue($mock_decorator,
[]);