diff options
-rw-r--r-- | phpBB/phpbb/event/php_exporter.php | 7 | ||||
-rw-r--r-- | tests/event/export_php_test.php | 45 | ||||
-rw-r--r-- | tests/event/php_exporter_test.php | 7 |
3 files changed, 51 insertions, 8 deletions
diff --git a/phpBB/phpbb/event/php_exporter.php b/phpBB/phpbb/event/php_exporter.php index 9044168980..1e680ec896 100644 --- a/phpBB/phpbb/event/php_exporter.php +++ b/phpBB/phpbb/event/php_exporter.php @@ -163,7 +163,8 @@ class php_exporter } /** - * @param $file + * @param string $file + * @return int Number of events found in this file * @throws \LogicException */ public function crawl_php_file($file) @@ -171,6 +172,7 @@ class php_exporter $this->current_file = $file; $this->file_lines = array(); $content = file_get_contents($this->root_path . $this->current_file); + $num_events_found = 0; if (strpos($content, "dispatcher->trigger_event('") || strpos($content, "dispatcher->dispatch('")) { @@ -227,9 +229,12 @@ class php_exporter 'since' => $since, 'description' => $description, ); + $num_events_found++; } } } + + return $num_events_found; } /** diff --git a/tests/event/export_php_test.php b/tests/event/export_php_test.php new file mode 100644 index 0000000000..f38b524ffe --- /dev/null +++ b/tests/event/export_php_test.php @@ -0,0 +1,45 @@ +<?php +/** +* +* @package testing +* @copyright (c) 2014 phpBB Group +* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2 +* +*/ + +class phpbb_event_export_php_test extends phpbb_test_case +{ + /** @var \phpbb\event\php_exporter */ + protected $exporter; + + public function setUp() + { + parent::setUp(); + + global $phpbb_root_path; + $this->exporter = new \phpbb\event\php_exporter($phpbb_root_path); + } + + static public function crawl_php_file_data() + { + global $phpbb_root_path; + $exporter = new \phpbb\event\php_exporter($phpbb_root_path); + $files = $exporter->get_recursive_file_list($phpbb_root_path); + + $data_provider = array(); + foreach ($files as $file) + { + $data_provider[] = array($file); + } + + return $data_provider; + } + + /** + * @dataProvider crawl_php_file_data + */ + public function test_crawl_php_file($file) + { + $this->assertGreaterThanOrEqual(0, $this->exporter->crawl_php_file($file)); + } +} diff --git a/tests/event/php_exporter_test.php b/tests/event/php_exporter_test.php index fca7698c71..a289f5f6e4 100644 --- a/tests/event/php_exporter_test.php +++ b/tests/event/php_exporter_test.php @@ -688,11 +688,4 @@ class phpbb_event_php_exporter_test extends phpbb_test_case $this->exporter->set_content($lines); $this->exporter->find_description(); } - - public function test_crawl_phpbb_directory_php() - { - global $phpbb_root_path; - $exporter = new \phpbb\event\php_exporter($phpbb_root_path); - $this->assertGreaterThan(0, $exporter->crawl_phpbb_directory_php()); - } } |