Commit 5f5c6a48 authored by webchick's avatar webchick

Issue #2550755 by webflo, phenaproxima, zniki.ru: Migrate plugin for...

Issue #2550755 by webflo, phenaproxima, zniki.ru: Migrate plugin for filefields should handle alt and title attributes
parent 961bf74b
......@@ -23,6 +23,11 @@
*/
class CckFile extends ProcessPluginBase implements ContainerFactoryPluginInterface {
/**
* The migration process plugin, configured for lookups in d6_file.
*
* @var \Drupal\migrate\Plugin\MigrateProcessInterface
*/
protected $migrationPlugin;
/**
......@@ -92,6 +97,8 @@ public function transform($value, MigrateExecutableInterface $migrate_executable
'target_id' => $fid,
'display' => $value['list'],
'description' => isset($options['description']) ? $options['description'] : '',
'alt' => isset($options['alt']) ? $options['alt'] : '',
'title' => isset($options['title']) ? $options['title'] : '',
];
}
else {
......
<?php
/**
* @file
* Contains \Drupal\Tests\file\Unit\Plugin\migrate\process\d6\CckFileTest.
*/
namespace Drupal\Tests\file\Unit\Plugin\migrate\process\d6;
use Drupal\file\Plugin\migrate\process\d6\CckFile;
use Drupal\migrate\Entity\MigrationInterface;
use Drupal\migrate\MigrateExecutableInterface;
use Drupal\migrate\Plugin\MigrateProcessInterface;
use Drupal\migrate\Row;
use Drupal\Tests\UnitTestCase;
/**
* @group file
*/
class CckFileTest extends UnitTestCase {
/**
* Tests that alt and title attributes are included in transformed values.
*/
public function testTransformAltTitle() {
$executable = $this->prophesize(MigrateExecutableInterface::class)->reveal();
$row = $this->prophesize(Row::class)->reveal();
$migration = $this->prophesize(MigrationInterface::class)->reveal();
$migration_plugin = $this->prophesize(MigrateProcessInterface::class);
$migration_plugin->transform(1, $executable, $row, 'foo')->willReturn(1);
$plugin = new CckFile(array(), 'd6_cck_file', array(), $migration, $migration_plugin->reveal());
$options = array(
'alt' => 'Foobaz',
'title' => 'Wambooli',
);
$value = array(
'fid' => 1,
'list' => TRUE,
'data' => serialize($options),
);
$transformed = $plugin->transform($value, $executable, $row, 'foo');
$expected = array(
'target_id' => 1,
'display' => TRUE,
'description' => '',
'alt' => 'Foobaz',
'title' => 'Wambooli',
);
$this->assertSame($expected, $transformed);
}
}
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