Merge branch '3.4' into 4.3

* 3.4:
  cs fix
  Partially Revert "Remove trailing space in all markdown files"
  [Intl] Explicit check
  Fix getMaxFilesize() returning zero
  [DI] fix docblocks in Container*
  Fixed markdown file
  [TwigBridge] Replaced plain doc block copies with inheritdoc.
  [Intl] Cleanup unused language aliases entry
This commit is contained in:
Nicolas Grekas 2019-08-14 13:02:36 +02:00
commit cda8a67df8
17 changed files with 45 additions and 58 deletions

View File

@ -33,9 +33,7 @@ class RoutingExtension extends AbstractExtension
} }
/** /**
* Returns a list of functions to add to the existing list. * {@inheritdoc}
*
* @return array An array of functions
*/ */
public function getFunctions() public function getFunctions()
{ {

View File

@ -29,11 +29,7 @@ use Twig\Token;
class TransChoiceTokenParser extends TransTokenParser class TransChoiceTokenParser extends TransTokenParser
{ {
/** /**
* Parses a token and returns a node. * {@inheritdoc}
*
* @return Node
*
* @throws SyntaxError
*/ */
public function parse(Token $token) public function parse(Token $token)
{ {
@ -86,9 +82,7 @@ class TransChoiceTokenParser extends TransTokenParser
} }
/** /**
* Gets the tag name associated with this token parser. * {@inheritdoc}
*
* @return string The tag name
*/ */
public function getTag() public function getTag()
{ {

View File

@ -24,9 +24,7 @@ use Twig\TokenParser\AbstractTokenParser;
class TransDefaultDomainTokenParser extends AbstractTokenParser class TransDefaultDomainTokenParser extends AbstractTokenParser
{ {
/** /**
* Parses a token and returns a node. * {@inheritdoc}
*
* @return Node
*/ */
public function parse(Token $token) public function parse(Token $token)
{ {
@ -38,9 +36,7 @@ class TransDefaultDomainTokenParser extends AbstractTokenParser
} }
/** /**
* Gets the tag name associated with this token parser. * {@inheritdoc}
*
* @return string The tag name
*/ */
public function getTag() public function getTag()
{ {

View File

@ -28,11 +28,7 @@ use Twig\TokenParser\AbstractTokenParser;
class TransTokenParser extends AbstractTokenParser class TransTokenParser extends AbstractTokenParser
{ {
/** /**
* Parses a token and returns a node. * {@inheritdoc}
*
* @return Node
*
* @throws SyntaxError
*/ */
public function parse(Token $token) public function parse(Token $token)
{ {
@ -90,9 +86,7 @@ class TransTokenParser extends AbstractTokenParser
} }
/** /**
* Gets the tag name associated with this token parser. * {@inheritdoc}
*
* @return string The tag name
*/ */
public function getTag() public function getTag()
{ {

View File

@ -9,7 +9,7 @@ CHANGELOG
3.4.0 3.4.0
----- -----
* WebServer can now use '*' as a wildcard to bind to 0.0.0.0 (INADDR_ANY) * WebServer can now use `*` as a wildcard to bind to 0.0.0.0 (INADDR_ANY)
3.3.0 3.3.0
----- -----

View File

@ -142,7 +142,7 @@ class Container implements ResettableContainerInterface
* behaves in the same way as if the service was never created. * behaves in the same way as if the service was never created.
* *
* @param string $id The service identifier * @param string $id The service identifier
* @param object $service The service instance * @param object|null $service The service instance
*/ */
public function set($id, $service) public function set($id, $service)
{ {
@ -210,7 +210,7 @@ class Container implements ResettableContainerInterface
* @param string $id The service identifier * @param string $id The service identifier
* @param int $invalidBehavior The behavior when the service does not exist * @param int $invalidBehavior The behavior when the service does not exist
* *
* @return object The associated service * @return object|null The associated service
* *
* @throws ServiceCircularReferenceException When a circular reference is detected * @throws ServiceCircularReferenceException When a circular reference is detected
* @throws ServiceNotFoundException When the service is not defined * @throws ServiceNotFoundException When the service is not defined

View File

@ -489,7 +489,7 @@ class ContainerBuilder extends Container implements TaggedContainerInterface
* Sets a service. * Sets a service.
* *
* @param string $id The service identifier * @param string $id The service identifier
* @param object $service The service instance * @param object|null $service The service instance
* *
* @throws BadMethodCallException When this ContainerBuilder is compiled * @throws BadMethodCallException When this ContainerBuilder is compiled
*/ */
@ -540,7 +540,7 @@ class ContainerBuilder extends Container implements TaggedContainerInterface
* @param string $id The service identifier * @param string $id The service identifier
* @param int $invalidBehavior The behavior when the service does not exist * @param int $invalidBehavior The behavior when the service does not exist
* *
* @return object The associated service * @return object|null The associated service
* *
* @throws InvalidArgumentException when no definitions are available * @throws InvalidArgumentException when no definitions are available
* @throws ServiceCircularReferenceException When a circular reference is detected * @throws ServiceCircularReferenceException When a circular reference is detected
@ -1070,7 +1070,7 @@ class ContainerBuilder extends Container implements TaggedContainerInterface
* @param string $id The service identifier * @param string $id The service identifier
* @param bool $tryProxy Whether to try proxying the service with a lazy proxy * @param bool $tryProxy Whether to try proxying the service with a lazy proxy
* *
* @return object The service described by the service definition * @return mixed The service described by the service definition
* *
* @throws RuntimeException When the factory definition is incomplete * @throws RuntimeException When the factory definition is incomplete
* @throws RuntimeException When the service is a synthetic service * @throws RuntimeException When the service is a synthetic service
@ -1636,7 +1636,7 @@ class ContainerBuilder extends Container implements TaggedContainerInterface
* Shares a given service in the container. * Shares a given service in the container.
* *
* @param Definition $definition * @param Definition $definition
* @param object $service * @param mixed $service
* @param string|null $id * @param string|null $id
*/ */
private function shareService(Definition $definition, $service, $id, array &$inlineServices) private function shareService(Definition $definition, $service, $id, array &$inlineServices)

View File

@ -34,7 +34,7 @@ interface ContainerInterface extends PsrContainerInterface
* Sets a service. * Sets a service.
* *
* @param string $id The service identifier * @param string $id The service identifier
* @param object $service The service instance * @param object|null $service The service instance
*/ */
public function set($id, $service); public function set($id, $service);
@ -44,7 +44,7 @@ interface ContainerInterface extends PsrContainerInterface
* @param string $id The service identifier * @param string $id The service identifier
* @param int $invalidBehavior The behavior when the service does not exist * @param int $invalidBehavior The behavior when the service does not exist
* *
* @return object The associated service * @return object|null The associated service
* *
* @throws ServiceCircularReferenceException When a circular reference is detected * @throws ServiceCircularReferenceException When a circular reference is detected
* @throws ServiceNotFoundException When the service is not defined * @throws ServiceNotFoundException When the service is not defined

View File

@ -44,9 +44,8 @@ abstract class IteratorTestCase extends TestCase
* $a and $b such that $a goes before $b in $expected, the method * $a and $b such that $a goes before $b in $expected, the method
* asserts that any element of $a goes before any element of $b * asserts that any element of $a goes before any element of $b
* in the sequence generated by $iterator * in the sequence generated by $iterator
* @param \Traversable $iterator
*/ */
protected function assertOrderedIteratorForGroups($expected, \Traversable $iterator) protected function assertOrderedIteratorForGroups(array $expected, \Traversable $iterator)
{ {
$values = array_values(array_map(function (\SplFileInfo $fileinfo) { return $fileinfo->getPathname(); }, iterator_to_array($iterator))); $values = array_values(array_map(function (\SplFileInfo $fileinfo) { return $fileinfo->getPathname(); }, iterator_to_array($iterator)));
@ -63,11 +62,8 @@ abstract class IteratorTestCase extends TestCase
/** /**
* Same as IteratorTestCase::assertIterator with foreach usage. * Same as IteratorTestCase::assertIterator with foreach usage.
*
* @param array $expected
* @param \Traversable $iterator
*/ */
protected function assertIteratorInForeach($expected, \Traversable $iterator) protected function assertIteratorInForeach(array $expected, \Traversable $iterator)
{ {
$values = []; $values = [];
foreach ($iterator as $file) { foreach ($iterator as $file) {
@ -83,11 +79,8 @@ abstract class IteratorTestCase extends TestCase
/** /**
* Same as IteratorTestCase::assertOrderedIterator with foreach usage. * Same as IteratorTestCase::assertOrderedIterator with foreach usage.
*
* @param array $expected
* @param \Traversable $iterator
*/ */
protected function assertOrderedIteratorInForeach($expected, \Traversable $iterator) protected function assertOrderedIteratorInForeach(array $expected, \Traversable $iterator)
{ {
$values = []; $values = [];
foreach ($iterator as $file) { foreach ($iterator as $file) {

View File

@ -246,7 +246,7 @@ class UploadedFile extends File
$sizePostMax = self::parseFilesize(ini_get('post_max_size')); $sizePostMax = self::parseFilesize(ini_get('post_max_size'));
$sizeUploadMax = self::parseFilesize(ini_get('upload_max_filesize')); $sizeUploadMax = self::parseFilesize(ini_get('upload_max_filesize'));
return min([$sizePostMax, $sizeUploadMax]); return min($sizePostMax ?: PHP_INT_MAX, $sizeUploadMax ?: PHP_INT_MAX);
} }
/** /**

View File

@ -353,4 +353,18 @@ class UploadedFileTest extends TestCase
$this->assertFalse($file->isValid()); $this->assertFalse($file->isValid());
} }
public function testGetMaxFilesize()
{
$size = UploadedFile::getMaxFilesize();
$this->assertIsInt($size);
$this->assertGreaterThan(0, $size);
if (0 === (int) ini_get('post_max_size') && 0 === (int) ini_get('upload_max_filesize')) {
$this->assertSame(PHP_INT_MAX, $size);
} else {
$this->assertLessThan(PHP_INT_MAX, $size);
}
}
} }

View File

@ -164,7 +164,6 @@ class LanguageDataGenerator extends AbstractDataGenerator
return [ return [
'Version' => $rootBundle['Version'], 'Version' => $rootBundle['Version'],
'Languages' => $this->languageCodes, 'Languages' => $this->languageCodes,
'Aliases' => array_column(iterator_to_array($metadataBundle['alias']['language']), 'replacement'),
'Alpha2ToAlpha3' => $this->generateAlpha2ToAlpha3Mapping($metadataBundle), 'Alpha2ToAlpha3' => $this->generateAlpha2ToAlpha3Mapping($metadataBundle),
]; ];
} }
@ -179,9 +178,9 @@ class LanguageDataGenerator extends AbstractDataGenerator
$aliases = iterator_to_array($metadataBundle['alias']['language']); $aliases = iterator_to_array($metadataBundle['alias']['language']);
$alpha2ToAlpha3 = []; $alpha2ToAlpha3 = [];
foreach ($aliases as $alias => $language) { foreach ($aliases as $alias => $data) {
$language = $language['replacement']; $language = $data['replacement'];
if (2 === \strlen($language) && 3 === \strlen($alias)) { if (2 === \strlen($language) && 3 === \strlen($alias) && 'overlong' === $data['reason']) {
if (isset(self::$preferredAlpha2ToAlpha3Mapping[$language])) { if (isset(self::$preferredAlpha2ToAlpha3Mapping[$language])) {
// Validate to prevent typos // Validate to prevent typos
if (!isset($aliases[self::$preferredAlpha2ToAlpha3Mapping[$language]])) { if (!isset($aliases[self::$preferredAlpha2ToAlpha3Mapping[$language]])) {

View File

@ -619,7 +619,6 @@
"zun", "zun",
"zza" "zza"
], ],
"Aliases": [],
"Alpha2ToAlpha3": { "Alpha2ToAlpha3": {
"aa": "aar", "aa": "aar",
"ab": "abk", "ab": "abk",

View File

@ -138,7 +138,7 @@ CHANGELOG
* added `$context` support for XMLEncoder. * added `$context` support for XMLEncoder.
* [DEPRECATION] JsonEncode and JsonDecode where modified to throw * [DEPRECATION] JsonEncode and JsonDecode where modified to throw
an exception if error found. No need for get*Error() functions an exception if error found. No need for `get*Error()` functions
2.3.0 2.3.0
----- -----