123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- namespace Magento\Framework\Exception\Test\Unit;
- use \Magento\Framework\Exception\LocalizedException;
- use Magento\Framework\Phrase;
- /**
- * Class LocalizedExceptionTest
- */
- class LocalizedExceptionTest extends \PHPUnit\Framework\TestCase
- {
- /** @var \Magento\Framework\Phrase\RendererInterface */
- private $defaultRenderer;
- /** @var string */
- private $renderedMessage;
- /**
- * @return void
- */
- protected function setUp()
- {
- $this->defaultRenderer = \Magento\Framework\Phrase::getRenderer();
- $rendererMock = $this->getMockBuilder(\Magento\Framework\Phrase\Renderer\Placeholder::class)
- ->disableOriginalConstructor()
- ->getMock();
- $this->renderedMessage = 'rendered message';
- $rendererMock->expects($this->once())
- ->method('render')
- ->will($this->returnValue($this->renderedMessage));
- \Magento\Framework\Phrase::setRenderer($rendererMock);
- }
- /**
- * @return void
- */
- public function tearDown()
- {
- \Magento\Framework\Phrase::setRenderer($this->defaultRenderer);
- }
- /**
- * @param string $message
- * @param array $params
- * @param string $expectedLogMessage
- * @return void
- * @dataProvider constructorParametersDataProvider
- */
- public function testConstructor($message, $params, $expectedLogMessage)
- {
- $cause = new \Exception();
- $localizeException = new LocalizedException(
- new Phrase($message, $params),
- $cause
- );
- $this->assertEquals(0, $localizeException->getCode());
- $this->assertEquals($message, $localizeException->getRawMessage());
- $this->assertEquals($this->renderedMessage, $localizeException->getMessage());
- $this->assertEquals($expectedLogMessage, $localizeException->getLogMessage());
- $this->assertSame($cause, $localizeException->getPrevious());
- }
- /**
- * @return array
- */
- public function constructorParametersDataProvider()
- {
- return [
- 'withNoNameParameters' => [
- 'message %1 %2',
- ['parameter1',
- 'parameter2'],
- 'message parameter1 parameter2',
- ],
- 'withNamedParameters' => [
- 'message %key1 %key2',
- ['key1' => 'parameter1',
- 'key2' => 'parameter2'],
- 'message parameter1 parameter2',
- ],
- 'withoutParameters' => [
- 'message',
- [],
- 'message',
- 'message',
- ],
- ];
- }
- /**
- * @return void
- */
- public function testGetRawMessage()
- {
- $message = 'message %1 %2';
- $params = [
- 'parameter1',
- 'parameter2',
- ];
- $cause = new \Exception();
- $localizeException = new LocalizedException(
- new Phrase($message, $params),
- $cause
- );
- $this->assertEquals($message, $localizeException->getRawMessage());
- }
- /**
- * @return void
- */
- public function testGetParameters()
- {
- $message = 'message %1 %2';
- $params = [
- 'parameter1',
- 'parameter2',
- ];
- $cause = new \Exception();
- $localizeException = new LocalizedException(
- new Phrase($message, $params),
- $cause
- );
- $this->assertEquals($params, $localizeException->getParameters());
- }
- /**
- * @return void
- */
- public function testGetLogMessage()
- {
- $message = 'message %1 %2';
- $params = [
- 'parameter1',
- 'parameter2',
- ];
- $cause = new \Exception();
- $localizeException = new LocalizedException(
- new Phrase($message, $params),
- $cause
- );
- $expectedLogMessage = 'message parameter1 parameter2';
- $this->assertEquals($expectedLogMessage, $localizeException->getLogMessage());
- }
- public function testGetCode()
- {
- $expectedCode = 42;
- $localizedException = new LocalizedException(
- new Phrase("message %1", ['test']),
- new \Exception(),
- $expectedCode
- );
- $this->assertEquals($expectedCode, $localizedException->getCode());
- }
- }
|