]> git.mxchange.org Git - friendica.git/blob - tests/src/Content/SmiliesTest.php
Add more special chars at tests
[friendica.git] / tests / src / Content / SmiliesTest.php
1 <?php
2 /**
3  * @copyright Copyright (C) 2010-2023, the Friendica project
4  *
5  * @license GNU AGPL version 3 or any later version
6  *
7  * This program is free software: you can redistribute it and/or modify
8  * it under the terms of the GNU Affero General Public License as
9  * published by the Free Software Foundation, either version 3 of the
10  * License, or (at your option) any later version.
11  *
12  * This program is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15  * GNU Affero General Public License for more details.
16  *
17  * You should have received a copy of the GNU Affero General Public License
18  * along with this program.  If not, see <https://www.gnu.org/licenses/>.
19  *
20  * Created by PhpStorm.
21  * User: benlo
22  * Date: 25/03/19
23  * Time: 21:36
24  */
25
26 namespace Friendica\Test\src\Content;
27
28 use Friendica\Content\Smilies;
29 use Friendica\DI;
30 use Friendica\Network\HTTPException\InternalServerErrorException;
31 use Friendica\Test\FixtureTest;
32
33 class SmiliesTest extends FixtureTest
34 {
35         protected function setUp(): void
36         {
37                 parent::setUp();
38
39                 DI::config()->set('system', 'no_smilies', false);
40         }
41
42         public function dataLinks()
43         {
44                 return [
45                         /** @see https://github.com/friendica/friendica/pull/6933 */
46                         'bug-6933-1' => [
47                                 'data' => '<code>/</code>',
48                                 'smilies' => ['texts' => [], 'icons' => []],
49                                 'expected' => '<code>/</code>',
50                         ],
51                         'bug-6933-2' => [
52                                 'data' => '<code>code</code>',
53                                 'smilies' => ['texts' => [], 'icons' => []],
54                                 'expected' => '<code>code</code>',
55                         ],
56                 ];
57         }
58
59         /**
60          * Test replace smilies in different texts
61          *
62          * @dataProvider dataLinks
63          *
64          * @param string $text     Test string
65          * @param array  $smilies  List of smilies to replace
66          * @param string $expected Expected result
67          *
68          * @throws InternalServerErrorException
69          */
70         public function testReplaceFromArray(string $text, array $smilies, string $expected)
71         {
72                 $output = Smilies::replaceFromArray($text, $smilies);
73                 self::assertEquals($expected, $output);
74         }
75 }