You are here

public function DefaultLazyPluginCollectionTest::testAddInstanceId in Drupal 10

Same name and namespace in other branches
  1. 8 core/tests/Drupal/Tests/Core/Plugin/DefaultLazyPluginCollectionTest.php \Drupal\Tests\Core\Plugin\DefaultLazyPluginCollectionTest::testAddInstanceId()
  2. 9 core/tests/Drupal/Tests/Core/Plugin/DefaultLazyPluginCollectionTest.php \Drupal\Tests\Core\Plugin\DefaultLazyPluginCollectionTest::testAddInstanceId()

@covers ::addInstanceId

File

core/tests/Drupal/Tests/Core/Plugin/DefaultLazyPluginCollectionTest.php, line 119

Class

DefaultLazyPluginCollectionTest
@coversDefaultClass \Drupal\Core\Plugin\DefaultLazyPluginCollection @group Plugin

Namespace

Drupal\Tests\Core\Plugin

Code

public function testAddInstanceId() {
  $this
    ->setupPluginCollection($this
    ->exactly(4));
  $expected = [
    'banana' => 'banana',
    'cherry' => 'cherry',
    'apple' => 'apple',
  ];
  $this->defaultPluginCollection
    ->addInstanceId('apple');
  $result = $this->defaultPluginCollection
    ->getInstanceIds();
  $this
    ->assertSame($expected, $result);
  $this
    ->assertSame($expected, array_intersect_key($result, $this->defaultPluginCollection
    ->getConfiguration()));
  $expected = [
    'cherry' => 'cherry',
    'apple' => 'apple',
    'banana' => 'banana',
  ];
  $this->defaultPluginCollection
    ->removeInstanceId('banana');
  $this->defaultPluginCollection
    ->addInstanceId('banana', $this->config['banana']);
  $result = $this->defaultPluginCollection
    ->getInstanceIds();
  $this
    ->assertSame($expected, $result);
  $this
    ->assertSame($expected, array_intersect_key($result, $this->defaultPluginCollection
    ->getConfiguration()));
}