function StaticDiscoveryDecoratorTest::testCall
Same name in other branches
- 8.9.x core/tests/Drupal/Tests/Component/Plugin/Discovery/StaticDiscoveryDecoratorTest.php \Drupal\Tests\Component\Plugin\Discovery\StaticDiscoveryDecoratorTest::testCall()
- 10 core/tests/Drupal/Tests/Component/Plugin/Discovery/StaticDiscoveryDecoratorTest.php \Drupal\Tests\Component\Plugin\Discovery\StaticDiscoveryDecoratorTest::testCall()
- 11.x core/tests/Drupal/Tests/Component/Plugin/Discovery/StaticDiscoveryDecoratorTest.php \Drupal\Tests\Component\Plugin\Discovery\StaticDiscoveryDecoratorTest::testCall()
@covers ::__call @dataProvider providerCall
File
-
core/
tests/ Drupal/ Tests/ Component/ Plugin/ Discovery/ StaticDiscoveryDecoratorTest.php, line 199
Class
- StaticDiscoveryDecoratorTest
- @group Plugin @coversDefaultClass \Drupal\Component\Plugin\Discovery\StaticDiscoveryDecorator
Namespace
Drupal\Tests\Component\Plugin\DiscoveryCode
public function testCall($method, $args) {
// Mock a decorated object.
$mock_decorated = $this->getMockBuilder('Drupal\\Component\\Plugin\\Discovery\\DiscoveryInterface')
->addMethods([
$method,
])
->getMockForAbstractClass();
// Our mocked method will return any arguments sent to it.
$mock_decorated->expects($this->once())
->method($method)
->willReturnCallback(function () {
return \func_get_args();
});
// Create a mock decorator.
$mock_decorator = $this->getMockBuilder('Drupal\\Component\\Plugin\\Discovery\\StaticDiscoveryDecorator')
->disableOriginalConstructor()
->getMock();
// Poke the decorated object into our decorator.
$ref_decorated = new \ReflectionProperty($mock_decorator, 'decorated');
$ref_decorated->setAccessible(TRUE);
$ref_decorated->setValue($mock_decorator, $mock_decorated);
// Exercise __call.
$this->assertEquals($args, \call_user_func_array([
$mock_decorated,
$method,
], $args));
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.