diff options
author | Joas Schilling <nickvergessen@gmx.de> | 2014-04-25 12:31:57 +0200 |
---|---|---|
committer | Joas Schilling <nickvergessen@gmx.de> | 2014-04-25 12:31:57 +0200 |
commit | 48278f122cf9a2b23c39eccdd998b0c9b0552b2a (patch) | |
tree | 7cf71db34c4bdefe47c4e8588c5e7b72de65a4a1 | |
parent | b32895308d13d5d9b0cd954fd8ce871a1fa073da (diff) | |
download | forums-48278f122cf9a2b23c39eccdd998b0c9b0552b2a.tar forums-48278f122cf9a2b23c39eccdd998b0c9b0552b2a.tar.gz forums-48278f122cf9a2b23c39eccdd998b0c9b0552b2a.tar.bz2 forums-48278f122cf9a2b23c39eccdd998b0c9b0552b2a.tar.xz forums-48278f122cf9a2b23c39eccdd998b0c9b0552b2a.zip |
[ticket/12273] Do not allow 3.1-A1 version
PHPBB3-12273
-rw-r--r-- | phpBB/phpbb/event/php_exporter.php | 18 | ||||
-rw-r--r-- | tests/event/fixtures/trigger_many_vars.test | 2 | ||||
-rw-r--r-- | tests/event/php_exporter_test.php | 15 |
3 files changed, 12 insertions, 23 deletions
diff --git a/phpBB/phpbb/event/php_exporter.php b/phpBB/phpbb/event/php_exporter.php index 2a69f15802..ac88ffa8b5 100644 --- a/phpBB/phpbb/event/php_exporter.php +++ b/phpBB/phpbb/event/php_exporter.php @@ -544,23 +544,15 @@ class php_exporter */ public function validate_since($line) { - $since = substr(ltrim($line, "\t"), strlen('* @since ')); - - if ($since !== trim($since)) - { - throw new \LogicException("Invalid '@since' information for event " - . "'{$this->current_event}' in file '{$this->current_file}:{$this->current_event_line}'", 1); - } - - $since = ($since === '3.1-A1') ? '3.1.0-a1' : $since; - - if (!preg_match('#^\d+\.\d+\.\d+(?:-(?:a|b|rc|pl)\d+)?$#', $since)) + $match = array(); + preg_match('#^\* @since (\d+\.\d+\.\d+(?:-(?:a|b|rc|pl)\d+)?)$#', ltrim($line, "\t"), $match); + if (!isset($match[1])) { throw new \LogicException("Invalid '@since' information for event " - . "'{$this->current_event}' in file '{$this->current_file}:{$this->current_event_line}'", 2); + . "'{$this->current_event}' in file '{$this->current_file}:{$this->current_event_line}'"); } - return $since; + return $match[1]; } /** diff --git a/tests/event/fixtures/trigger_many_vars.test b/tests/event/fixtures/trigger_many_vars.test index da72f4c57f..a624138588 100644 --- a/tests/event/fixtures/trigger_many_vars.test +++ b/tests/event/fixtures/trigger_many_vars.test @@ -33,7 +33,7 @@ * @var array page_data Posting page data that should be passed to the * posting page via $template->assign_vars() * @var object message_parser The message parser object - * @since 3.1-A1 + * @since 3.1.0-a1 * @change 3.1.0-b3 Added vars post_data, moderators, mode, page_title, * s_topic_icons, form_enctype, s_action, s_hidden_fields, * post_id, topic_id, forum_id, submit, preview, save, load, diff --git a/tests/event/php_exporter_test.php b/tests/event/php_exporter_test.php index 03f6974af1..9917f8309b 100644 --- a/tests/event/php_exporter_test.php +++ b/tests/event/php_exporter_test.php @@ -114,7 +114,6 @@ class phpbb_event_php_exporter_test extends phpbb_test_case array('* @since 3.1.0-a1', '3.1.0-a1'), array('* @since 3.1.0-b3', '3.1.0-b3'), array(' * @since 3.1.0-b3', '3.1.0-b3'), - array('* @since 3.1-A1', '3.1.0-a1'), ); } @@ -129,12 +128,11 @@ class phpbb_event_php_exporter_test extends phpbb_test_case static public function validate_since_throws_data() { return array( - array(' * @since 3.1.0-a1', 1), - array('* @since 3.1.0-a1 ', 1), - array('* @since 3.1.0-a1 bertie is cool', 2), - array('bertie* @since 3.1.0-a1', 2), - array('* @since 3.1-A2', 2), - array('* @since 3.1-B3', 2), + array(' * @since 3.1.0-a1'), + array('* @since 3.1.0-a1 '), + array('* @since 3.1.0-a1 bertie is cool'), + array('bertie* @since 3.1.0-a1'), + array('* @since 3.1-A2'), ); } @@ -142,9 +140,8 @@ class phpbb_event_php_exporter_test extends phpbb_test_case * @dataProvider validate_since_throws_data * @expectedException LogicException */ - public function test_validate_since_throws($since, $exception_code) + public function test_validate_since_throws($since) { - $this->setExpectedException('LogicException', '', $exception_code); $this->exporter->validate_since($since); } |