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.