diff --git a/core/modules/text/src/Plugin/migrate/cckfield/TextField.php b/core/modules/text/src/Plugin/migrate/cckfield/TextField.php index 24dd450d85..02a08b999c 100644 --- a/core/modules/text/src/Plugin/migrate/cckfield/TextField.php +++ b/core/modules/text/src/Plugin/migrate/cckfield/TextField.php @@ -58,6 +58,18 @@ public function processCckFieldValues(MigrationInterface $migration, $field_name } $process['value']['map'][$checked_value] = 1; } + elseif (isset($field_info['instance_settings']['text_processing']) + && $field_info['instance_settings']['text_processing'] === 0 + ) { + // This is a D7 plain text field, no formats supported. + $process = [ + 'value' => 'value', + 'format' => [ + 'plugin' => 'default_value', + 'default_value' => 'plain_text', + ], + ]; + } else { // See \Drupal\migrate_drupal\Plugin\migrate\source\d6\User::baseFields(), // signature_format for an example of the YAML that represents this diff --git a/core/modules/text/tests/src/Unit/Migrate/TextFieldTest.php b/core/modules/text/tests/src/Unit/Migrate/TextFieldTest.php index d7dfcc679e..013116c5d1 100644 --- a/core/modules/text/tests/src/Unit/Migrate/TextFieldTest.php +++ b/core/modules/text/tests/src/Unit/Migrate/TextFieldTest.php @@ -67,6 +67,30 @@ public function testProcessFilteredTextFieldValues() { $this->assertSame('format', $lookup['source']); } + /** + * @covers ::processCckFieldValues + */ + public function testProcessUnfilteredTextFieldValues() { + $field_info = [ + 'widget_type' => 'text_textfield', + 'instance_settings' => [ + 'text_processing' => 0, + ], + ]; + $this->plugin->processCckFieldValues($this->migration, 'field_test', $field_info); + + $process = $this->migration->getProcess(); + $this->assertSame('iterator', $process['plugin']); + $this->assertSame('field_test', $process['source']); + + // Ensure unfiltered D7 text fields are marked as plain text. + $this->assertSame('value', $process['process']['value']); + $this->assertSame([ + 'plugin' => 'default_value', + 'default_value' => 'plain_text', + ], $process['process']['format']); + } + /** * @covers ::processCckFieldValues */