aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoas Schilling <nickvergessen@gmx.de>2014-04-25 12:31:57 +0200
committerJoas Schilling <nickvergessen@gmx.de>2014-04-25 12:31:57 +0200
commit48278f122cf9a2b23c39eccdd998b0c9b0552b2a (patch)
tree7cf71db34c4bdefe47c4e8588c5e7b72de65a4a1
parentb32895308d13d5d9b0cd954fd8ce871a1fa073da (diff)
downloadforums-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.php18
-rw-r--r--tests/event/fixtures/trigger_many_vars.test2
-rw-r--r--tests/event/php_exporter_test.php15
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);
}