Commit 4b8961ed authored by Gábor Hojtsy's avatar Gábor Hojtsy

Issue #2849861 by masipila, joelpittet, jeffwpetersen, xjm: D6 text area...

Issue #2849861 by masipila, joelpittet, jeffwpetersen, xjm: D6 text area formatting settings not respected when migrating to D8
parent 882537ab
......@@ -100,27 +100,29 @@ public function processCckFieldValues(MigrationInterface $migration, $field_name
*/
public function getFieldType(Row $row) {
$widget_type = $row->getSourceProperty('widget_type');
$settings = $row->getSourceProperty('global_settings');
if ($widget_type == 'text_textfield') {
$settings = $row->getSourceProperty('global_settings');
$field_type = $settings['text_processing'] ? 'text' : 'string';
if (empty($settings['max_length']) || $settings['max_length'] > 255) {
$field_type .= '_long';
}
return $field_type;
}
else {
switch ($widget_type) {
case 'optionwidgets_buttons':
case 'optionwidgets_select':
return 'list_string';
case 'optionwidgets_onoff':
return 'boolean';
case 'text_textarea':
return 'text_long';
default:
return parent::getFieldType($row);
}
if ($widget_type == 'text_textarea') {
$field_type = $settings['text_processing'] ? 'text_long' : 'string_long';
return $field_type;
}
switch ($widget_type) {
case 'optionwidgets_buttons':
case 'optionwidgets_select':
return 'list_string';
case 'optionwidgets_onoff':
return 'boolean';
default:
return parent::getFieldType($row);
}
}
......
......@@ -147,7 +147,12 @@ public function getFieldTypeProvider() {
['list_string', 'optionwidgets_buttons'],
['list_string', 'optionwidgets_select'],
['boolean', 'optionwidgets_onoff'],
['text_long', 'text_textarea'],
['text_long', 'text_textarea', [
'text_processing' => TRUE,
]],
['string_long', 'text_textarea', [
'text_processing' => FALSE,
]],
[NULL, 'undefined'],
];
}
......@@ -157,7 +162,8 @@ public function getFieldTypeProvider() {
* @dataProvider getFieldTypeProvider
*/
public function testGetFieldType($expected_type, $widget_type, array $settings = []) {
$row = new Row(['widget_type' => $widget_type], ['widget_type' => []]);
$row = new Row();
$row->setSourceProperty('widget_type', $widget_type);
$row->setSourceProperty('global_settings', $settings);
$this->assertSame($expected_type, $this->plugin->getFieldType($row));
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment