| Línea 27... |
Línea 27... |
| 27 |
* @license http://www.gnu.org/copyleft/gpl.html GNU Public License
|
27 |
* @license http://www.gnu.org/copyleft/gpl.html GNU Public License
|
| 28 |
* @covers ::format_text
|
28 |
* @covers ::format_text
|
| 29 |
*/
|
29 |
*/
|
| 30 |
class weblib_format_text_test extends \advanced_testcase {
|
30 |
class weblib_format_text_test extends \advanced_testcase {
|
| Línea 31... |
Línea 31... |
| 31 |
|
31 |
|
| 32 |
public function test_format_text_format_html() {
|
32 |
public function test_format_text_format_html(): void {
|
| 33 |
$this->resetAfterTest();
|
33 |
$this->resetAfterTest();
|
| 34 |
filter_set_global_state('emoticon', TEXTFILTER_ON);
|
34 |
filter_set_global_state('emoticon', TEXTFILTER_ON);
|
| 35 |
$this->assertMatchesRegularExpression('~^<p><img class="icon emoticon" alt="smile" title="smile" ' .
|
35 |
$this->assertMatchesRegularExpression('~^<p><img class="icon emoticon" alt="smile" title="smile" ' .
|
| 36 |
'src="https://www.example.com/moodle/theme/image.php/boost/core/1/s/smiley" /></p>$~',
|
36 |
'src="https://www.example.com/moodle/theme/image.php/boost/core/1/s/smiley" /></p>$~',
|
| 37 |
format_text('<p>:-)</p>', FORMAT_HTML));
|
37 |
format_text('<p>:-)</p>', FORMAT_HTML));
|
| Línea 38... |
Línea 38... |
| 38 |
}
|
38 |
}
|
| 39 |
|
39 |
|
| 40 |
public function test_format_text_format_html_no_filters() {
|
40 |
public function test_format_text_format_html_no_filters(): void {
|
| 41 |
$this->resetAfterTest();
|
41 |
$this->resetAfterTest();
|
| 42 |
filter_set_global_state('emoticon', TEXTFILTER_ON);
|
42 |
filter_set_global_state('emoticon', TEXTFILTER_ON);
|
| 43 |
$this->assertEquals('<p>:-)</p>',
|
43 |
$this->assertEquals('<p>:-)</p>',
|
| Línea 44... |
Línea 44... |
| 44 |
format_text('<p>:-)</p>', FORMAT_HTML, array('filter' => false)));
|
44 |
format_text('<p>:-)</p>', FORMAT_HTML, array('filter' => false)));
|
| 45 |
}
|
45 |
}
|
| 46 |
|
46 |
|
| 47 |
public function test_format_text_format_plain() {
|
47 |
public function test_format_text_format_plain(): void {
|
| 48 |
// Note FORMAT_PLAIN does not filter ever, no matter we ask for filtering.
|
48 |
// Note FORMAT_PLAIN does not filter ever, no matter we ask for filtering.
|
| 49 |
$this->resetAfterTest();
|
49 |
$this->resetAfterTest();
|
| 50 |
filter_set_global_state('emoticon', TEXTFILTER_ON);
|
50 |
filter_set_global_state('emoticon', TEXTFILTER_ON);
|
| Línea 51... |
Línea 51... |
| 51 |
$this->assertEquals(':-)',
|
51 |
$this->assertEquals(':-)',
|
| 52 |
format_text(':-)', FORMAT_PLAIN));
|
52 |
format_text(':-)', FORMAT_PLAIN));
|
| 53 |
}
|
53 |
}
|
| 54 |
|
54 |
|
| 55 |
public function test_format_text_format_plain_no_filters() {
|
55 |
public function test_format_text_format_plain_no_filters(): void {
|
| 56 |
$this->resetAfterTest();
|
56 |
$this->resetAfterTest();
|
| Línea 57... |
Línea 57... |
| 57 |
filter_set_global_state('emoticon', TEXTFILTER_ON);
|
57 |
filter_set_global_state('emoticon', TEXTFILTER_ON);
|
| 58 |
$this->assertEquals(':-)',
|
58 |
$this->assertEquals(':-)',
|
| 59 |
format_text(':-)', FORMAT_PLAIN, array('filter' => false)));
|
59 |
format_text(':-)', FORMAT_PLAIN, array('filter' => false)));
|
| 60 |
}
|
60 |
}
|
| 61 |
|
61 |
|
| 62 |
public function test_format_text_format_markdown() {
|
62 |
public function test_format_text_format_markdown(): void {
|
| 63 |
$this->resetAfterTest();
|
63 |
$this->resetAfterTest();
|
| 64 |
filter_set_global_state('emoticon', TEXTFILTER_ON);
|
64 |
filter_set_global_state('emoticon', TEXTFILTER_ON);
|
| Línea 65... |
Línea 65... |
| 65 |
$this->assertMatchesRegularExpression('~^<p><em><img class="icon emoticon" alt="smile" title="smile" ' .
|
65 |
$this->assertMatchesRegularExpression('~^<p><em><img class="icon emoticon" alt="smile" title="smile" ' .
|
| 66 |
'src="https://www.example.com/moodle/theme/image.php/boost/core/1/s/smiley" />' .
|
66 |
'src="https://www.example.com/moodle/theme/image.php/boost/core/1/s/smiley" />' .
|
| 67 |
'</em></p>\n$~',
|
67 |
'</em></p>\n$~',
|
| 68 |
format_text('*:-)*', FORMAT_MARKDOWN));
|
68 |
format_text('*:-)*', FORMAT_MARKDOWN));
|
| 69 |
}
|
69 |
}
|
| 70 |
|
70 |
|
| Línea 71... |
Línea 71... |
| 71 |
public function test_format_text_format_markdown_nofilter() {
|
71 |
public function test_format_text_format_markdown_nofilter(): void {
|
| 72 |
$this->resetAfterTest();
|
72 |
$this->resetAfterTest();
|
| 73 |
filter_set_global_state('emoticon', TEXTFILTER_ON);
|
73 |
filter_set_global_state('emoticon', TEXTFILTER_ON);
|
| 74 |
$this->assertEquals("<p><em>:-)</em></p>\n",
|
74 |
$this->assertEquals("<p><em>:-)</em></p>\n",
|
| 75 |
format_text('*:-)*', FORMAT_MARKDOWN, array('filter' => false)));
|
75 |
format_text('*:-)*', FORMAT_MARKDOWN, array('filter' => false)));
|
| 76 |
}
|
76 |
}
|
| 77 |
|
77 |
|
| 78 |
public function test_format_text_format_moodle() {
|
78 |
public function test_format_text_format_moodle(): void {
|
| Línea 79... |
Línea 79... |
| 79 |
$this->resetAfterTest();
|
79 |
$this->resetAfterTest();
|
| 80 |
filter_set_global_state('emoticon', TEXTFILTER_ON);
|
80 |
filter_set_global_state('emoticon', TEXTFILTER_ON);
|
| 81 |
$this->assertMatchesRegularExpression('~^<div class="text_to_html"><p>' .
|
81 |
$this->assertMatchesRegularExpression('~^<div class="text_to_html"><p>' .
|
| 82 |
'<img class="icon emoticon" alt="smile" title="smile" ' .
|
82 |
'<img class="icon emoticon" alt="smile" title="smile" ' .
|
| 83 |
'src="https://www.example.com/moodle/theme/image.php/boost/core/1/s/smiley" /></p></div>$~',
|
83 |
'src="https://www.example.com/moodle/theme/image.php/boost/core/1/s/smiley" /></p></div>$~',
|
| 84 |
format_text('<p>:-)</p>', FORMAT_MOODLE));
|
84 |
format_text('<p>:-)</p>', FORMAT_MOODLE));
|
| Línea 85... |
Línea 85... |
| 85 |
}
|
85 |
}
|
| 86 |
|
86 |
|
| 87 |
public function test_format_text_format_moodle_no_filters() {
|
87 |
public function test_format_text_format_moodle_no_filters(): void {
|
| 88 |
$this->resetAfterTest();
|
88 |
$this->resetAfterTest();
|
| 89 |
filter_set_global_state('emoticon', TEXTFILTER_ON);
|
89 |
filter_set_global_state('emoticon', TEXTFILTER_ON);
|
| 90 |
$this->assertEquals('<div class="text_to_html"><p>:-)</p></div>',
|
90 |
$this->assertEquals('<div class="text_to_html"><p>:-)</p></div>',
|
| 91 |
format_text('<p>:-)</p>', FORMAT_MOODLE, array('filter' => false)));
|
91 |
format_text('<p>:-)</p>', FORMAT_MOODLE, array('filter' => false)));
|
| Línea 92... |
Línea 92... |
| 92 |
}
|
92 |
}
|
| Línea 125... |
Línea 125... |
| 125 |
$this->assertSame(
|
125 |
$this->assertSame(
|
| 126 |
'<p><span class="nolink">Read Test 1.</span></p>',
|
126 |
'<p><span class="nolink">Read Test 1.</span></p>',
|
| 127 |
format_text('<p><span class="nolink">Read Test 1.</span></p>', FORMAT_HTML, ['context' => $context]));
|
127 |
format_text('<p><span class="nolink">Read Test 1.</span></p>', FORMAT_HTML, ['context' => $context]));
|
| 128 |
}
|
128 |
}
|
| Línea 129... |
Línea 129... |
| 129 |
|
129 |
|
| 130 |
public function test_format_text_overflowdiv() {
|
130 |
public function test_format_text_overflowdiv(): void {
|
| 131 |
$this->assertEquals('<div class="no-overflow"><p>Hello world</p></div>',
|
131 |
$this->assertEquals('<div class="no-overflow"><p>Hello world</p></div>',
|
| 132 |
format_text('<p>Hello world</p>', FORMAT_HTML, array('overflowdiv' => true)));
|
132 |
format_text('<p>Hello world</p>', FORMAT_HTML, array('overflowdiv' => true)));
|
| Línea 133... |
Línea 133... |
| 133 |
}
|
133 |
}
|
| Línea 137... |
Línea 137... |
| 137 |
*
|
137 |
*
|
| 138 |
* @dataProvider format_text_blanktarget_testcases
|
138 |
* @dataProvider format_text_blanktarget_testcases
|
| 139 |
* @param string $link The link to add target="_blank" to
|
139 |
* @param string $link The link to add target="_blank" to
|
| 140 |
* @param string $expected The expected filter value
|
140 |
* @param string $expected The expected filter value
|
| 141 |
*/
|
141 |
*/
|
| 142 |
public function test_format_text_blanktarget($link, $expected) {
|
142 |
public function test_format_text_blanktarget($link, $expected): void {
|
| 143 |
$actual = format_text($link, FORMAT_MOODLE, array('blanktarget' => true, 'filter' => false, 'noclean' => true));
|
143 |
$actual = format_text($link, FORMAT_MOODLE, array('blanktarget' => true, 'filter' => false, 'noclean' => true));
|
| 144 |
$this->assertEquals($expected, $actual);
|
144 |
$this->assertEquals($expected, $actual);
|
| 145 |
}
|
145 |
}
|
| Línea 146... |
Línea 146... |
| 146 |
|
146 |
|
| Línea 202... |
Línea 202... |
| 202 |
*
|
202 |
*
|
| 203 |
* @param string $input Input text
|
203 |
* @param string $input Input text
|
| 204 |
* @param string $nocleaned Expected output of format_text() with noclean=true
|
204 |
* @param string $nocleaned Expected output of format_text() with noclean=true
|
| 205 |
* @param string $cleaned Expected output of format_text() with noclean=false
|
205 |
* @param string $cleaned Expected output of format_text() with noclean=false
|
| 206 |
*/
|
206 |
*/
|
| 207 |
public function test_format_text_cleaning($input, $nocleaned, $cleaned) {
|
207 |
public function test_format_text_cleaning($input, $nocleaned, $cleaned): void {
|
| 208 |
global $CFG;
|
208 |
global $CFG;
|
| 209 |
$this->resetAfterTest();
|
209 |
$this->resetAfterTest();
|
| Línea 210... |
Línea 210... |
| 210 |
|
210 |
|
| 211 |
$CFG->forceclean = false;
|
211 |
$CFG->forceclean = false;
|