function MigrateFilterFormatTest::testFilterFormat
Same name in this branch
- 10 core/modules/filter/tests/src/Kernel/Migrate/d6/MigrateFilterFormatTest.php \Drupal\Tests\filter\Kernel\Migrate\d6\MigrateFilterFormatTest::testFilterFormat()
Same name in other branches
- 9 core/modules/filter/tests/src/Kernel/Migrate/d6/MigrateFilterFormatTest.php \Drupal\Tests\filter\Kernel\Migrate\d6\MigrateFilterFormatTest::testFilterFormat()
- 9 core/modules/filter/tests/src/Kernel/Migrate/d7/MigrateFilterFormatTest.php \Drupal\Tests\filter\Kernel\Migrate\d7\MigrateFilterFormatTest::testFilterFormat()
- 8.9.x core/modules/filter/tests/src/Kernel/Migrate/d6/MigrateFilterFormatTest.php \Drupal\Tests\filter\Kernel\Migrate\d6\MigrateFilterFormatTest::testFilterFormat()
- 8.9.x core/modules/filter/tests/src/Kernel/Migrate/d7/MigrateFilterFormatTest.php \Drupal\Tests\filter\Kernel\Migrate\d7\MigrateFilterFormatTest::testFilterFormat()
- 11.x core/modules/filter/tests/src/Kernel/Migrate/d6/MigrateFilterFormatTest.php \Drupal\Tests\filter\Kernel\Migrate\d6\MigrateFilterFormatTest::testFilterFormat()
- 11.x core/modules/filter/tests/src/Kernel/Migrate/d7/MigrateFilterFormatTest.php \Drupal\Tests\filter\Kernel\Migrate\d7\MigrateFilterFormatTest::testFilterFormat()
Tests the Drupal 7 filter format to Drupal 8 migration.
File
-
core/
modules/ filter/ tests/ src/ Kernel/ Migrate/ d7/ MigrateFilterFormatTest.php, line 92
Class
- MigrateFilterFormatTest
- Upgrade variables to filter.formats.*.yml.
Namespace
Drupal\Tests\filter\Kernel\Migrate\d7Code
public function testFilterFormat() : void {
$this->assertEntity('custom_text_format', 'Custom Text format', [
'filter_autop' => 0,
'filter_html' => -10,
], 0, TRUE);
$this->assertEntity('filtered_html', 'Filtered HTML', [
'filter_autop' => 2,
'filter_html' => 1,
'filter_htmlcorrector' => 10,
'filter_url' => 0,
], 0, TRUE);
$this->assertEntity('full_html', 'Full HTML', [
'filter_autop' => 1,
'filter_htmlcorrector' => 10,
'filter_url' => 0,
], 1, TRUE);
$this->assertEntity('plain_text', 'Plain text', [
'filter_autop' => 2,
'filter_html_escape' => 0,
'filter_url' => 1,
], 10, TRUE);
// This assertion covers issue #2555089. Drupal 7 formats are identified
// by machine names, so migrated formats should be merged into existing
// ones.
$this->assertNull(FilterFormat::load('plain_text1'));
// Ensure that filter-specific settings were migrated.
/** @var \Drupal\filter\FilterFormatInterface $format */
$format = FilterFormat::load('filtered_html');
$this->assertInstanceOf(FilterFormatInterface::class, $format);
$config = $format->filters('filter_html')
->getConfiguration();
$this->assertSame('<div> <span> <ul type> <li> <ol start type> <a href hreflang> <img src alt height width>', $config['settings']['allowed_html']);
$config = $format->filters('filter_url')
->getConfiguration();
$this->assertSame(128, $config['settings']['filter_url_length']);
// The disabled php_code format gets migrated, but the php_code filter is
// changed to filter_null.
$this->assertEntity('php_code', 'PHP code', [
'filter_null' => 0,
], 11, FALSE);
// Test a non-existent format.
$this->assertEntity('image_resize_filter', 'Image resize', [], 0, TRUE);
// For each filter that does not exist on the destination, there should be
// a log message.
$migration = $this->getMigration('d7_filter_format');
$errors = array_map(function ($message) {
return $message->message;
}, iterator_to_array($migration->getIdMap()
->getMessages()));
$this->assertCount(2, $errors);
sort($errors);
$message = 'Filter image_resize_filter could not be mapped to an existing filter plugin; omitted since it is a transformation-only filter. Install and configure a successor after the migration.';
$this->assertEquals($errors[0], $message);
$message = 'Filter php_code could not be mapped to an existing filter plugin; defaulting to filter_null and dropping all settings. Either redo the migration with the module installed that provides an equivalent filter, or modify the text format after the migration to remove this filter if it is no longer necessary.';
$this->assertEquals($errors[1], $message);
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.