View source
<?php
namespace Drupal\Tests\Core\Display;
use Drupal\Core\Form\FormState;
use Drupal\Tests\UnitTestCase;
class DisplayVariantTest extends UnitTestCase {
public function setUpDisplayVariant($configuration = [], $definition = []) {
return $this
->getMockBuilder('Drupal\\Core\\Display\\VariantBase')
->setConstructorArgs([
$configuration,
'test',
$definition,
])
->setMethods([
'build',
])
->getMock();
}
public function testLabel() {
$display_variant = $this
->setUpDisplayVariant([
'label' => 'foo',
]);
$this
->assertSame('foo', $display_variant
->label());
}
public function testLabelDefault() {
$display_variant = $this
->setUpDisplayVariant();
$this
->assertSame('', $display_variant
->label());
}
public function testGetWeight() {
$display_variant = $this
->setUpDisplayVariant([
'weight' => 5,
]);
$this
->assertSame(5, $display_variant
->getWeight());
}
public function testGetWeightDefault() {
$display_variant = $this
->setUpDisplayVariant();
$this
->assertSame(0, $display_variant
->getWeight());
}
public function testGetConfiguration($configuration, $expected) {
$display_variant = $this
->setUpDisplayVariant($configuration);
$this
->assertSame($expected, $display_variant
->getConfiguration());
}
public function providerTestGetConfiguration() {
$data = [];
$data[] = [
[],
[
'id' => 'test',
'label' => '',
'uuid' => '',
'weight' => 0,
],
];
$data[] = [
[
'label' => 'Test',
],
[
'id' => 'test',
'label' => 'Test',
'uuid' => '',
'weight' => 0,
],
];
$data[] = [
[
'id' => 'foo',
],
[
'id' => 'test',
'label' => '',
'uuid' => '',
'weight' => 0,
],
];
return $data;
}
public function testAccess() {
$display_variant = $this
->setUpDisplayVariant();
$this
->assertTrue($display_variant
->access());
}
public function testSubmitConfigurationForm() {
$display_variant = $this
->setUpDisplayVariant();
$this
->assertSame('', $display_variant
->label());
$form = [];
$label = $this
->randomMachineName();
$form_state = new FormState();
$form_state
->setValue('label', $label);
$display_variant
->submitConfigurationForm($form, $form_state);
$this
->assertSame($label, $display_variant
->label());
}
}