IconPackExtractorFormTest.php
Namespace
Drupal\Tests\Core\Theme\IconFile
-
core/
tests/ Drupal/ Tests/ Core/ Theme/ Icon/ IconPackExtractorFormTest.php
View source
<?php
declare (strict_types=1);
namespace Drupal\Tests\Core\Theme\Icon;
use Drupal\Core\Form\FormStateInterface;
use Drupal\Core\Plugin\PluginWithFormsInterface;
use Drupal\Tests\UnitTestCase;
use Drupal\Core\Theme\Icon\IconPackExtractorForm;
/**
* @coversDefaultClass \Drupal\Core\Theme\Icon\IconPackExtractorForm
*
* @group icon
*/
class IconPackExtractorFormTest extends UnitTestCase {
/**
* The icon pack form.
*
* @var \Drupal\Core\Theme\Icon\IconPackExtractorForm
*/
private IconPackExtractorForm $iconPackForm;
/**
* The plugin form.
*
* @var \Drupal\Core\Plugin\PluginWithFormsInterface
*/
private PluginWithFormsInterface $plugin;
/**
* The form state.
*
* @var \Drupal\Core\Form\FormStateInterface|\Prophecy\Prophecy\ObjectProphecy
*/
private $formState;
/**
* {@inheritdoc}
*/
protected function setUp() : void {
parent::setUp();
$this->plugin = new TestPluginWithForm();
$this->formState = $this->prophesize(FormStateInterface::class);
$this->iconPackForm = new IconPackExtractorForm();
$this->iconPackForm
->setPlugin($this->plugin);
}
/**
* Test the IconPackExtractorForm::buildConfigurationForm method.
*/
public function testBuildConfigurationForm() : void {
$form = [
'test_form' => 'test_form',
];
/** @var \Drupal\Core\Form\FormStateInterface $formState */
$formState = $this->formState
->reveal();
$result = $this->iconPackForm
->buildConfigurationForm($form, $formState);
$this->assertSame('plugin_build_form', $result['plugin_build_form']);
$this->assertSame($form['test_form'], $result['test_form']);
}
/**
* Test the IconPackExtractorForm::validateConfigurationForm method.
*/
public function testValidateConfigurationForm() : void {
$form = [];
/** @var \Drupal\Core\Form\FormStateInterface $formState */
$formState = $this->formState
->reveal();
$this->iconPackForm
->validateConfigurationForm($form, $formState);
$this->assertArrayHasKey('plugin_validate_form', $form);
}
/**
* Test the IconPackExtractorForm::submitConfigurationForm method.
*/
public function testSubmitConfigurationForm() : void {
$form = [];
/** @var \Drupal\Core\Form\FormStateInterface $formState */
$formState = $this->formState
->reveal();
$this->iconPackForm
->submitConfigurationForm($form, $formState);
$this->assertArrayHasKey('plugin_submit_form', $form);
}
}
/**
* Test class for form.
*/
class TestPluginWithForm implements PluginWithFormsInterface {
/**
* {@inheritdoc}
*/
public function getPluginId() : string {
return 'test';
}
/**
* {@inheritdoc}
*/
public function getPluginDefinition() : array {
return [];
}
/**
* {@inheritdoc}
*/
public function hasFormClass($operation) : bool {
return TRUE;
}
/**
* {@inheritdoc}
*/
public function getFormClass($operation) : string {
return 'form_class';
}
/**
* {@inheritdoc}
*/
public function buildConfigurationForm(array $form, FormStateInterface $form_state) : array {
$form['plugin_build_form'] = 'plugin_build_form';
return $form;
}
/**
* {@inheritdoc}
*/
public function validateConfigurationForm(array &$form, FormStateInterface $form_state) : void {
$form['plugin_validate_form'] = 'plugin_validate_form';
}
/**
* {@inheritdoc}
*/
public function submitConfigurationForm(array &$form, FormStateInterface $form_state) : void {
$form['plugin_submit_form'] = 'plugin_submit_form';
}
}
Classes
Title | Deprecated | Summary |
---|---|---|
IconPackExtractorFormTest | @coversDefaultClass \Drupal\Core\Theme\Icon\IconPackExtractorForm | |
TestPluginWithForm | Test class for form. |
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.