diff --git a/core/modules/field/modules/text/text.module b/core/modules/field/modules/text/text.module index d73814f..8ba01c6 100644 --- a/core/modules/field/modules/text/text.module +++ b/core/modules/field/modules/text/text.module @@ -284,7 +284,7 @@ function text_field_formatter_view($entity_type, $entity, $field, $instance, $la case 'text_plain': foreach ($items as $delta => $item) { - $element[$delta] = array('#markup' => strip_tags($item['value'])); + $element[$delta] = array('#markup' => nl2br(strip_tags($item['value']))); } break; } @@ -316,7 +316,7 @@ function _text_sanitize($instance, $langcode, $item, $column) { if (isset($item["safe_$column"])) { return $item["safe_$column"]; } - return $instance['settings']['text_processing'] ? check_markup($item[$column], $item['format'], $langcode) : check_plain($item[$column]); + return $instance['settings']['text_processing'] ? check_markup($item[$column], $item['format'], $langcode) : nl2br(check_plain($item[$column])); } /** diff --git a/core/modules/field/modules/text/text.test b/core/modules/field/modules/text/text.test index 5936937..622fac7 100644 --- a/core/modules/field/modules/text/text.test +++ b/core/modules/field/modules/text/text.test @@ -94,14 +94,14 @@ class TextFieldTestCase extends DrupalWebTestCase { 'bundle' => 'test_bundle', 'label' => $this->randomName() . '_label', 'settings' => array( - 'text_processing' => TRUE, + 'text_processing' => FALSE, ), 'widget' => array( 'type' => $widget_type, ), 'display' => array( 'full' => array( - 'type' => 'text_default', + 'type' => 'text_plain', ), ), ); @@ -115,6 +115,10 @@ class TextFieldTestCase extends DrupalWebTestCase { // Submit with some value. $value = $this->randomName(); + if ($field_type == 'text_long') { + // Add linebreaks for text area to make sure these are properly displayed. + $value .= "\n\n" . $this->randomName(); + } $edit = array( "{$this->field_name}[$langcode][0][value]" => $value, ); @@ -127,7 +131,12 @@ class TextFieldTestCase extends DrupalWebTestCase { $entity = field_test_entity_test_load($id); $entity->content = field_attach_view($entity_type, $entity, 'full'); $this->content = drupal_render($entity->content); - $this->assertText($value, 'Filtered tags are not displayed'); + if ($field_type == 'text_long') { + // Text areas should have linebreaks converted, while text + // fields have linebreaks stripped out by form_type_textfield_value(). + $value = nl2br(check_plain($value)); + } + $this->assertRaw($value, 'Filtered tags are not displayed'); } /**