123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174 |
- <?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;
- }
- }
|