
| Current Path : /var/www/html/german-vocational.cn/core/tests/Drupal/Tests/Core/Form/ |
Linux ift1.ift-informatik.de 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64 |
| Current File : /var/www/html/german-vocational.cn/core/tests/Drupal/Tests/Core/Form/FormElementHelperTest.php |
<?php
namespace Drupal\Tests\Core\Form;
use Drupal\Core\Form\FormElementHelper;
use Drupal\Tests\UnitTestCase;
/**
* Tests the form element helper.
*
* @group Drupal
* @group Form
*
* @coversDefaultClass \Drupal\Core\Form\FormElementHelper
*/
class FormElementHelperTest extends UnitTestCase {
/**
* Tests the getElementByName() method.
*
* @covers ::getElementByName
*
* @dataProvider getElementByNameProvider
*/
public function testGetElementByName($name, $form, $expected) {
$this->assertSame($expected, FormElementHelper::getElementByName($name, $form));
}
/**
* Provides test data.
*/
public function getElementByNameProvider() {
$data = [];
$data[] = ['id', [], []];
$data[] = [
'id',
[
'id' => [
'#title' => 'ID',
'#parents' => ['id'],
],
],
[
'#title' => 'ID',
'#parents' => ['id'],
],
];
$data[] = [
'id',
[
'fieldset' => [
'id' => [
'#title' => 'ID',
'#parents' => ['id'],
],
'#parents' => ['fieldset'],
],
],
[
'#title' => 'ID',
'#parents' => ['id'],
],
];
$data[] = [
'fieldset',
[
'fieldset' => [
'id' => [
'#title' => 'ID',
'#parents' => ['id'],
],
'#parents' => ['fieldset'],
],
],
[
'id' => [
'#title' => 'ID',
'#parents' => ['id'],
],
'#parents' => ['fieldset'],
],
];
$data[] = [
'fieldset][id',
[
'fieldset' => [
'#tree' => TRUE,
'id' => [
'#title' => 'ID',
'#parents' => ['fieldset', 'id'],
],
'#parents' => ['fieldset'],
],
],
[
'#title' => 'ID',
'#parents' => ['fieldset', 'id'],
],
];
return $data;
}
/**
* Tests the getElementTitle() method.
*
* @covers ::getElementTitle
*
* @dataProvider getElementTitleProvider
*/
public function testGetElementTitle($name, $form, $expected) {
$element = FormElementHelper::getElementByName($name, $form);
$this->assertSame($expected, FormElementHelper::getElementTitle($element));
}
/**
* Provides test data.
*/
public function getElementTitleProvider() {
$data = [];
$data[] = ['id', [], ''];
$data[] = [
'id',
[
'id' => [
'#title' => 'ID',
'#parents' => ['id'],
],
],
'ID',
];
$data[] = [
'id',
[
'fieldset' => [
'id' => [
'#title' => 'ID',
'#parents' => ['id'],
],
'#parents' => ['fieldset'],
],
],
'ID',
];
$data[] = [
'fieldset',
[
'fieldset' => [
'id' => [
'#title' => 'ID',
'#parents' => ['id'],
],
'#parents' => ['fieldset'],
],
],
'ID',
];
$data[] = [
'fieldset][id',
[
'fieldset' => [
'#tree' => TRUE,
'id' => [
'#title' => 'ID',
'#parents' => ['fieldset', 'id'],
],
'#parents' => ['fieldset'],
],
],
'ID',
];
return $data;
}
}