Merge branch '2.3' into 2.7

* 2.3:
  Update HTTP statuses list
  [Console][#18619] Prevent fatal error when calling Command#getHelper() without helperSet
  Add SplFileInfo array doc on Finder iterator methods so that IDE will know what it returns
  [2.3] [Form] Modified iterator_to_array's 2nd parameter to false in ViolationMapper
  Updated the link to the list of currency codes
This commit is contained in:
Fabien Potencier 2016-05-13 10:28:37 -05:00
commit 58f8f5174f
6 changed files with 46 additions and 32 deletions

View File

@ -598,10 +598,15 @@ class Command
*
* @return mixed The helper value
*
* @throws \LogicException if no HelperSet is defined
* @throws \InvalidArgumentException if the helper is not defined
*/
public function getHelper($name)
{
if (null === $this->helperSet) {
throw new \LogicException(sprintf('Cannot retrieve helper "%s" because there is no HelperSet defined. Did you forget to add your command to the application or to set the application on the command using the setApplication() method? You can also set the HelperSet directly using the setHelperSet() method.', $name));
}
return $this->helperSet->get($name);
}

View File

@ -173,6 +173,16 @@ class CommandTest extends \PHPUnit_Framework_TestCase
$this->assertEquals($formatterHelper->getName(), $command->getHelper('formatter')->getName(), '->getHelper() returns the correct helper');
}
/**
* @expectedException \LogicException
* @expectedExceptionMessage Cannot retrieve helper "formatter" because there is no HelperSet defined.
*/
public function testGetHelperWithoutHelperSet()
{
$command = new \TestCommand();
$command->getHelper('formatter');
}
public function testMergeApplicationDefinition()
{
$application1 = new Application();

View File

@ -171,7 +171,7 @@ class Finder implements \IteratorAggregate, \Countable
/**
* Restricts the matching to directories only.
*
* @return Finder The current Finder instance
* @return Finder|SplFileInfo[] The current Finder instance
*/
public function directories()
{
@ -183,7 +183,7 @@ class Finder implements \IteratorAggregate, \Countable
/**
* Restricts the matching to files only.
*
* @return Finder The current Finder instance
* @return Finder|SplFileInfo[] The current Finder instance
*/
public function files()
{
@ -202,7 +202,7 @@ class Finder implements \IteratorAggregate, \Countable
*
* @param int $level The depth level expression
*
* @return Finder The current Finder instance
* @return Finder|SplFileInfo[] The current Finder instance
*
* @see DepthRangeFilterIterator
* @see NumberComparator
@ -226,7 +226,7 @@ class Finder implements \IteratorAggregate, \Countable
*
* @param string $date A date range string
*
* @return Finder The current Finder instance
* @return Finder|SplFileInfo[] The current Finder instance
*
* @see strtotime
* @see DateRangeFilterIterator
@ -250,7 +250,7 @@ class Finder implements \IteratorAggregate, \Countable
*
* @param string $pattern A pattern (a regexp, a glob, or a string)
*
* @return Finder The current Finder instance
* @return Finder|SplFileInfo[] The current Finder instance
*
* @see FilenameFilterIterator
*/
@ -266,7 +266,7 @@ class Finder implements \IteratorAggregate, \Countable
*
* @param string $pattern A pattern (a regexp, a glob, or a string)
*
* @return Finder The current Finder instance
* @return Finder|SplFileInfo[] The current Finder instance
*
* @see FilenameFilterIterator
*/
@ -287,7 +287,7 @@ class Finder implements \IteratorAggregate, \Countable
*
* @param string $pattern A pattern (string or regexp)
*
* @return Finder The current Finder instance
* @return Finder|SplFileInfo[] The current Finder instance
*
* @see FilecontentFilterIterator
*/
@ -308,7 +308,7 @@ class Finder implements \IteratorAggregate, \Countable
*
* @param string $pattern A pattern (string or regexp)
*
* @return Finder The current Finder instance
* @return Finder|SplFileInfo[] The current Finder instance
*
* @see FilecontentFilterIterator
*/
@ -331,7 +331,7 @@ class Finder implements \IteratorAggregate, \Countable
*
* @param string $pattern A pattern (a regexp or a string)
*
* @return Finder The current Finder instance
* @return Finder|SplFileInfo[] The current Finder instance
*
* @see FilenameFilterIterator
*/
@ -354,7 +354,7 @@ class Finder implements \IteratorAggregate, \Countable
*
* @param string $pattern A pattern (a regexp or a string)
*
* @return Finder The current Finder instance
* @return Finder|SplFileInfo[] The current Finder instance
*
* @see FilenameFilterIterator
*/
@ -374,7 +374,7 @@ class Finder implements \IteratorAggregate, \Countable
*
* @param string $size A size range string
*
* @return Finder The current Finder instance
* @return Finder|SplFileInfo[] The current Finder instance
*
* @see SizeRangeFilterIterator
* @see NumberComparator
@ -391,7 +391,7 @@ class Finder implements \IteratorAggregate, \Countable
*
* @param string|array $dirs A directory path or an array of directories
*
* @return Finder The current Finder instance
* @return Finder|SplFileInfo[] The current Finder instance
*
* @see ExcludeDirectoryFilterIterator
*/
@ -407,7 +407,7 @@ class Finder implements \IteratorAggregate, \Countable
*
* @param bool $ignoreDotFiles Whether to exclude "hidden" files or not
*
* @return Finder The current Finder instance
* @return Finder|SplFileInfo[] The current Finder instance
*
* @see ExcludeDirectoryFilterIterator
*/
@ -427,7 +427,7 @@ class Finder implements \IteratorAggregate, \Countable
*
* @param bool $ignoreVCS Whether to exclude VCS files or not
*
* @return Finder The current Finder instance
* @return Finder|SplFileInfo[] The current Finder instance
*
* @see ExcludeDirectoryFilterIterator
*/
@ -467,7 +467,7 @@ class Finder implements \IteratorAggregate, \Countable
*
* @param \Closure $closure An anonymous function
*
* @return Finder The current Finder instance
* @return Finder|SplFileInfo[] The current Finder instance
*
* @see SortableIterator
*/
@ -483,7 +483,7 @@ class Finder implements \IteratorAggregate, \Countable
*
* This can be slow as all the matching files and directories must be retrieved for comparison.
*
* @return Finder The current Finder instance
* @return Finder|SplFileInfo[] The current Finder instance
*
* @see SortableIterator
*/
@ -499,7 +499,7 @@ class Finder implements \IteratorAggregate, \Countable
*
* This can be slow as all the matching files and directories must be retrieved for comparison.
*
* @return Finder The current Finder instance
* @return Finder|SplFileInfo[] The current Finder instance
*
* @see SortableIterator
*/
@ -517,7 +517,7 @@ class Finder implements \IteratorAggregate, \Countable
*
* This can be slow as all the matching files and directories must be retrieved for comparison.
*
* @return Finder The current Finder instance
* @return Finder|SplFileInfo[] The current Finder instance
*
* @see SortableIterator
*/
@ -537,7 +537,7 @@ class Finder implements \IteratorAggregate, \Countable
*
* This can be slow as all the matching files and directories must be retrieved for comparison.
*
* @return Finder The current Finder instance
* @return Finder|SplFileInfo[] The current Finder instance
*
* @see SortableIterator
*/
@ -555,7 +555,7 @@ class Finder implements \IteratorAggregate, \Countable
*
* This can be slow as all the matching files and directories must be retrieved for comparison.
*
* @return Finder The current Finder instance
* @return Finder|SplFileInfo[] The current Finder instance
*
* @see SortableIterator
*/
@ -574,7 +574,7 @@ class Finder implements \IteratorAggregate, \Countable
*
* @param \Closure $closure An anonymous function
*
* @return Finder The current Finder instance
* @return Finder|SplFileInfo[] The current Finder instance
*
* @see CustomFilterIterator
*/
@ -588,7 +588,7 @@ class Finder implements \IteratorAggregate, \Countable
/**
* Forces the following of symlinks.
*
* @return Finder The current Finder instance
* @return Finder|SplFileInfo[] The current Finder instance
*/
public function followLinks()
{
@ -604,7 +604,7 @@ class Finder implements \IteratorAggregate, \Countable
*
* @param bool $ignore
*
* @return Finder The current Finder instance
* @return Finder|SplFileInfo[] The current Finder instance
*/
public function ignoreUnreadableDirs($ignore = true)
{
@ -618,7 +618,7 @@ class Finder implements \IteratorAggregate, \Countable
*
* @param string|array $dirs A directory path or an array of directories
*
* @return Finder The current Finder instance
* @return Finder|SplFileInfo[] The current Finder instance
*
* @throws \InvalidArgumentException if one of the directories does not exist
*/
@ -679,7 +679,7 @@ class Finder implements \IteratorAggregate, \Countable
*
* @param mixed $iterator
*
* @return Finder The finder
* @return Finder|SplFileInfo[] The finder
*
* @throws \InvalidArgumentException When the given argument is not iterable.
*/

View File

@ -162,9 +162,7 @@ class ViolationMapper implements ViolationMapperInterface
}
}
$children = iterator_to_array(new \RecursiveIteratorIterator(
new InheritDataAwareIterator($form)
));
$children = iterator_to_array(new \RecursiveIteratorIterator(new InheritDataAwareIterator($form)), false);
while ($it->valid()) {
if ($it->isIndex()) {
@ -189,7 +187,7 @@ class ViolationMapper implements ViolationMapperInterface
}
/** @var FormInterface $child */
foreach ($children as $key => $child) {
foreach ($children as $i => $child) {
$childPath = (string) $child->getPropertyPath();
if ($childPath === $chunk) {
$target = $child;
@ -198,7 +196,7 @@ class ViolationMapper implements ViolationMapperInterface
continue;
}
unset($children[$key]);
unset($children[$i]);
}
$it->next();

View File

@ -115,7 +115,7 @@ class Response
*
* The list of codes is complete according to the
* {@link http://www.iana.org/assignments/http-status-codes/ Hypertext Transfer Protocol (HTTP) Status Code Registry}
* (last updated 2012-02-13).
* (last updated 2016-03-01).
*
* Unless otherwise noted, the status code is defined in RFC2616.
*
@ -163,6 +163,7 @@ class Response
416 => 'Requested Range Not Satisfiable',
417 => 'Expectation Failed',
418 => 'I\'m a teapot', // RFC2324
421 => 'Misdirected Request', // RFC7540
422 => 'Unprocessable Entity', // RFC4918
423 => 'Locked', // RFC4918
424 => 'Failed Dependency', // RFC4918

View File

@ -326,7 +326,7 @@ class NumberFormatter
* @return string The formatted currency value
*
* @see http://www.php.net/manual/en/numberformatter.formatcurrency.php
* @see http://www.iso.org/iso/support/faqs/faqs_widely_used_standards/widely_used_standards_other/currency_codes/currency_codes_list-1.htm
* @see https://en.wikipedia.org/wiki/ISO_4217#Active_codes
*/
public function formatCurrency($value, $currency)
{