Skip to content

Commit

Permalink
Merge branch 'hotfix/3856'
Browse files Browse the repository at this point in the history
  • Loading branch information
weierophinney committed Feb 21, 2013
2 parents 1a0e60f + 37d90c2 commit 6b7cd61
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 10 deletions.
20 changes: 10 additions & 10 deletions library/Zend/Mvc/Router/Console/Simple.php
Expand Up @@ -205,7 +205,7 @@ protected function parseRouteDefinition($def)
*/
if (preg_match('/\G--(?<name>[a-zA-Z0-9][a-zA-Z0-9\_\-]+)(?<hasValue>=\S*?)?(?: +|$)/s', $def, $m, 0, $pos)) {
$item = array(
'name' => strtolower( $m['name'] ),
'name' => $m['name'],
'short' => false,
'literal' => false,
'required' => true,
Expand All @@ -221,7 +221,7 @@ protected function parseRouteDefinition($def)
'/\G\[ *?--(?<name>[a-zA-Z0-9][a-zA-Z0-9\_\-]+) *?\](?: +|$)/s', $def, $m, 0, $pos
)) {
$item = array(
'name' => strtolower($m['name']),
'name' => $m['name'],
'short' => false,
'literal' => false,
'required' => false,
Expand All @@ -238,7 +238,7 @@ protected function parseRouteDefinition($def)
'/\G\[ *?--(?<name>[a-zA-Z0-9][a-zA-Z0-9\_\-]+)(?<hasValue>=\S*?)? *?\](?: +|$)/s', $def, $m, 0, $pos
)) {
$item = array(
'name' => strtolower( $m['name'] ),
'name' => $m['name'],
'short' => false,
'literal' => false,
'required' => false,
Expand All @@ -255,7 +255,7 @@ protected function parseRouteDefinition($def)
*/
elseif (preg_match('/\G-(?<name>[a-zA-Z0-9])(?:=(?<type>[ns]))?(?: +|$)/s', $def, $m, 0, $pos)) {
$item = array(
'name' => strtolower($m['name']),
'name' => $m['name'],
'short' => true,
'literal' => false,
'required' => true,
Expand All @@ -271,7 +271,7 @@ protected function parseRouteDefinition($def)
*/
elseif (preg_match('/\G\[ *?-(?<name>[a-zA-Z0-9])(?:=(?<type>[ns]))? *?\](?: +|$)/s', $def, $m, 0, $pos)) {
$item = array(
'name' => strtolower( $m['name'] ),
'name' => $m['name'],
'short' => true,
'literal' => false,
'required' => false,
Expand Down Expand Up @@ -578,23 +578,23 @@ public function match(Request $request, $pathOffset = null)
if ($part['hasValue']) {
$regex .= ')(?:\=(?<value>.*?)$)?$/';
} else {
$regex .= ')$/';
$regex .= ')$/i';
}
} else {
// a single named flag
if ($part['short'] === true) {
// short variant
if ($part['hasValue']) {
$regex = '/^\-' . $part['name'] . '(?:\=(?<value>.*?)$)?$/';
$regex = '/^\-' . $part['name'] . '(?:\=(?<value>.*?)$)?$/i';
} else {
$regex = '/^\-' . $part['name'] . '$/';
$regex = '/^\-' . $part['name'] . '$/i';
}
} elseif ($part['short'] === false) {
// long variant
if ($part['hasValue']) {
$regex = '/^\-{2,}' . $part['name'] . '(?:\=(?<value>.*?)$)?$/';
$regex = '/^\-{2,}' . $part['name'] . '(?:\=(?<value>.*?)$)?$/i';
} else {
$regex = '/^\-{2,}' . $part['name'] . '$/';
$regex = '/^\-{2,}' . $part['name'] . '$/i';
}
}
}
Expand Down
8 changes: 8 additions & 0 deletions tests/ZendTest/Mvc/Router/Console/SimpleTest.php
Expand Up @@ -167,6 +167,14 @@ public static function routeProvider()
'bar' => 4
)
),
'optional-long-value-flag-non-existent-mixed-case' => array(
'--foo [--barBaz=]',
array('--foo', '--barBaz=4'),
array(
'foo' => true,
'barBaz' => 4
)
),
'value-optional-long-value-flag' => array(
'<foo> [--bar=]',
array('value', '--bar=4'),
Expand Down

0 comments on commit 6b7cd61

Please sign in to comment.