mirror of
https://github.com/phpbb/phpbb.git
synced 2025-01-19 07:08:09 +01:00
14e8113fcf
PHPBB3-14576
91 lines
2.2 KiB
PHP
91 lines
2.2 KiB
PHP
<?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.
|
|
*
|
|
*/
|
|
|
|
class phpbb_text_processing_tickets_test extends phpbb_test_case
|
|
{
|
|
/**
|
|
* @dataProvider get_tickets_data
|
|
*/
|
|
public function test_tickets($ticket_id, $original, $expected, $fixture, $before_assert, $after_assert)
|
|
{
|
|
global $phpbb_container;
|
|
|
|
$phpbb_container = new phpbb_mock_container_builder;
|
|
|
|
$this->get_test_case_helpers()->set_s9e_services($phpbb_container, $fixture);
|
|
|
|
$parser = $phpbb_container->get('text_formatter.parser');
|
|
$renderer = $phpbb_container->get('text_formatter.renderer');
|
|
|
|
if (isset($before_assert))
|
|
{
|
|
$test = $this;
|
|
$before_assert(get_defined_vars());
|
|
}
|
|
|
|
$parsed_text = $parser->parse($original);
|
|
|
|
$this->assertSame($expected, $renderer->render($parsed_text));
|
|
|
|
if (isset($after_assert))
|
|
{
|
|
$test = $this;
|
|
$after_assert(get_defined_vars());
|
|
}
|
|
}
|
|
|
|
public function get_tickets_data()
|
|
{
|
|
$tests = array();
|
|
|
|
foreach (glob(__DIR__ . '/tickets_data/*.txt') as $txt_filename)
|
|
{
|
|
$ticket_id = basename($txt_filename, '.txt');
|
|
$html_filename = substr($txt_filename, 0, -3) . 'html';
|
|
$xml_filename = substr($txt_filename, 0, -3) . 'xml';
|
|
$before_filename = substr($txt_filename, 0, -3) . 'before.php';
|
|
$after_filename = substr($txt_filename, 0, -3) . 'after.php';
|
|
|
|
if (!file_exists($xml_filename))
|
|
{
|
|
$xml_filename = __DIR__ . '/../fixtures/empty.xml';
|
|
}
|
|
|
|
$before_assert = null;
|
|
if (file_exists($before_filename))
|
|
{
|
|
include($before_filename);
|
|
$before_assert = 'before_assert_' . strtolower(str_replace('-', '_', $ticket_id));
|
|
}
|
|
|
|
$after_assert = null;
|
|
if (file_exists($after_filename))
|
|
{
|
|
include($after_filename);
|
|
$after_assert = 'after_assert_' . strtolower(str_replace('-', '_', $ticket_id));
|
|
}
|
|
|
|
$tests[] = array(
|
|
$ticket_id,
|
|
file_get_contents($txt_filename),
|
|
file_get_contents($html_filename),
|
|
$xml_filename,
|
|
$before_assert,
|
|
$after_assert
|
|
);
|
|
}
|
|
|
|
return $tests;
|
|
}
|
|
}
|