View source
<?php
namespace Drupal\Tests\filter\Kernel\Plugin\migrate\process;
use Drupal\filter\Plugin\migrate\process\FilterSettings;
use Drupal\migrate\MigrateExecutableInterface;
use Drupal\migrate\Plugin\MigrationInterface;
use Drupal\migrate\Row;
use Drupal\Tests\migrate\Unit\MigrateTestCase;
class FilterSettingsTest extends MigrateTestCase {
public function testTransform($value, $destination_id, $expected_value) {
$migration = $this
->createMock(MigrationInterface::class);
$plugin = new FilterSettings([], 'filter_settings', [], $migration);
$executable = $this
->createMock(MigrateExecutableInterface::class);
$row = $this
->getMockBuilder(Row::class)
->disableOriginalConstructor()
->getMock();
$row
->expects($this
->atLeastOnce())
->method('getDestinationProperty')
->willReturn($destination_id);
$output_value = $plugin
->transform($value, $executable, $row, 'foo');
$this
->assertSame($expected_value, $output_value);
}
public function dataProvider() {
return [
[
[],
'any_filter',
[],
],
[
'a string',
'any_filter',
'a string',
],
[
[
'allowed_html' => '<a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>',
],
'any_filter',
[
'allowed_html' => '<a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>',
],
],
[
[],
'filter_html',
[],
],
[
'a string',
'filter_html',
'a string',
],
[
[
'allowed_html' => '<a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>',
],
'filter_html',
[
'allowed_html' => '<a href hreflang> <em> <strong> <cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd>',
],
],
[
[
'foo' => 'bar',
],
'filter_null',
[],
],
];
}
}