TableSelectTest.php

Namespace

Drupal\Tests\Core\Render\Element

File

core/tests/Drupal/Tests/Core/Render/Element/TableSelectTest.php

View source
<?php

namespace Drupal\Tests\Core\Render\Element;

use Drupal\Core\Form\FormState;
use Drupal\Core\Link;
use Drupal\Core\Render\Element\Tableselect;
use Drupal\Core\StringTranslation\TranslatableMarkup;
use Drupal\Core\Url;
use Drupal\Tests\UnitTestCase;

/**
 * @coversDefaultClass \Drupal\Core\Render\Element\Tableselect
 * @group Render
 */
class TableSelectTest extends UnitTestCase {
  
  /**
   * @covers ::processTableselect
   */
  public function testProcessTableselectWithLinkTitle() {
    $element = [];
    $form_state = new FormState();
    $complete_form = [];
    $element_object = new Tableselect([], 'table_select', []);
    $info = $element_object->getInfo();
    $element += $info;
    $element['#value'] = 0;
    $element['#options'][] = [
      'title' => new Link('my-text', Url::fromRoute('<front>')),
    ];
    $element['#attributes'] = [];
    Tableselect::processTableselect($element, $form_state, $complete_form);
    $this->assertEquals('', $element[0]['#title']);
  }
  
  /**
   * @covers ::processTableselect
   */
  public function testProcessTableselectWithStringTitle() {
    $element = [];
    $form_state = new FormState();
    $complete_form = [];
    $element_object = new Tableselect([], 'table_select', []);
    $info = $element_object->getInfo();
    $element += $info;
    $element['#value'] = 0;
    $element['#options'][] = [
      'title' => [
        'data' => [
          '#title' => 'Static title',
        ],
      ],
    ];
    $element['#attributes'] = [];
    Tableselect::processTableselect($element, $form_state, $complete_form);
    $this->assertEquals(new TranslatableMarkup('Update @title', [
      '@title' => 'Static title',
    ]), $element[0]['#title']);
  }

}

Classes

Title Deprecated Summary
TableSelectTest @coversDefaultClass \Drupal\Core\Render\Element\Tableselect[[api-linebreak]] @group Render

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.