public function PluginLabelTest::testViewElements in Plugin 8.2
@covers ::viewElements
File
- tests/
src/ Unit/ Plugin/ Field/ FieldFormatter/ PluginLabelTest.php, line 48
Class
- PluginLabelTest
- @coversDefaultClass \Drupal\plugin\Plugin\Field\FieldFormatter\PluginLabel
Namespace
Drupal\Tests\plugin\Unit\Plugin\Field\FieldFormatterCode
public function testViewElements() {
$plugin_definition_label_a = $this
->randomMachineName();
$plugin_definition_a = $this
->createMock(PluginLabelDefinitionInterface::class);
$plugin_definition_a
->expects($this
->atLeastOnce())
->method('getLabel')
->willReturn($plugin_definition_label_a);
$plugin_definition_id_b = $this
->randomMachineName();
$plugin_definition_b = $this
->createMock(PluginDefinitionInterface::class);
$plugin_definition_b
->expects($this
->atLeastOnce())
->method('getId')
->willReturn($plugin_definition_id_b);
$plugin_instance_a = $this
->createMock(PluginInspectionInterface::class);
$plugin_instance_a
->expects($this
->atLeastOnce())
->method('getPluginDefinition')
->willReturn($plugin_definition_a);
$plugin_instance_b = $this
->createMock(PluginInspectionInterface::class);
$plugin_instance_b
->expects($this
->atLeastOnce())
->method('getPluginDefinition')
->willReturn($plugin_definition_b);
$item_a = $this
->createMock(PluginCollectionItemInterface::class);
$item_a
->expects($this
->atLeastOnce())
->method('getContainedPluginInstance')
->willReturn($plugin_instance_a);
$item_b = $this
->createMock(PluginCollectionItemInterface::class);
$item_b
->expects($this
->atLeastOnce())
->method('getContainedPluginInstance')
->willReturn($plugin_instance_b);
/** @var \Drupal\plugin\Plugin\Field\FieldType\PluginCollectionItemInterface[]|\PHPUnit_Framework_MockObject_MockObject[] $items */
$items = [
$item_a,
$item_b,
];
$plugin_type = $this
->createMock(PluginTypeInterface::class);
$plugin_type
->expects($this
->atLeastOnce())
->method('ensureTypedPluginDefinition')
->willReturnArgument(0);
foreach ($items as $item) {
$item
->expects($this
->atLeastOnce())
->method('getPluginType')
->willReturn($plugin_type);
}
$iterator = new \ArrayIterator($items);
$item_list = $this
->getMockBuilder(PluginCollectionItemList::class)
->disableOriginalConstructor()
->setMethods([
'getEntity',
'getIterator',
])
->getMock();
$item_list
->expects($this
->atLeastOnce())
->method('getIterator')
->willReturn($iterator);
$expected_build = [
[
'#markup' => $plugin_definition_label_a,
],
[
'#markup' => $plugin_definition_id_b,
],
];
$langcode = 'UA';
$this
->assertSame($expected_build, $this->sut
->viewElements($item_list, $langcode));
}