You are here

public function MigrateCckFieldPluginManagerTest::testPluginSelection in Drupal 8

Tests that the correct MigrateCckField plugins are used.

File

core/modules/migrate_drupal/tests/src/Kernel/MigrateCckFieldPluginManagerTest.php, line 31

Class

MigrateCckFieldPluginManagerTest
Tests the cck field plugin manager.

Namespace

Drupal\Tests\migrate_drupal\Kernel

Code

public function testPluginSelection() {
  $plugin_manager = \Drupal::service('plugin.manager.migrate.cckfield');
  $this
    ->assertSame('d6_file', $plugin_manager
    ->getPluginIdFromFieldType('file', [
    'core' => 6,
  ]));
  try {

    // If this test passes, getPluginIdFromFieldType will raise a
    // PluginNotFoundException and we'll never reach fail().
    $plugin_manager
      ->getPluginIdFromFieldType('d6_file', [
      'core' => 7,
    ]);
    $this
      ->fail('Expected Drupal\\Component\\Plugin\\Exception\\PluginNotFoundException.');
  } catch (PluginNotFoundException $e) {
    $this
      ->assertSame($e
      ->getMessage(), "Plugin ID 'd6_file' was not found.");
  }

  // Test fallback when no core version is specified.
  $this
    ->assertSame('d6_no_core_version_specified', $plugin_manager
    ->getPluginIdFromFieldType('d6_no_core_version_specified', [
    'core' => 6,
  ]));
  try {

    // If this test passes, getPluginIdFromFieldType will raise a
    // PluginNotFoundException and we'll never reach fail().
    $plugin_manager
      ->getPluginIdFromFieldType('d6_no_core_version_specified', [
      'core' => 7,
    ]);
    $this
      ->fail('Expected Drupal\\Component\\Plugin\\Exception\\PluginNotFoundException.');
  } catch (PluginNotFoundException $e) {
    $this
      ->assertSame($e
      ->getMessage(), "Plugin ID 'd6_no_core_version_specified' was not found.");
  }
}