]> git.mxchange.org Git - friendica.git/blob - tests/src/Content/SmiliesTest.php
Merge pull request #6933 from MrPetovan/bug/smilies-wrong-escape
[friendica.git] / tests / src / Content / SmiliesTest.php
1 <?php\r
2 /**\r
3  * Created by PhpStorm.\r
4  * User: benlo\r
5  * Date: 25/03/19\r
6  * Time: 21:36\r
7  */\r
8 \r
9 namespace Friendica\Test\src\Content;\r
10 \r
11 use Friendica\Content\Smilies;\r
12 use Friendica\Test\MockedTest;\r
13 use Friendica\Test\Util\AppMockTrait;\r
14 use Friendica\Test\Util\L10nMockTrait;\r
15 use Friendica\Test\Util\VFSTrait;\r
16 \r
17 class SmiliesTest extends MockedTest\r
18 {\r
19         use VFSTrait;\r
20         use AppMockTrait;\r
21         use L10nMockTrait;\r
22 \r
23         protected function setUp()\r
24         {\r
25                 parent::setUp();\r
26                 $this->setUpVfsDir();\r
27                 $this->mockApp($this->root);\r
28                 $this->app->videowidth = 425;\r
29                 $this->app->videoheight = 350;\r
30                 $this->configMock->shouldReceive('get')\r
31                         ->with('system', 'no_smilies')\r
32                         ->andReturn(false);\r
33                 $this->configMock->shouldReceive('get')\r
34                         ->with(false, 'system', 'no_smilies')\r
35                         ->andReturn(false);\r
36         }\r
37 \r
38         public function dataLinks()\r
39         {\r
40                 return [\r
41                         /** @see https://github.com/friendica/friendica/pull/6933 */\r
42                         'bug-6933-1' => [\r
43                                 'data' => '<code>/</code>',\r
44                                 'smilies' => ['texts' => [], 'icons' => []],\r
45                                 'expected' => '<code>/</code>',\r
46                         ],\r
47                         'bug-6933-2' => [\r
48                                 'data' => '<code>code</code>',\r
49                                 'smilies' => ['texts' => [], 'icons' => []],\r
50                                 'expected' => '<code>code</code>',\r
51                         ],\r
52                 ];\r
53         }\r
54 \r
55         /**\r
56          * Test replace smilies in different texts\r
57          * @dataProvider dataLinks\r
58          *\r
59          * @param string $text     Test string\r
60          * @param array  $smilies  List of smilies to replace\r
61          * @param string $expected Expected result\r
62          * @throws \Friendica\Network\HTTPException\InternalServerErrorException\r
63          */\r
64         public function testReplaceFromArray($text, $smilies, $expected)\r
65         {\r
66                 $output = Smilies::replaceFromArray($text, $smilies);\r
67                 $this->assertEquals($expected, $output);\r
68         }\r
69 }\r