function MigrateCckFieldPluginManagerTest::testPluginSelection

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.");
  }
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.