function ModuleTest::testViewsFetchPluginNames

Same name and namespace in other branches
  1. 8.9.x core/modules/views/tests/src/Kernel/ModuleTest.php \Drupal\Tests\views\Kernel\ModuleTest::testViewsFetchPluginNames()
  2. 10 core/modules/views/tests/src/Kernel/ModuleTest.php \Drupal\Tests\views\Kernel\ModuleTest::testViewsFetchPluginNames()
  3. 11.x core/modules/views/tests/src/Kernel/ModuleTest.php \Drupal\Tests\views\Kernel\ModuleTest::testViewsFetchPluginNames()

Tests the \Drupal\views\Views::fetchPluginNames() method.

File

core/modules/views/tests/src/Kernel/ModuleTest.php, line 205

Class

ModuleTest
Tests basic functions from the Views module.

Namespace

Drupal\Tests\views\Kernel

Code

public function testViewsFetchPluginNames() {
    // All style plugins should be returned, as we have not specified a type.
    $plugins = Views::fetchPluginNames('style');
    $definitions = $this->container
        ->get('plugin.manager.views.style')
        ->getDefinitions();
    $expected = [];
    foreach ($definitions as $id => $definition) {
        $expected[$id] = $definition['title'];
    }
    asort($expected);
    $this->assertSame(array_keys($expected), array_keys($plugins));
    // Test using the 'test' style plugin type only returns the test_style and
    // mapping_test plugins.
    $plugins = Views::fetchPluginNames('style', 'test');
    $this->assertSame([
        'mapping_test',
        'test_style',
        'test_template_style',
    ], array_keys($plugins));
    // Test a non existent style plugin type returns no plugins.
    $plugins = Views::fetchPluginNames('style', $this->randomString());
    $this->assertSame([], $plugins);
}

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