class StringTranslationTraitTest
Same name and namespace in other branches
- 11.x core/tests/Drupal/Tests/Core/StringTranslation/StringTranslationTraitTest.php \Drupal\Tests\Core\StringTranslation\StringTranslationTraitTest
- 10 core/tests/Drupal/Tests/Core/StringTranslation/StringTranslationTraitTest.php \Drupal\Tests\Core\StringTranslation\StringTranslationTraitTest
- 8.9.x core/tests/Drupal/Tests/Core/StringTranslation/StringTranslationTraitTest.php \Drupal\Tests\Core\StringTranslation\StringTranslationTraitTest
@coversDefaultClass \Drupal\Core\StringTranslation\StringTranslationTrait
@group StringTranslation
Hierarchy
- class \Drupal\Tests\UnitTestCase uses \Drupal\Tests\Traits\PhpUnitWarnings, \Drupal\Tests\PhpUnitCompatibilityTrait, \Symfony\Bridge\PhpUnit\ExpectDeprecationTrait extends \PHPUnit\Framework\TestCase
- class \Drupal\Tests\Core\StringTranslation\StringTranslationTraitTest extends \Drupal\Tests\UnitTestCase
Expanded class hierarchy of StringTranslationTraitTest
File
-
core/
tests/ Drupal/ Tests/ Core/ StringTranslation/ StringTranslationTraitTest.php, line 15
Namespace
Drupal\Tests\Core\StringTranslationView source
class StringTranslationTraitTest extends UnitTestCase {
/**
* A reflection of self::$translation.
*
* @var \ReflectionClass
*/
protected $reflection;
/**
* The mock under test that uses StringTranslationTrait.
*
* @var object
* @see \PHPUnit\Framework\MockObject\Generator::getObjectForTrait()
*/
protected $translation;
/**
* {@inheritdoc}
*/
protected function setUp() : void {
$this->translation = $this->getObjectForTrait('\\Drupal\\Core\\StringTranslation\\StringTranslationTrait');
$mock = $this->prophesize(TranslationInterface::class);
$mock->translate(Argument::cetera())
->shouldNotBeCalled();
$mock->formatPlural(Argument::cetera())
->shouldNotBeCalled();
$mock->translateString(Argument::cetera())
->will(function ($args) {
return $args[0]->getUntranslatedString();
});
$this->translation
->setStringTranslation($mock->reveal());
$this->reflection = new \ReflectionClass(get_class($this->translation));
}
/**
* @covers ::t
*/
public function testT() {
$method = $this->reflection
->getMethod('t');
$method->setAccessible(TRUE);
$result = $method->invoke($this->translation, 'something');
$this->assertInstanceOf(TranslatableMarkup::class, $result);
$this->assertEquals('something', $result);
}
/**
* @covers ::formatPlural
*/
public function testFormatPlural() {
$method = $this->reflection
->getMethod('formatPlural');
$method->setAccessible(TRUE);
$result = $method->invoke($this->translation, 2, 'apple', 'apples');
$this->assertInstanceOf(PluralTranslatableMarkup::class, $result);
$this->assertEquals('apples', $result);
}
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.