phpbb/tests/text_processing/generate_text_for_edit_test.php
2015-04-02 19:16:01 +02:00

90 lines
2.1 KiB
PHP

<?php
/**
*
* @package testing
* @copyright (c) 2013 phpBB Group
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/
require_once __DIR__ . '/../../phpBB/includes/functions.php';
require_once __DIR__ . '/../../phpBB/includes/functions_content.php';
require_once __DIR__ . '/../mock/user.php';
require_once __DIR__ . '/../mock/cache.php';
class phpbb_text_processing_generate_text_for_edit_test extends phpbb_test_case
{
/**
* @dataProvider get_legacy_tests
*/
public function test_legacy($original, $expected, $uid = '', $flags = 0)
{
global $cache, $user, $phpbb_dispatcher;
$cache = new phpbb_mock_cache;
$phpbb_dispatcher = new phpbb_mock_event_dispatcher;
$user = new phpbb_mock_user;
$user->optionset('viewcensors', false);
$return = generate_text_for_edit($original, $uid, $flags);
$this->assertSame($expected, $return['text']);
}
public function get_legacy_tests()
{
return array(
array(
'',
''
),
array(
'0',
'0'
),
array(
'Hello [url=http&#58;//example&#46;org:1f4coh9x]world[/url:1f4coh9x] <!-- s:) --><img src="{SMILIES_PATH}/icon_e_smile.gif" alt=":)" title="Smile" /><!-- s:) -->',
'Hello [url=http&#58;//example&#46;org]world[/url] :)',
'1f4coh9x',
0
),
array(
"&amp;&lt;&gt;&quot;'",
"&amp;&lt;&gt;&quot;'"
)
);
}
/**
* @dataProvider get_text_formatter_tests
*/
public function test_text_formatter($original, $expected)
{
global $phpbb_dispatcher;
$phpbb_dispatcher = new phpbb_mock_event_dispatcher;
$this->get_test_case_helpers()->set_s9e_services();
$return = generate_text_for_edit($original, '', 0);
$this->assertSame($expected, $return['text']);
}
public function get_text_formatter_tests()
{
return array(
array(
'<t>Plain text</t>',
'Plain text'
),
array(
'<r>Hello <URL url="http://example.org"><s>[url=http://example.org]</s>world<e>[/url]</e></URL> <E>:)</E></r>',
'Hello [url=http://example.org]world[/url] :)'
),
array(
'<t>&amp;&lt;&gt;"\'</t>',
"&amp;&lt;&gt;&quot;'"
)
);
}
}