public function PluginInstanceTest::testPluginInstances in Views (for Drupal 7) 8.3
Tests creating instances of every views plugin.
This will iterate through all plugins from _views_fetch_plugin_data().
File
- lib/
Drupal/ views/ Tests/ PluginInstanceTest.php, line 86 - Definition of Drupal\views\Tests\PluginInstanceTest.
Class
- PluginInstanceTest
- Checks general plugin data and instances for all plugin types.
Namespace
Drupal\views\TestsCode
public function testPluginInstances() {
$container = drupal_container();
foreach ($this->definitions as $type => $plugins) {
// Get a plugin manager for this type.
$manager = $container
->get("plugin.manager.views.{$type}");
foreach ($plugins as $definition) {
// Get a reflection class for this plugin.
// We only want to test true plugins, i.e. They extend PluginBase.
$reflection = new \ReflectionClass($definition['class']);
if ($reflection
->isSubclassOf('Drupal\\views\\Plugin\\views\\PluginBase')) {
// Create a plugin instance and check what it is. This is not just
// good to check they can be created but for throwing any notices for
// method signatures etc... too.
$instance = $manager
->createInstance($definition['id']);
$this
->assertTrue($instance instanceof $definition['class'], format_string('Instance of @type:@id created', array(
'@type' => $type,
'@id' => $definition['id'],
)));
}
}
}
}