1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-02-24 03:54:10 +01:00
php-phpbb/tests/event/md_exporter_test.php
2015-05-28 15:52:18 +02:00

155 lines
4.0 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.
*
*/
require_once dirname(__FILE__) . '/../../phpBB/includes/functions.php';
class phpbb_event_md_exporter_test extends phpbb_test_case
{
static public function crawl_eventsmd_data()
{
return array(
array('normal_events.md.test', null, null, array(
'acp_bbcodes_actions_append' => array(
'event' => 'acp_bbcodes_actions_append',
'files' => array(
'prosilver' => array(),
'adm' => array('acp_bbcodes.html'),
),
'since' => '3.1.0-a3',
'changed' => array(
'3.1.0-a4' => '',
),
'description' => 'desc1' . "\n",
),
'acp_bbcodes_actions_prepend' => array(
'event' => 'acp_bbcodes_actions_prepend',
'files' => array(
'prosilver' => array(),
'adm' => array('acp_bbcodes.html'),
),
'since' => '3.1.0-a5',
'changed' => array(),
'description' => 'desc2' . "\n",
),
'acp_bbcodes_actions_prepend2' => array(
'event' => 'acp_bbcodes_actions_prepend2',
'files' => array(
'prosilver' => array(),
'adm' => array('acp_bbcodes.html'),
),
'since' => '3.1.0-a4',
'changed' => array(
'3.1.0-a5' => 'Moved up',
'3.1.0-a6' => 'Moved down',
),
'description' => 'desc2' . "\n",
),
)),
array('normal_events.md.test', '3.1.0-a5', '3.1.0-a5', array(
'acp_bbcodes_actions_prepend' => array(
'event' => 'acp_bbcodes_actions_prepend',
'files' => array(
'prosilver' => array(),
'adm' => array('acp_bbcodes.html'),
),
'since' => '3.1.0-a5',
'changed' => array(),
'description' => 'desc2' . "\n",
),
'acp_bbcodes_actions_prepend2' => array(
'event' => 'acp_bbcodes_actions_prepend2',
'files' => array(
'prosilver' => array(),
'adm' => array('acp_bbcodes.html'),
),
'since' => '3.1.0-a4',
'changed' => array(
'3.1.0-a5' => 'Moved up',
'3.1.0-a6' => 'Moved down',
),
'description' => 'desc2' . "\n",
),
)),
);
}
/**
* @dataProvider crawl_eventsmd_data
*
* @param string $file
* @param string $min_version
* @param string $max_version
* @param array $events
*/
public function test_crawl_eventsmd($file, $min_version, $max_version, $events)
{
$exporter = new \phpbb\event\md_exporter(dirname(__FILE__) . '/fixtures/', null, $min_version, $max_version);
$this->assertSame(sizeof($events), $exporter->crawl_eventsmd($file, 'adm'));
$this->assertEquals($events, $exporter->get_events());
}
static public function crawl_phpbb_eventsmd_data()
{
return array(
array('styles'),
array('adm'),
);
}
/**
* @dataProvider crawl_phpbb_eventsmd_data
*/
public function test_crawl_phpbb_eventsmd($filter)
{
global $phpbb_root_path;
$exporter = new \phpbb\event\md_exporter($phpbb_root_path);
$this->assertGreaterThan(0, $exporter->crawl_eventsmd('docs/events.md', $filter));
}
static public function crawl_template_file_data()
{
global $phpbb_root_path;
$exporter = new \phpbb\event\md_exporter($phpbb_root_path);
$data_provider = array();
$styles = array(
'adm/style/' => 'adm',
'styles/prosilver/template/' => 'styles',
);
foreach ($styles as $path => $filter)
{
$files = $exporter->get_recursive_file_list($phpbb_root_path . $path, $path);
foreach ($files as $file)
{
$data_provider[] = array($filter, $path . $file);
}
}
return $data_provider;
}
/**
* @dataProvider crawl_template_file_data
*/
public function test_crawl_template_file($filter, $file)
{
global $phpbb_root_path;
$exporter = new \phpbb\event\md_exporter($phpbb_root_path);
$exporter->crawl_eventsmd('docs/events.md', $filter);
$events = $exporter->crawl_file_for_events($file);
$this->assertGreaterThanOrEqual(0, sizeof($events));
$this->assertTrue($exporter->validate_events_from_file($file, $events));
}
}