aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--phpBB/phpbb/event/php_exporter.php7
-rw-r--r--tests/event/export_php_test.php45
-rw-r--r--tests/event/php_exporter_test.php7
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());
- }
}