function ComponentMetadataTest::testGetEnumOptions

@covers ::getEnumOptions

Attributes

#[DataProvider('dataProviderEnumOptionsMetadata')]

File

core/tests/Drupal/Tests/Core/Theme/Component/ComponentMetadataTest.php, line 450

Class

ComponentMetadataTest
Unit tests for the component metadata class.

Namespace

Drupal\Tests\Core\Theme\Component

Code

public function testGetEnumOptions(array $metadata_info, string $prop_name, array $expected_values, string $expected_context) : void {
    $translation = $this->getStringTranslationStub();
    $container = new ContainerBuilder();
    $container->set('string_translation', $translation);
    \Drupal::setContainer($container);
    $component_metadata = new ComponentMetadata($metadata_info, 'foo/', TRUE);
    $options = $component_metadata->getEnumOptions($prop_name);
    $rendered_options = array_map(fn($value) => (string) $value, $options);
    $this->assertSame($expected_values, $rendered_options);
    foreach ($options as $translatable) {
        $this->assertSame($expected_context, $translatable->getOption('context'));
    }
}

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