Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
PhraseTest.php
Go to the documentation of this file.
1 <?php
7 
9 
10 class PhraseTest extends \PHPUnit\Framework\TestCase
11 {
15  protected $defaultRenderer;
16 
20  protected $rendererMock;
21 
27  protected function setUp()
28  {
29  $this->defaultRenderer = Phrase::getRenderer();
30  $this->rendererMock = $this->getMockBuilder(\Magento\Framework\Phrase\RendererInterface::class)
31  ->getMock();
32  }
33 
39  protected function tearDown()
40  {
41  Phrase::setRenderer($this->defaultRenderer);
42  }
43 
49  public function testRendering()
50  {
51  $text = 'some text';
52  $arguments = ['arg1', 'arg2'];
53  $result = 'rendered text';
54  $phrase = new Phrase($text, $arguments);
55  Phrase::setRenderer($this->rendererMock);
56 
57  $this->rendererMock->expects($this->once())
58  ->method('render')
59  ->with([$text], $arguments)
60  ->willReturn($result);
61 
62  $this->assertEquals($result, $phrase->render());
63  }
64 
70  public function testDefersRendering()
71  {
72  $this->rendererMock->expects($this->never())
73  ->method('render');
74 
75  new Phrase('some text');
76  }
77 
84  {
85  $text = 'some text';
86  $arguments = ['arg1', 'arg2'];
87  $result = 'rendered text';
88  $phrase = new Phrase($text, $arguments);
89  Phrase::setRenderer($this->rendererMock);
90 
91  $this->rendererMock->expects($this->once())
92  ->method('render')
93  ->with([$text], $arguments)
94  ->willReturn($result);
95 
96  $this->assertEquals($result, (string)$phrase);
97  }
98 
104  public function testGetText()
105  {
106  $text = 'some text';
107  $phrase = new Phrase($text);
108 
109  $this->assertEquals($text, $phrase->getText());
110  }
111 
117  public function testGetArguments()
118  {
119  $text = 'some text';
120  $arguments = ['arg1', 'arg2'];
121  $phrase1 = new Phrase($text);
122  $phrase2 = new Phrase($text, $arguments);
123 
124  $this->assertEquals([], $phrase1->getArguments());
125  $this->assertEquals($arguments, $phrase2->getArguments());
126  }
127 
129  {
130  $text = 'raw text';
131  $exception = new \Exception('something went wrong');
132  $phrase = new Phrase($text);
133 
134  $this->rendererMock->expects($this->any())
135  ->method('render')
136  ->willThrowException($exception);
137 
138  $this->assertEquals($text, (string)$phrase);
139  }
140 
144  public function testDefaultRenderer()
145  {
146  $this->assertInstanceOf(\Magento\Framework\Phrase\Renderer\Placeholder::class, Phrase::getRenderer());
147  }
148 }
endifif( $block->getLastPageNum()>1)( 'Page') ?></strong >< ul class $text
Definition: pager.phtml:43
static setRenderer(RendererInterface $renderer)
Definition: Phrase.php:46
$arguments