trait ComposerStagerTestTrait

Contains helper methods for testing Composer Stager interactions.

@internal

@property \Symfony\Component\DependencyInjection\ContainerInterface $container

Hierarchy

1 file declares its use of ComposerStagerTestTrait
PackageManagerKernelTestBase.php in core/modules/package_manager/tests/src/Kernel/PackageManagerKernelTestBase.php

File

core/modules/package_manager/tests/src/Traits/ComposerStagerTestTrait.php, line 18

Namespace

Drupal\Tests\package_manager\Traits
View source
trait ComposerStagerTestTrait {
  
  /**
   * Creates a Composer Stager translatable message.
   *
   * @param string $message
   *   A message containing optional placeholders corresponding to parameters (next). Example:
   *   ```php
   *   $message = 'Hello, %first_name %last_name.';
   *   ```.
   * @param \PhpTuf\ComposerStager\API\Translation\Value\TranslationParametersInterface|null $parameters
   *   Translation parameters.
   * @param string|null $domain
   *   An arbitrary domain for grouping translations or null to use the default. See
   *   {@see \PhpTuf\ComposerStager\API\Translation\Service\DomainOptionsInterface}.
   *
   * @return \PhpTuf\ComposerStager\API\Translation\Value\TranslatableInterface
   *   A message that can be translated by Composer Stager.
   */
  protected function createComposeStagerMessage(string $message, ?TranslationParametersInterface $parameters = NULL, ?string $domain = NULL) : TranslatableInterface {
    /** @var \PhpTuf\ComposerStager\API\Translation\Factory\TranslatableFactoryInterface $translatable_factory */
    $translatable_factory = $this->container
      ->get(TranslatableFactoryInterface::class);
    return $translatable_factory->createTranslatableMessage($message, $parameters, $domain);
  }

}

Members

Title Sort descending Modifiers Object type Summary
ComposerStagerTestTrait::createComposeStagerMessage protected function Creates a Composer Stager translatable message.

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