class DefaultSingleLazyPluginCollectionTest
Same name in other branches
- 9 core/tests/Drupal/Tests/Core/Plugin/DefaultSingleLazyPluginCollectionTest.php \Drupal\Tests\Core\Plugin\DefaultSingleLazyPluginCollectionTest
- 8.9.x core/tests/Drupal/Tests/Core/Plugin/DefaultSingleLazyPluginCollectionTest.php \Drupal\Tests\Core\Plugin\DefaultSingleLazyPluginCollectionTest
- 11.x core/tests/Drupal/Tests/Core/Plugin/DefaultSingleLazyPluginCollectionTest.php \Drupal\Tests\Core\Plugin\DefaultSingleLazyPluginCollectionTest
@coversDefaultClass \Drupal\Core\Plugin\DefaultSingleLazyPluginCollection @group Plugin
Hierarchy
- class \Drupal\Tests\UnitTestCase extends \PHPUnit\Framework\TestCase uses \Drupal\Tests\Traits\PhpUnitWarnings, \Drupal\Tests\PhpUnitCompatibilityTrait, \Prophecy\PhpUnit\ProphecyTrait, \Symfony\Bridge\PhpUnit\ExpectDeprecationTrait, \Drupal\Tests\RandomGeneratorTrait
- class \Drupal\Tests\Core\Plugin\LazyPluginCollectionTestBase extends \Drupal\Tests\UnitTestCase
- class \Drupal\Tests\Core\Plugin\DefaultSingleLazyPluginCollectionTest extends \Drupal\Tests\Core\Plugin\LazyPluginCollectionTestBase
- class \Drupal\Tests\Core\Plugin\LazyPluginCollectionTestBase extends \Drupal\Tests\UnitTestCase
Expanded class hierarchy of DefaultSingleLazyPluginCollectionTest
File
-
core/
tests/ Drupal/ Tests/ Core/ Plugin/ DefaultSingleLazyPluginCollectionTest.php, line 16
Namespace
Drupal\Tests\Core\PluginView source
class DefaultSingleLazyPluginCollectionTest extends LazyPluginCollectionTestBase {
/**
* {@inheritdoc}
*/
protected function setupPluginCollection(?InvocationOrder $create_count = NULL) {
$definitions = $this->getPluginDefinitions();
$this->pluginInstances['apple'] = new ConfigurablePlugin([
'id' => 'apple',
'key' => 'value',
], 'apple', $definitions['apple']);
$this->pluginInstances['banana'] = new ConfigurablePlugin([
'id' => 'banana',
'key' => 'other_value',
], 'banana', $definitions['banana']);
$create_count = $create_count ?: $this->never();
$this->pluginManager
->expects($create_count)
->method('createInstance')
->willReturnCallback(function ($id) {
return $this->pluginInstances[$id];
});
$this->defaultPluginCollection = new DefaultSingleLazyPluginCollection($this->pluginManager, 'apple', [
'id' => 'apple',
'key' => 'value',
]);
}
/**
* Tests the get() method.
*/
public function testGet() : void {
$this->setupPluginCollection($this->once());
$apple = $this->pluginInstances['apple'];
$this->assertSame($apple, $this->defaultPluginCollection
->get('apple'));
}
/**
* @covers ::addInstanceId
* @covers ::getConfiguration
* @covers ::setConfiguration
*/
public function testAddInstanceId() : void {
$this->setupPluginCollection($this->any());
$this->assertEquals([
'id' => 'apple',
'key' => 'value',
], $this->defaultPluginCollection
->get('apple')
->getConfiguration());
$this->assertEquals([
'id' => 'apple',
'key' => 'value',
], $this->defaultPluginCollection
->getConfiguration());
$this->defaultPluginCollection
->addInstanceId('banana', [
'id' => 'banana',
'key' => 'other_value',
]);
$this->assertEquals([
'id' => 'apple',
'key' => 'value',
], $this->defaultPluginCollection
->get('apple')
->getConfiguration());
$this->assertEquals([
'id' => 'banana',
'key' => 'other_value',
], $this->defaultPluginCollection
->getConfiguration());
$this->assertEquals([
'id' => 'banana',
'key' => 'other_value',
], $this->defaultPluginCollection
->get('banana')
->getConfiguration());
}
/**
* @covers ::getInstanceIds
*/
public function testGetInstanceIds() : void {
$this->setupPluginCollection($this->any());
$this->assertEquals([
'apple' => 'apple',
], $this->defaultPluginCollection
->getInstanceIds());
$this->defaultPluginCollection
->addInstanceId('banana', [
'id' => 'banana',
'key' => 'other_value',
]);
$this->assertEquals([
'banana' => 'banana',
], $this->defaultPluginCollection
->getInstanceIds());
}
/**
* @covers ::setConfiguration
*/
public function testConfigurableSetConfiguration() : void {
$this->setupPluginCollection($this->any());
$this->defaultPluginCollection
->setConfiguration([
'apple' => [
'value' => 'pineapple',
'id' => 'apple',
],
]);
$config = $this->defaultPluginCollection
->getConfiguration();
$this->assertSame([
'apple' => [
'value' => 'pineapple',
'id' => 'apple',
],
], $config);
$plugin = $this->pluginInstances['apple'];
$this->assertSame([
'apple' => [
'value' => 'pineapple',
'id' => 'apple',
],
], $plugin->getConfiguration());
$this->defaultPluginCollection
->setConfiguration([]);
$this->assertSame([], $this->defaultPluginCollection
->getConfiguration());
$this->defaultPluginCollection
->setConfiguration([
'cherry' => [
'value' => 'kiwi',
'id' => 'cherry',
],
]);
$expected['cherry'] = [
'value' => 'kiwi',
'id' => 'cherry',
];
$config = $this->defaultPluginCollection
->getConfiguration();
$this->assertSame($expected, $config);
}
/**
* @covers ::setConfiguration
* @group legacy
*/
public function testConfigurableSetConfigurationToNull() : void {
$this->setupPluginCollection($this->any());
$this->expectDeprecation('Calling Drupal\\Core\\Plugin\\DefaultSingleLazyPluginCollection::setConfiguration() with a non-array argument is deprecated in drupal:10.3.0 and will fail in drupal:11.0.0. See https://www.drupal.org/node/3406191');
$this->defaultPluginCollection
->setConfiguration(NULL);
$this->assertSame([], $this->defaultPluginCollection
->getConfiguration());
}
}
Members
Title Sort descending | Deprecated | Modifiers | Object type | Summary | Overriden Title | Overrides |
---|---|---|---|---|---|---|
DefaultSingleLazyPluginCollectionTest::setupPluginCollection | protected | function | Sets up the default plugin collection. | Overrides LazyPluginCollectionTestBase::setupPluginCollection | ||
DefaultSingleLazyPluginCollectionTest::testAddInstanceId | public | function | @covers ::addInstanceId @covers ::getConfiguration @covers ::setConfiguration |
|||
DefaultSingleLazyPluginCollectionTest::testConfigurableSetConfiguration | public | function | @covers ::setConfiguration | |||
DefaultSingleLazyPluginCollectionTest::testConfigurableSetConfigurationToNull | public | function | @covers ::setConfiguration @group legacy |
|||
DefaultSingleLazyPluginCollectionTest::testGet | public | function | Tests the get() method. | |||
DefaultSingleLazyPluginCollectionTest::testGetInstanceIds | public | function | @covers ::getInstanceIds | |||
LazyPluginCollectionTestBase::$config | protected | property | Contains the plugin configuration. | |||
LazyPluginCollectionTestBase::$defaultPluginCollection | protected | property | The tested plugin collection. | |||
LazyPluginCollectionTestBase::$pluginInstances | protected | property | Stores all setup plugin instances. | 1 | ||
LazyPluginCollectionTestBase::$pluginManager | protected | property | The mocked plugin manager. | |||
LazyPluginCollectionTestBase::getPluginDefinitions | protected | function | Returns some example plugin definitions. | |||
LazyPluginCollectionTestBase::getPluginMock | protected | function | Returns a mocked plugin object. | 1 | ||
LazyPluginCollectionTestBase::returnPluginMap | public | function | Return callback for createInstance. | |||
LazyPluginCollectionTestBase::setUp | protected | function | Overrides UnitTestCase::setUp | |||
PhpUnitWarnings::$deprecationWarnings | private static | property | Deprecation warnings from PHPUnit to raise with @trigger_error(). | |||
PhpUnitWarnings::addWarning | public | function | Converts PHPUnit deprecation warnings to E_USER_DEPRECATED. | |||
RandomGeneratorTrait::getRandomGenerator | protected | function | Gets the random generator for the utility methods. | |||
RandomGeneratorTrait::randomMachineName | protected | function | Generates a unique random string containing letters and numbers. | |||
RandomGeneratorTrait::randomObject | public | function | Generates a random PHP object. | |||
RandomGeneratorTrait::randomString | public | function | Generates a pseudo-random string of ASCII characters of codes 32 to 126. | |||
RandomGeneratorTrait::randomStringValidate | Deprecated | public | function | Callback for random string validation. | ||
UnitTestCase::$root | protected | property | The app root. | 1 | ||
UnitTestCase::getClassResolverStub | protected | function | Returns a stub class resolver. | |||
UnitTestCase::getConfigFactoryStub | public | function | Returns a stub config factory that behaves according to the passed array. | |||
UnitTestCase::getConfigStorageStub | public | function | Returns a stub config storage that returns the supplied configuration. | |||
UnitTestCase::getContainerWithCacheTagsInvalidator | protected | function | Sets up a container with a cache tags invalidator. | |||
UnitTestCase::getStringTranslationStub | public | function | Returns a stub translation manager that just returns the passed string. | |||
UnitTestCase::setUpBeforeClass | public static | function | ||||
UnitTestCase::__get | public | function |
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.