MultipleBlockFormTest.php
Same filename in other branches
Namespace
Drupal\KernelTests\Core\BlockFile
-
core/
tests/ Drupal/ KernelTests/ Core/ Block/ MultipleBlockFormTest.php
View source
<?php
namespace Drupal\KernelTests\Core\Block;
use Drupal\block_test\PluginForm\EmptyBlockForm;
use Drupal\KernelTests\KernelTestBase;
/**
* Tests that blocks can have multiple forms.
*
* @group block
*/
class MultipleBlockFormTest extends KernelTestBase {
/**
* {@inheritdoc}
*/
public static $modules = [
'system',
'block',
'block_test',
];
/**
* Tests that blocks can have multiple forms.
*/
public function testMultipleForms() {
$configuration = [
'label' => 'A very cool block',
];
$block = \Drupal::service('plugin.manager.block')->createInstance('test_multiple_forms_block', $configuration);
$form_object1 = \Drupal::service('plugin_form.factory')->createInstance($block, 'configure');
$form_object2 = \Drupal::service('plugin_form.factory')->createInstance($block, 'secondary');
// Assert that the block itself is used for the default form.
$this->assertSame($block, $form_object1);
// Ensure that EmptyBlockForm is used and the plugin is set.
$this->assertInstanceOf(EmptyBlockForm::class, $form_object2);
$this->assertAttributeEquals($block, 'plugin', $form_object2);
}
}
Classes
Title | Deprecated | Summary |
---|---|---|
MultipleBlockFormTest | Tests that blocks can have multiple forms. |
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.