Loading core/tests/Drupal/Tests/Core/StringTranslation/StringTranslationTraitTest.php +25 −27 Original line number Diff line number Diff line Loading @@ -5,6 +5,7 @@ namespace Drupal\Tests\Core\StringTranslation; use Drupal\Core\StringTranslation\PluralTranslatableMarkup; use Drupal\Core\StringTranslation\StringTranslationTrait; use Drupal\Core\StringTranslation\TranslatableMarkup; use Drupal\Core\StringTranslation\TranslationInterface; use Drupal\Tests\UnitTestCase; Loading @@ -17,19 +18,9 @@ class StringTranslationTraitTest extends UnitTestCase { /** * A reflection of self::$translation. * * @var \ReflectionClass * The object under test that uses StringTranslationTrait. */ protected $reflection; /** * The mock under test that uses StringTranslationTrait. * * @var object * @see \PHPUnit\Framework\MockObject\Generator::getObjectForTrait() */ protected $translation; protected object $testObject; /** * {@inheritdoc} Loading @@ -37,24 +28,29 @@ class StringTranslationTraitTest extends UnitTestCase { protected function setUp(): void { parent::setUp(); $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) { // Prepare a mock translation service to pass to the trait. $translation = $this->prophesize(TranslationInterface::class); $translation->translate(Argument::cetera())->shouldNotBeCalled(); $translation->formatPlural(Argument::cetera())->shouldNotBeCalled(); $translation->translateString(Argument::cetera())->will(function ($args) { return $args[0]->getUntranslatedString(); }); $this->translation->setStringTranslation($mock->reveal()); $this->reflection = new \ReflectionClass(get_class($this->translation)); // Set up the object under test. $this->testObject = new class() { use StringTranslationTrait; }; $this->testObject->setStringTranslation($translation->reveal()); } /** * @covers ::t */ public function testT() { $method = $this->reflection->getMethod('t'); $result = $method->invoke($this->translation, 'something'); public function testT(): void { $invokableT = new \ReflectionMethod($this->testObject, 't'); $result = $invokableT->invoke($this->testObject, 'something'); $this->assertInstanceOf(TranslatableMarkup::class, $result); $this->assertEquals('something', $result); } Loading @@ -62,10 +58,12 @@ public function testT() { /** * @covers ::formatPlural */ public function testFormatPlural() { $method = $this->reflection->getMethod('formatPlural'); $result = $method->invoke($this->translation, 2, 'apple', 'apples'); public function testFormatPlural(): void { $invokableFormatPlural = new \ReflectionMethod($this->testObject, 'formatPlural'); $result = $invokableFormatPlural->invoke($this->testObject, 1, 'apple', 'apples'); $this->assertInstanceOf(PluralTranslatableMarkup::class, $result); $this->assertEquals('apple', $result); $result = $invokableFormatPlural->invoke($this->testObject, 2, 'apple', 'apples'); $this->assertInstanceOf(PluralTranslatableMarkup::class, $result); $this->assertEquals('apples', $result); } Loading Loading
core/tests/Drupal/Tests/Core/StringTranslation/StringTranslationTraitTest.php +25 −27 Original line number Diff line number Diff line Loading @@ -5,6 +5,7 @@ namespace Drupal\Tests\Core\StringTranslation; use Drupal\Core\StringTranslation\PluralTranslatableMarkup; use Drupal\Core\StringTranslation\StringTranslationTrait; use Drupal\Core\StringTranslation\TranslatableMarkup; use Drupal\Core\StringTranslation\TranslationInterface; use Drupal\Tests\UnitTestCase; Loading @@ -17,19 +18,9 @@ class StringTranslationTraitTest extends UnitTestCase { /** * A reflection of self::$translation. * * @var \ReflectionClass * The object under test that uses StringTranslationTrait. */ protected $reflection; /** * The mock under test that uses StringTranslationTrait. * * @var object * @see \PHPUnit\Framework\MockObject\Generator::getObjectForTrait() */ protected $translation; protected object $testObject; /** * {@inheritdoc} Loading @@ -37,24 +28,29 @@ class StringTranslationTraitTest extends UnitTestCase { protected function setUp(): void { parent::setUp(); $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) { // Prepare a mock translation service to pass to the trait. $translation = $this->prophesize(TranslationInterface::class); $translation->translate(Argument::cetera())->shouldNotBeCalled(); $translation->formatPlural(Argument::cetera())->shouldNotBeCalled(); $translation->translateString(Argument::cetera())->will(function ($args) { return $args[0]->getUntranslatedString(); }); $this->translation->setStringTranslation($mock->reveal()); $this->reflection = new \ReflectionClass(get_class($this->translation)); // Set up the object under test. $this->testObject = new class() { use StringTranslationTrait; }; $this->testObject->setStringTranslation($translation->reveal()); } /** * @covers ::t */ public function testT() { $method = $this->reflection->getMethod('t'); $result = $method->invoke($this->translation, 'something'); public function testT(): void { $invokableT = new \ReflectionMethod($this->testObject, 't'); $result = $invokableT->invoke($this->testObject, 'something'); $this->assertInstanceOf(TranslatableMarkup::class, $result); $this->assertEquals('something', $result); } Loading @@ -62,10 +58,12 @@ public function testT() { /** * @covers ::formatPlural */ public function testFormatPlural() { $method = $this->reflection->getMethod('formatPlural'); $result = $method->invoke($this->translation, 2, 'apple', 'apples'); public function testFormatPlural(): void { $invokableFormatPlural = new \ReflectionMethod($this->testObject, 'formatPlural'); $result = $invokableFormatPlural->invoke($this->testObject, 1, 'apple', 'apples'); $this->assertInstanceOf(PluralTranslatableMarkup::class, $result); $this->assertEquals('apple', $result); $result = $invokableFormatPlural->invoke($this->testObject, 2, 'apple', 'apples'); $this->assertInstanceOf(PluralTranslatableMarkup::class, $result); $this->assertEquals('apples', $result); } Loading