diff options
author | Tristan Darricau <github@nicofuma.fr> | 2017-01-15 12:08:01 +0100 |
---|---|---|
committer | Tristan Darricau <github@nicofuma.fr> | 2017-01-15 12:08:01 +0100 |
commit | 2637606ae1b033c12a34efd946dac145a679945f (patch) | |
tree | cf4aa932bc638ad62b1b84e90ef5468914e625d1 /tests/functional | |
parent | d6e42ec63b54c54b488d3e4112f4cd83062731ba (diff) | |
parent | 499fcbcca96c154298b355a945897aba4164ab8d (diff) | |
download | forums-2637606ae1b033c12a34efd946dac145a679945f.tar forums-2637606ae1b033c12a34efd946dac145a679945f.tar.gz forums-2637606ae1b033c12a34efd946dac145a679945f.tar.bz2 forums-2637606ae1b033c12a34efd946dac145a679945f.tar.xz forums-2637606ae1b033c12a34efd946dac145a679945f.zip |
Merge pull request #4631 from JoshyPHP/ticket/14985
[ticket/14985] Decode HTML special chars in plain text columns
* JoshyPHP/ticket/14985:
[ticket/14985] Added functional tests for BBCodes and smilies
[ticket/14985] Decode HTML special chars in plain text columns
Diffstat (limited to 'tests/functional')
-rw-r--r-- | tests/functional/acp_bbcodes_test.php | 46 | ||||
-rw-r--r-- | tests/functional/acp_smilies_test.php | 43 |
2 files changed, 89 insertions, 0 deletions
diff --git a/tests/functional/acp_bbcodes_test.php b/tests/functional/acp_bbcodes_test.php new file mode 100644 index 0000000000..58681dfa07 --- /dev/null +++ b/tests/functional/acp_bbcodes_test.php @@ -0,0 +1,46 @@ +<?php +/** + * + * This file is part of the phpBB Forum Software package. + * + * @copyright (c) phpBB Limited <https://www.phpbb.com> + * @license GNU General Public License, version 2 (GPL-2.0) + * + * For full copyright and license information, please see + * the docs/CREDITS.txt file. + * + */ + +/** + * @group functional + */ +class phpbb_functional_acp_bbcodes_test extends phpbb_functional_test_case +{ + public function test_htmlspecialchars() + { + $this->login(); + $this->admin_login(); + + // Create the BBCode + $crawler = self::request('GET', 'adm/index.php?i=acp_bbcodes&sid=' . $this->sid . '&mode=bbcodes&action=add'); + $form = $crawler->selectButton('Submit')->form(array( + 'bbcode_match' => '[mod="{TEXT1}"]{TEXT2}[/mod]', + 'bbcode_tpl' => '<div>{TEXT1}</div><div>{TEXT2}</div>' + )); + self::submit($form); + + // Test it in the "new topic" preview + $crawler = self::request('GET', 'posting.php?mode=post&f=2&sid=' . $this->sid); + $form = $crawler->selectButton('Preview')->form(array( + 'subject' => 'subject', + 'message' => '[mod=a]b[/mod][mod="c"]d[/mod]' + )); + $crawler = self::submit($form); + + $html = $crawler->filter('#preview')->html(); + $this->assertContains('<div>a</div>', $html); + $this->assertContains('<div>b</div>', $html); + $this->assertContains('<div>c</div>', $html); + $this->assertContains('<div>d</div>', $html); + } +} diff --git a/tests/functional/acp_smilies_test.php b/tests/functional/acp_smilies_test.php new file mode 100644 index 0000000000..ebe8717fa7 --- /dev/null +++ b/tests/functional/acp_smilies_test.php @@ -0,0 +1,43 @@ +<?php +/** + * + * This file is part of the phpBB Forum Software package. + * + * @copyright (c) phpBB Limited <https://www.phpbb.com> + * @license GNU General Public License, version 2 (GPL-2.0) + * + * For full copyright and license information, please see + * the docs/CREDITS.txt file. + * + */ + +/** + * @group functional + */ +class phpbb_functional_acp_smilies_test extends phpbb_functional_test_case +{ + public function test_htmlspecialchars() + { + $this->login(); + $this->admin_login(); + + // Create the BBCode + $crawler = self::request('GET', 'adm/index.php?i=acp_icons&sid=' . $this->sid . '&mode=smilies&action=edit&id=1'); + $form = $crawler->selectButton('Submit')->form(array( + 'code[icon_e_biggrin.gif]' => '>:D', + 'emotion[icon_e_biggrin.gif]' => '>:D' + )); + self::submit($form); + + // Test it in the "new topic" preview + $crawler = self::request('GET', 'posting.php?mode=post&f=2&sid=' . $this->sid); + $form = $crawler->selectButton('Preview')->form(array( + 'subject' => 'subject', + 'message' => '>:D' + )); + $crawler = self::submit($form); + + $html = $crawler->filter('#preview')->html(); + $this->assertRegexp('(<img [^>]+ alt=">:D" title=">:D"[^>]*>)', $html); + } +} |