3 namespace Drupal\Tests\Core\Render\Element;
5 use Drupal\Core\Form\FormState;
7 use Drupal\Core\Render\Element\Tableselect;
8 use Drupal\Core\StringTranslation\TranslatableMarkup;
10 use Drupal\Tests\UnitTestCase;
13 * @coversDefaultClass \Drupal\Core\Render\Element\Tableselect
16 class TableSelectTest extends UnitTestCase {
19 * @covers ::processTableselect
21 public function testProcessTableselectWithLinkTitle() {
23 $form_state = new FormState();
26 $element_object = new Tableselect([], 'table_select', []);
27 $info = $element_object->getInfo();
30 $element['#value'] = 0;
32 $element['#options'][] = [
33 'title' => new Link('my-text', Url::fromRoute('<front>'))
36 $element['#attributes'] = [];
38 Tableselect::processTableselect($element, $form_state, $complete_form);
40 $this->assertEquals('', $element[0]['#title']);
44 * @covers ::processTableselect
46 public function testProcessTableselectWithStringTitle() {
48 $form_state = new FormState();
51 $element_object = new Tableselect([], 'table_select', []);
52 $info = $element_object->getInfo();
55 $element['#value'] = 0;
57 $element['#options'][] = [
58 'title' => ['data' => ['#title' => 'Static title']],
61 $element['#attributes'] = [];
63 Tableselect::processTableselect($element, $form_state, $complete_form);
65 $this->assertEquals(new TranslatableMarkup('Update @title', ['@title' => 'Static title']), $element[0]['#title']);