function EditorSelectionTest::testText

Tests a textual field, without/with text processing, with cardinality 1 and >1, always without a WYSIWYG editor present.

File

drupal/core/modules/edit/lib/Drupal/edit/Tests/EditorSelectionTest.php, line 61
Contains \Drupal\edit\Tests\EditorSelectionTest.

Class

EditorSelectionTest
Test in-place field editor selection.

Namespace

Drupal\edit\Tests

Code

function testText() {
  $field_name = 'field_text';
  $this
    ->createFieldWithInstance($field_name, 'text', 1, 'Simple text field', array(
    'text_processing' => 0,
  ), 'text_textfield', array(
    'size' => 42,
  ), 'text_default', array());

  // Pretend there is an entity with these items for the field.
  $items = array(
    array(
      'value' => 'Hello, world!',
      'format' => 'full_html',
    ),
  );

  // Editor selection without text processing, with cardinality 1.
  $this
    ->assertEqual('direct', $this
    ->getSelectedEditor($items, $field_name), "Without text processing, cardinality 1, the 'direct' editor is selected.");

  // Editor selection with text processing, cardinality 1.
  $this->field_text_instance['settings']['text_processing'] = 1;
  field_update_instance($this->field_text_instance);
  $this
    ->assertEqual('form', $this
    ->getSelectedEditor($items, $field_name), "With text processing, cardinality 1, the 'form' editor is selected.");

  // Editor selection without text processing, cardinality 1 (again).
  $this->field_text_instance['settings']['text_processing'] = 0;
  field_update_instance($this->field_text_instance);
  $this
    ->assertEqual('direct', $this
    ->getSelectedEditor($items, $field_name), "Without text processing again, cardinality 1, the 'direct' editor is selected.");

  // Editor selection without text processing, cardinality >1
  $this->field_text_field['cardinality'] = 2;
  field_update_field($this->field_text_field);
  $items[] = array(
    'value' => 'Hallo, wereld!',
    'format' => 'full_html',
  );
  $this
    ->assertEqual('form', $this
    ->getSelectedEditor($items, $field_name), "Without text processing, cardinality >1, the 'form' editor is selected.");

  // Editor selection with text processing, cardinality >1
  $this->field_text_instance['settings']['text_processing'] = 1;
  field_update_instance($this->field_text_instance);
  $this
    ->assertEqual('form', $this
    ->getSelectedEditor($items, $field_name), "With text processing, cardinality >1, the 'form' editor is selected.");
}