Skip to content
GitLab
Explore
Sign in
project
drupal
Compare revisions
28a7bb1a98718efc7059eb32f852ed8541447ba6 to 8.1.x
Hide whitespace changes
Inline
Side-by-side
core/modules/filter/tests/src/Kernel/Migrate/d6/MigrateFilterFormatTest.php
View file @
614ba415
...
...
@@ -3,6 +3,7 @@
namespace
Drupal\Tests\filter\Kernel\Migrate\d6
;
use
Drupal\filter\Entity\FilterFormat
;
use
Drupal\filter\FilterFormatInterface
;
use
Drupal\Tests\migrate_drupal
\Kernel\d6\MigrateDrupal6TestBase
;
/**
...
...
@@ -39,14 +40,18 @@ public function testFilterFormat() {
$this
->
assertFalse
(
isset
(
$filters
[
'filter_html_image_secure'
]));
// Check variables migrated into filter.
$this
->
assertIdentical
(
'<a href hreflang> <em> <strong> <cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd>'
,
$filters
[
'filter_html'
][
'settings'
][
'allowed_html'
]);
$this
->
assertIdentical
(
TRUE
,
$filters
[
'filter_html'
][
'settings'
][
'filter_html_help'
]);
$this
->
assertIdentical
(
FALSE
,
$filters
[
'filter_html'
][
'settings'
][
'filter_html_nofollow'
]);
$this
->
assertIdentical
(
72
,
$filters
[
'filter_url'
][
'settings'
][
'filter_url_length'
]);
// Check that the PHP code filter is converted to filter_null.
$filters
=
FilterFormat
::
load
(
'php_code'
)
->
get
(
'filters'
);
$this
->
assertTrue
(
isset
(
$filters
[
'filter_null'
]));
$this
->
assertSame
(
'<a href hreflang> <em> <strong> <cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd>'
,
$filters
[
'filter_html'
][
'settings'
][
'allowed_html'
]);
$this
->
assertSame
(
TRUE
,
$filters
[
'filter_html'
][
'settings'
][
'filter_html_help'
]);
$this
->
assertSame
(
FALSE
,
$filters
[
'filter_html'
][
'settings'
][
'filter_html_nofollow'
]);
$this
->
assertSame
(
72
,
$filters
[
'filter_url'
][
'settings'
][
'filter_url_length'
]);
// Assert that the php_code format was migrated with filter_null in the
// php_code filter's place.
$filter_format
=
FilterFormat
::
load
(
'php_code'
);
$this
->
assertInstanceOf
(
FilterFormatInterface
::
class
,
$filter_format
);
$filters
=
$filter_format
->
get
(
'filters'
);
$this
->
assertArrayHasKey
(
'filter_null'
,
$filters
);
$this
->
assertArrayNotHasKey
(
'php_code'
,
$filters
);
}
}
core/modules/filter/tests/src/Kernel/Migrate/d7/MigrateFilterFormatTest.php
View file @
614ba415
...
...
@@ -42,13 +42,13 @@ protected function setUp() {
protected
function
assertEntity
(
$id
,
$label
,
array
$enabled_filters
,
$weight
)
{
/** @var \Drupal\filter\FilterFormatInterface $entity */
$entity
=
FilterFormat
::
load
(
$id
);
$this
->
assert
True
(
$entity
i
nstance
of
FilterFormatInterface
);
$this
->
assert
Identical
(
$label
,
$entity
->
label
());
$this
->
assert
I
nstance
Of
(
FilterFormatInterface
::
class
,
$entity
);
$this
->
assert
Same
(
$label
,
$entity
->
label
());
// get('filters') will return enabled filters only, not all of them.
$this
->
assert
Identical
(
array_keys
(
$enabled_filters
),
array_keys
(
$entity
->
get
(
'filters'
)));
$this
->
assert
Identical
(
$weight
,
$entity
->
get
(
'weight'
));
$this
->
assert
Same
(
array_keys
(
$enabled_filters
),
array_keys
(
$entity
->
get
(
'filters'
)));
$this
->
assert
Same
(
$weight
,
$entity
->
get
(
'weight'
));
foreach
(
$entity
->
get
(
'filters'
)
as
$filter_id
=>
$filter
)
{
$this
->
assert
Identical
(
$filter
[
'weight'
],
$enabled_filters
[
$filter_id
]);
$this
->
assert
Same
(
$filter
[
'weight'
],
$enabled_filters
[
$filter_id
]);
}
}
...
...
@@ -68,15 +68,17 @@ public function testFilterFormat() {
// 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
->
assert
Identical
(
'<div> <span> <ul type> <li> <ol start type> <a href hreflang> <img src alt height width>'
,
$config
[
'settings'
][
'allowed_html'
]);
$this
->
assert
Same
(
'<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
->
assert
Identical
(
128
,
$config
[
'settings'
][
'filter_url_length'
]);
$this
->
assert
Same
(
128
,
$config
[
'settings'
][
'filter_url_length'
]);
// The php_code format gets migrated, but the php_code filter is changed to
// filter_null.
$filters
=
FilterFormat
::
load
(
'php_code'
)
->
get
(
'filters'
);
$this
->
assertTrue
(
isset
(
$filters
[
'filter_null'
]));
$format
=
FilterFormat
::
load
(
'php_code'
);
$this
->
assertInstanceOf
(
FilterFormatInterface
::
class
,
$format
);
$this
->
assertArrayHasKey
(
'filter_null'
,
$format
->
get
(
'filters'
));
}
}
core/modules/filter/tests/src/Kernel/Plugin/migrate/process/FilterIdTest.php
0 → 100644
View file @
614ba415
<?php
namespace
Drupal\Tests\filter\Kernel\Plugin\migrate\process
;
use
Drupal\filter\Plugin\migrate\process\FilterID
;
use
Drupal\KernelTests\KernelTestBase
;
use
Drupal\migrate\MigrateExecutableInterface
;
use
Drupal\migrate\Plugin\MigrationInterface
;
use
Drupal\migrate\Row
;
/**
* Unit tests of the filter_id plugin.
*
* @coversDefaultClass \Drupal\filter\Plugin\migrate\process\FilterID
* @group filter
*/
class
FilterIdTest
extends
KernelTestBase
{
/**
* {@inheritdoc}
*/
public
static
$modules
=
[
'filter'
];
/**
* The mocked MigrateExecutable.
*
* @var MigrateExecutableInterface|\PHPUnit_Framework_MockObject_MockObject
*/
protected
$executable
;
/**
* {@inheritdoc}
*/
protected
function
setUp
()
{
parent
::
setUp
();
$this
->
executable
=
$this
->
getMock
(
MigrateExecutableInterface
::
class
);
}
/**
* Tests the filter_id plugin.
*
* @param mixed $value
* The input value to the plugin.
* @param string $expected_value
* The output value expected from the plugin.
* @param string $invalid_id
* (optional) The invalid plugin ID which is expected to be logged by the
* MigrateExecutable object.
*
* @dataProvider testProvider
*
* @covers ::transform
*/
public
function
test
(
$value
,
$expected_value
,
$invalid_id
=
NULL
)
{
$configuration
=
[
'bypass'
=>
TRUE
,
'map'
=>
[
'foo'
=>
'filter_html'
,
'baz'
=>
'php_code'
,
],
];
$plugin
=
FilterID
::
create
(
$this
->
container
,
$configuration
,
'filter_id'
,
[]);
if
(
isset
(
$invalid_id
))
{
$this
->
executable
->
expects
(
$this
->
exactly
(
1
))
->
method
(
'saveMessage'
)
->
with
(
'Filter '
.
$invalid_id
.
' could not be mapped to an existing filter plugin; defaulting to filter_null.'
,
MigrationInterface
::
MESSAGE_WARNING
);
}
$row
=
new
Row
([],
[]);
$output_value
=
$plugin
->
transform
(
$value
,
$this
->
executable
,
$row
,
'foo'
);
$this
->
assertSame
(
$expected_value
,
$output_value
);
}
/**
* The test data provider.
*
* @return array
*/
public
function
testProvider
()
{
return
[
// The filter ID is mapped, and the plugin exists.
[
'foo'
,
'filter_html'
,
],
// The filter ID isn't mapped, but it's unchanged from the source (i.e.,
// it bypasses the static map) and the plugin exists.
[
'filter_html'
,
'filter_html'
,
],
// The filter ID is mapped, but the plugin does not exist.
[
'baz'
,
'filter_null'
,
'php_code'
,
],
// The filter ID isn't mapped, but it's unchanged from the source (i.e.,
// it bypasses the static map) but the plugin does not exist.
[
'php_code'
,
'filter_null'
,
'php_code'
,
],
[
[
'filter'
,
1
],
'filter_null'
,
'filter:1'
,
],
];
}
}
core/modules/migrate/src/Plugin/MigratePluginManager.php
View file @
614ba415
...
...
@@ -21,7 +21,7 @@
*
* @ingroup migration
*/
class
MigratePluginManager
extends
DefaultPluginManager
{
class
MigratePluginManager
extends
DefaultPluginManager
implements
MigratePluginManagerInterface
{
/**
* Constructs a MigratePluginManager object.
...
...
@@ -49,8 +49,6 @@ public function __construct($type, \Traversable $namespaces, CacheBackendInterfa
/**
* {@inheritdoc}
*
* A specific createInstance method is necessary to pass the migration on.
*/
public
function
createInstance
(
$plugin_id
,
array
$configuration
=
array
(),
MigrationInterface
$migration
=
NULL
)
{
$plugin_definition
=
$this
->
getDefinition
(
$plugin_id
);
...
...
core/modules/migrate/src/Plugin/MigratePluginManagerInterface.php
0 → 100644
View file @
614ba415
<?php
namespace
Drupal\migrate\Plugin
;
use
Drupal\Component\Plugin\PluginManagerInterface
;
interface
MigratePluginManagerInterface
extends
PluginManagerInterface
{
/**
* Creates a pre-configured instance of a migration plugin.
*
* A specific createInstance method is necessary to pass the migration on.
*
* @param string $plugin_id
* The ID of the plugin being instantiated.
* @param array $configuration
* An array of configuration relevant to the plugin instance.
* @param \Drupal\migrate\Plugin\MigrationInterface $migration
* The migration context in which the plugin will run.
*
* @return object
* A fully configured plugin instance.
*
* @throws \Drupal\Component\Plugin\Exception\PluginException
* If the instance cannot be created, such as if the ID is invalid.
*/
public
function
createInstance
(
$plugin_id
,
array
$configuration
=
[],
MigrationInterface
$migration
=
NULL
);
}
core/modules/migrate/src/Plugin/Migration.php
View file @
614ba415
...
...
@@ -268,16 +268,16 @@ class Migration extends PluginBase implements MigrationInterface, RequirementsIn
* The plugin definition.
* @param \Drupal\migrate\Plugin\MigrationPluginManagerInterface $migration_plugin_manager
* The migration plugin manager.
* @param \Drupal\migrate\Plugin\MigratePluginManager $source_plugin_manager
* @param \Drupal\migrate\Plugin\MigratePluginManager
Interface
$source_plugin_manager
* The source migration plugin manager.
* @param \Drupal\migrate\Plugin\MigratePluginManager $process_plugin_manager
* @param \Drupal\migrate\Plugin\MigratePluginManager
Interface
$process_plugin_manager
* The process migration plugin manager.
* @param \Drupal\migrate\Plugin\MigrateDestinationPluginManager $destination_plugin_manager
* The destination migration plugin manager.
* @param \Drupal\migrate\Plugin\MigratePluginManager $idmap_plugin_manager
* @param \Drupal\migrate\Plugin\MigratePluginManager
Interface
$idmap_plugin_manager
* The ID map migration plugin manager.
*/
public
function
__construct
(
array
$configuration
,
$plugin_id
,
$plugin_definition
,
MigrationPluginManagerInterface
$migration_plugin_manager
,
MigratePluginManager
$source_plugin_manager
,
MigratePluginManager
$process_plugin_manager
,
MigrateDestinationPluginManager
$destination_plugin_manager
,
MigratePluginManager
$idmap_plugin_manager
)
{
public
function
__construct
(
array
$configuration
,
$plugin_id
,
$plugin_definition
,
MigrationPluginManagerInterface
$migration_plugin_manager
,
MigratePluginManager
Interface
$source_plugin_manager
,
MigratePluginManager
Interface
$process_plugin_manager
,
MigrateDestinationPluginManager
$destination_plugin_manager
,
MigratePluginManager
Interface
$idmap_plugin_manager
)
{
parent
::
__construct
(
$configuration
,
$plugin_id
,
$plugin_definition
);
$this
->
migrationPluginManager
=
$migration_plugin_manager
;
$this
->
sourcePluginManager
=
$source_plugin_manager
;
...
...
core/modules/migrate/src/Plugin/migrate/process/Callback.php
View file @
614ba415
...
...
@@ -15,6 +15,8 @@
* arguments can be passed to the callback as this would make the migration YAML
* file too complex.
*
* @link https://www.drupal.org/node/2181783 Online handbook documentation for callback process plugin @endlink
*
* @MigrateProcessPlugin(
* id = "callback"
* )
...
...
core/modules/migrate/src/Plugin/migrate/process/Concat.php
View file @
614ba415
...
...
@@ -10,6 +10,8 @@
/**
* Concatenates the strings in the current value.
*
* @link https://www.drupal.org/node/2345927 Online handbook documentation for concat process plugin @endlink
*
* @MigrateProcessPlugin(
* id = "concat",
* handle_multiples = TRUE
...
...
core/modules/migrate/src/Plugin/migrate/process/DedupeBase.php
View file @
614ba415
...
...
@@ -15,6 +15,8 @@
* creating filter format names, the current value is checked against the
* existing filter format names and if it exists, a numeric postfix is added
* and incremented until a unique value is created.
*
* @link https://www.drupal.org/node/2345929 Online handbook documentation for dedupebase process plugin @endlink
*/
abstract
class
DedupeBase
extends
ProcessPluginBase
{
...
...
core/modules/migrate/src/Plugin/migrate/process/DedupeEntity.php
View file @
614ba415
...
...
@@ -10,6 +10,8 @@
/**
* Ensures value is not duplicated against an entity field.
*
* @link https://www.drupal.org/node/2135325 Online handbook documentation for dedupe_entity process plugin @endlink
*
* @MigrateProcessPlugin(
* id = "dedupe_entity"
* )
...
...
core/modules/migrate/src/Plugin/migrate/process/DefaultValue.php
View file @
614ba415
...
...
@@ -9,6 +9,8 @@
/**
* This plugin sets missing values on the destination.
*
* @link https://www.drupal.org/node/2135313 Online handbook documentation for default_value process plugin @endlink
*
* @MigrateProcessPlugin(
* id = "default_value"
* )
...
...
core/modules/migrate/src/Plugin/migrate/process/Explode.php
View file @
614ba415
...
...
@@ -10,6 +10,8 @@
/**
* This plugin explodes a delimited string into an array of values.
*
* @link https://www.drupal.org/node/2674504 Online handbook documentation for explode process plugin @endlink
*
* @MigrateProcessPlugin(
* id = "explode"
* )
...
...
core/modules/migrate/src/Plugin/migrate/process/Extract.php
View file @
614ba415
...
...
@@ -11,7 +11,7 @@
/**
* This plugin extracts a value from an array.
*
* @
see
https://www.drupal.org/node/2152731
* @
link
https://www.drupal.org/node/2152731
Online handbook documentation for extract process plugin @endlink
*
* @MigrateProcessPlugin(
* id = "extract"
...
...
core/modules/migrate/src/Plugin/migrate/process/Flatten.php
View file @
614ba415
...
...
@@ -12,7 +12,7 @@
* once a single value gets transformed into multiple values. This plugin will
* flatten them back down to single values again.
*
* @
see
https://www.drupal.org/node/2154215
* @
link
https://www.drupal.org/node/2154215
Online handbook documentation for flatten process plugin @endlink
*
* @MigrateProcessPlugin(
* id = "flatten",
...
...
core/modules/migrate/src/Plugin/migrate/process/Get.php
View file @
614ba415
...
...
@@ -9,6 +9,8 @@
/**
* This plugin copies from the source to the destination.
*
* @link https://www.drupal.org/node/2135307 Online handbook documentation for get process plugin @endlink
*
* @MigrateProcessPlugin(
* id = "get"
* )
...
...
core/modules/migrate/src/Plugin/migrate/process/Iterator.php
View file @
614ba415
...
...
@@ -9,7 +9,7 @@
/**
* This plugin iterates and processes an array.
*
* @
see
https://www.drupal.org/node/2135345
* @
link
https://www.drupal.org/node/2135345
Online handbook documentation for iterator process plugin @endlink
*
* @MigrateProcessPlugin(
* id = "iterator",
...
...
core/modules/migrate/src/Plugin/migrate/process/MachineName.php
View file @
614ba415
...
...
@@ -17,6 +17,8 @@
* and replaced by an underscore and multiple underscores are collapsed into
* one.
*
* @link https://www.drupal.org/node/2135323 Online handbook documentation for machine_name process plugin @endlink
*
* @MigrateProcessPlugin(
* id = "machine_name"
* )
...
...
core/modules/migrate/src/Plugin/migrate/process/Migration.php
View file @
614ba415
...
...
@@ -4,7 +4,7 @@
use
Drupal\Core\Plugin\ContainerFactoryPluginInterface
;
use
Drupal\migrate\MigrateSkipProcessException
;
use
Drupal\migrate\Plugin\MigratePluginManager
;
use
Drupal\migrate\Plugin\MigratePluginManager
Interface
;
use
Drupal\migrate\Plugin\MigrationPluginManagerInterface
;
use
Drupal\migrate\Plugin\MigrateIdMapInterface
;
use
Drupal\migrate\ProcessPluginBase
;
...
...
@@ -16,6 +16,8 @@
/**
* Calculates the value of a property based on a previous migration.
*
* @link https://www.drupal.org/node/2149801 Online handbook documentation for migration process plugin @endlink
*
* @MigrateProcessPlugin(
* id = "migration"
* )
...
...
@@ -39,7 +41,7 @@ class Migration extends ProcessPluginBase implements ContainerFactoryPluginInter
/**
* {@inheritdoc}
*/
public
function
__construct
(
array
$configuration
,
$plugin_id
,
$plugin_definition
,
MigrationInterface
$migration
,
MigrationPluginManagerInterface
$migration_plugin_manager
,
MigratePluginManager
$process_plugin_manager
)
{
public
function
__construct
(
array
$configuration
,
$plugin_id
,
$plugin_definition
,
MigrationInterface
$migration
,
MigrationPluginManagerInterface
$migration_plugin_manager
,
MigratePluginManager
Interface
$process_plugin_manager
)
{
parent
::
__construct
(
$configuration
,
$plugin_id
,
$plugin_definition
);
$this
->
migrationPluginManager
=
$migration_plugin_manager
;
$this
->
migration
=
$migration
;
...
...
core/modules/migrate/src/Plugin/migrate/process/Route.php
View file @
614ba415
...
...
@@ -11,7 +11,10 @@
use
Drupal\migrate\Row
;
/**
* @MigrateProcessPlugin(
*
* @link https://www.drupal.org/node/2750777 Online handbook documentation for route process plugin @endlink
*
* * @MigrateProcessPlugin(
* id = "route"
* )
*/
...
...
core/modules/migrate/src/Plugin/migrate/process/SkipOnEmpty.php
View file @
614ba415
...
...
@@ -11,6 +11,8 @@
/**
* If the source evaluates to empty, we skip processing or the whole row.
*
* @link https://www.drupal.org/node/2228793 Online handbook documentation for skip_on_empty process plugin @endlink
*
* @MigrateProcessPlugin(
* id = "skip_on_empty"
* )
...
...
Prev
1
2
3
Next