Merge branch '2.7' into 2.8
* 2.7: Fix undefined array $server Fix bug in windows detection [ProxyManager] Tmp fix composer reqs issue in ZF Add missing exclusions from phpunit.xml.dist [Serializer] ObjectNormalizer: don't serialize static methods and props Fix the server variables in the router_*.php files [Validator] Allow an empty path with a non empty fragment or a query The following change adds support for Armenian pluralization. [2.3][Process] fix Proccess run with pts enabled Conflicts: composer.json src/Symfony/Bridge/ProxyManager/composer.json src/Symfony/Component/Security/phpunit.xml.dist
This commit is contained in:
commit
ecdd681898
|
@ -83,6 +83,7 @@
|
|||
"doctrine/orm": "~2.4,>=2.4.5",
|
||||
"doctrine/doctrine-bundle": "~1.2",
|
||||
"monolog/monolog": "~1.11",
|
||||
"zendframework/zend-stdlib": "~2.5",
|
||||
"ocramius/proxy-manager": "~0.4|~1.0",
|
||||
"egulias/email-validator": "~1.2",
|
||||
"phpdocumentor/reflection": "^1.0.7"
|
||||
|
|
|
@ -40,6 +40,10 @@
|
|||
<directory>./src/Symfony/Bundle/*/Resources</directory>
|
||||
<directory>./src/Symfony/Component/*/Resources</directory>
|
||||
<directory>./src/Symfony/Component/*/*/Resources</directory>
|
||||
<directory>./src/Symfony/Bridge/*/vendor</directory>
|
||||
<directory>./src/Symfony/Bundle/*/vendor</directory>
|
||||
<directory>./src/Symfony/Component/*/vendor</directory>
|
||||
<directory>./src/Symfony/Component/*/*/vendor</directory>
|
||||
</exclude>
|
||||
</whitelist>
|
||||
</filter>
|
||||
|
|
|
@ -22,6 +22,7 @@
|
|||
<exclude>
|
||||
<directory>./Resources</directory>
|
||||
<directory>./Tests</directory>
|
||||
<directory>./vendor</directory>
|
||||
</exclude>
|
||||
</whitelist>
|
||||
</filter>
|
||||
|
|
|
@ -22,6 +22,7 @@
|
|||
<exclude>
|
||||
<directory>./Resources</directory>
|
||||
<directory>./Tests</directory>
|
||||
<directory>./vendor</directory>
|
||||
</exclude>
|
||||
</whitelist>
|
||||
</filter>
|
||||
|
|
|
@ -18,6 +18,7 @@
|
|||
"require": {
|
||||
"php": ">=5.3.9",
|
||||
"symfony/dependency-injection": "~2.8|~3.0.0",
|
||||
"zendframework/zend-stdlib": "~2.5",
|
||||
"ocramius/proxy-manager": "~0.4|~1.0"
|
||||
},
|
||||
"require-dev": {
|
||||
|
|
|
@ -20,8 +20,8 @@
|
|||
<whitelist>
|
||||
<directory>./</directory>
|
||||
<exclude>
|
||||
<directory>./Tests</directory>
|
||||
<directory>./Resources</directory>
|
||||
<directory>./Tests</directory>
|
||||
<directory>./vendor</directory>
|
||||
</exclude>
|
||||
</whitelist>
|
||||
|
|
|
@ -33,6 +33,10 @@ if (is_file($_SERVER['DOCUMENT_ROOT'].DIRECTORY_SEPARATOR.$_SERVER['SCRIPT_NAME'
|
|||
$_SERVER = array_merge($_SERVER, $_ENV);
|
||||
$_SERVER['SCRIPT_FILENAME'] = $_SERVER['DOCUMENT_ROOT'].DIRECTORY_SEPARATOR.'app_dev.php';
|
||||
|
||||
// Since we are rewriting to app_dev.php, adjust SCRIPT_NAME and PHP_SELF accordingly
|
||||
$_SERVER['SCRIPT_NAME'] = DIRECTORY_SEPARATOR.'app_dev.php';
|
||||
$_SERVER['PHP_SELF'] = DIRECTORY_SEPARATOR.'app_dev.php';
|
||||
|
||||
require 'app_dev.php';
|
||||
|
||||
error_log(sprintf('%s:%d [%d]: %s', $_SERVER['REMOTE_ADDR'], $_SERVER['REMOTE_PORT'], http_response_code(), $_SERVER['REQUEST_URI']), 4);
|
||||
|
|
|
@ -33,6 +33,10 @@ if (is_file($_SERVER['DOCUMENT_ROOT'].DIRECTORY_SEPARATOR.$_SERVER['SCRIPT_NAME'
|
|||
$_SERVER = array_merge($_SERVER, $_ENV);
|
||||
$_SERVER['SCRIPT_FILENAME'] = $_SERVER['DOCUMENT_ROOT'].DIRECTORY_SEPARATOR.'app.php';
|
||||
|
||||
// Since we are rewriting to app.php, adjust SCRIPT_NAME and PHP_SELF accordingly
|
||||
$_SERVER['SCRIPT_NAME'] = DIRECTORY_SEPARATOR.'app.php';
|
||||
$_SERVER['PHP_SELF'] = DIRECTORY_SEPARATOR.'app.php';
|
||||
|
||||
require 'app.php';
|
||||
|
||||
error_log(sprintf('%s:%d [%d]: %s', $_SERVER['REMOTE_ADDR'], $_SERVER['REMOTE_PORT'], http_response_code(), $_SERVER['REQUEST_URI']), 4);
|
||||
|
|
|
@ -20,9 +20,9 @@
|
|||
<whitelist>
|
||||
<directory>./</directory>
|
||||
<exclude>
|
||||
<directory>./vendor</directory>
|
||||
<directory>./Resources</directory>
|
||||
<directory>./Tests</directory>
|
||||
<directory>./vendor</directory>
|
||||
</exclude>
|
||||
</whitelist>
|
||||
</filter>
|
||||
|
|
|
@ -20,8 +20,8 @@
|
|||
<whitelist>
|
||||
<directory>./</directory>
|
||||
<exclude>
|
||||
<directory>./Tests</directory>
|
||||
<directory>./Resources</directory>
|
||||
<directory>./Tests</directory>
|
||||
<directory>./vendor</directory>
|
||||
</exclude>
|
||||
</whitelist>
|
||||
|
|
|
@ -20,8 +20,8 @@
|
|||
<whitelist>
|
||||
<directory>./</directory>
|
||||
<exclude>
|
||||
<directory>./Tests</directory>
|
||||
<directory>./Resources</directory>
|
||||
<directory>./Tests</directory>
|
||||
<directory>./vendor</directory>
|
||||
</exclude>
|
||||
</whitelist>
|
||||
|
|
|
@ -20,8 +20,8 @@
|
|||
<whitelist>
|
||||
<directory>./</directory>
|
||||
<exclude>
|
||||
<directory>./Tests</directory>
|
||||
<directory>./Resources</directory>
|
||||
<directory>./Tests</directory>
|
||||
<directory>./vendor</directory>
|
||||
</exclude>
|
||||
</whitelist>
|
||||
|
|
|
@ -20,8 +20,8 @@
|
|||
<whitelist>
|
||||
<directory>./</directory>
|
||||
<exclude>
|
||||
<directory>./vendor</directory>
|
||||
<directory>./Tests</directory>
|
||||
<directory>./vendor</directory>
|
||||
</exclude>
|
||||
</whitelist>
|
||||
</filter>
|
||||
|
|
|
@ -303,7 +303,7 @@ class SymfonyStyle extends OutputStyle
|
|||
{
|
||||
$progressBar = parent::createProgressBar($max);
|
||||
|
||||
if ('\\' === DIRECTORY_SEPARATOR) {
|
||||
if ('\\' !== DIRECTORY_SEPARATOR) {
|
||||
$progressBar->setEmptyBarCharacter('░'); // light shade character \u2591
|
||||
$progressBar->setProgressCharacter('');
|
||||
$progressBar->setBarCharacter('▓'); // dark shade character \u2593
|
||||
|
|
|
@ -21,6 +21,7 @@
|
|||
<directory>./</directory>
|
||||
<exclude>
|
||||
<directory>./Tests</directory>
|
||||
<directory>./vendor</directory>
|
||||
</exclude>
|
||||
</whitelist>
|
||||
</filter>
|
||||
|
|
|
@ -20,6 +20,7 @@
|
|||
<whitelist>
|
||||
<directory>./</directory>
|
||||
<exclude>
|
||||
<directory>./Resources</directory>
|
||||
<directory>./Tests</directory>
|
||||
<directory>./vendor</directory>
|
||||
</exclude>
|
||||
|
|
|
@ -590,7 +590,7 @@ class RequestTest extends \PHPUnit_Framework_TestCase
|
|||
{
|
||||
$request = new Request();
|
||||
|
||||
$server['PHP_AUTH_USER'] = 'fabien';
|
||||
$server = array('PHP_AUTH_USER' => 'fabien');
|
||||
$request->initialize(array(), array(), array(), array(), array(), $server);
|
||||
$this->assertEquals('fabien', $request->getUserInfo());
|
||||
|
||||
|
|
|
@ -26,6 +26,7 @@
|
|||
<whitelist>
|
||||
<directory>./</directory>
|
||||
<exclude>
|
||||
<directory>./Resources</directory>
|
||||
<directory>./Tests</directory>
|
||||
<directory>./vendor</directory>
|
||||
</exclude>
|
||||
|
|
|
@ -22,6 +22,7 @@
|
|||
<exclude>
|
||||
<directory>./Resources</directory>
|
||||
<directory>./Tests</directory>
|
||||
<directory>./vendor</directory>
|
||||
</exclude>
|
||||
</whitelist>
|
||||
</filter>
|
||||
|
|
|
@ -280,8 +280,20 @@ class Process
|
|||
}
|
||||
}
|
||||
|
||||
$ptsWorkaround = null;
|
||||
|
||||
if (!$this->useFileHandles && $this->enhanceSigchildCompatibility && $this->isSigchildEnabled()) {
|
||||
// Workaround for the bug, when PTS functionality is enabled.
|
||||
// @see : https://bugs.php.net/69442
|
||||
$ptsWorkaround = fopen('php://fd/0', 'r');
|
||||
}
|
||||
|
||||
$this->process = proc_open($commandline, $descriptors, $this->processPipes->pipes, $this->cwd, $this->env, $this->options);
|
||||
|
||||
if ($ptsWorkaround) {
|
||||
fclose($ptsWorkaround);
|
||||
}
|
||||
|
||||
if (!is_resource($this->process)) {
|
||||
throw new RuntimeException('Unable to launch a new process.');
|
||||
}
|
||||
|
|
|
@ -21,6 +21,7 @@
|
|||
<directory>./</directory>
|
||||
<exclude>
|
||||
<directory>./Tests</directory>
|
||||
<directory>./vendor</directory>
|
||||
</exclude>
|
||||
</whitelist>
|
||||
</filter>
|
||||
|
|
|
@ -22,6 +22,7 @@
|
|||
<exclude>
|
||||
<directory>./Resources</directory>
|
||||
<directory>./Tests</directory>
|
||||
<directory>./vendor</directory>
|
||||
</exclude>
|
||||
</whitelist>
|
||||
</filter>
|
||||
|
|
|
@ -20,8 +20,8 @@
|
|||
<whitelist>
|
||||
<directory>./</directory>
|
||||
<exclude>
|
||||
<directory>./vendor</directory>
|
||||
<directory>./Tests</directory>
|
||||
<directory>./vendor</directory>
|
||||
</exclude>
|
||||
</whitelist>
|
||||
</filter>
|
||||
|
|
|
@ -25,8 +25,9 @@
|
|||
<whitelist>
|
||||
<directory>./</directory>
|
||||
<exclude>
|
||||
<directory>./vendor</directory>
|
||||
<directory>./Resources</directory>
|
||||
<directory>./Tests</directory>
|
||||
<directory>./vendor</directory>
|
||||
</exclude>
|
||||
</whitelist>
|
||||
</filter>
|
||||
|
|
|
@ -25,8 +25,8 @@
|
|||
<whitelist>
|
||||
<directory>./</directory>
|
||||
<exclude>
|
||||
<directory>./vendor</directory>
|
||||
<directory>./Tests</directory>
|
||||
<directory>./vendor</directory>
|
||||
</exclude>
|
||||
</whitelist>
|
||||
</filter>
|
||||
|
|
|
@ -25,8 +25,9 @@
|
|||
<whitelist>
|
||||
<directory>./</directory>
|
||||
<exclude>
|
||||
<directory>./vendor</directory>
|
||||
<directory>./Resources</directory>
|
||||
<directory>./Tests</directory>
|
||||
<directory>./vendor</directory>
|
||||
</exclude>
|
||||
</whitelist>
|
||||
</filter>
|
||||
|
|
|
@ -25,8 +25,8 @@
|
|||
<whitelist>
|
||||
<directory>./</directory>
|
||||
<exclude>
|
||||
<directory>./vendor</directory>
|
||||
<directory>./Tests</directory>
|
||||
<directory>./vendor</directory>
|
||||
</exclude>
|
||||
</whitelist>
|
||||
</filter>
|
||||
|
|
|
@ -13,10 +13,7 @@
|
|||
<testsuites>
|
||||
<testsuite name="Symfony Security Component Test Suite">
|
||||
<directory>./Tests/</directory>
|
||||
<directory>./Acl/Tests/</directory>
|
||||
<directory>./Core/Tests/</directory>
|
||||
<directory>./Http/Tests/</directory>
|
||||
<directory>./Guard/Tests/</directory>
|
||||
<directory>./*/Tests/</directory>
|
||||
</testsuite>
|
||||
</testsuites>
|
||||
|
||||
|
@ -24,11 +21,12 @@
|
|||
<whitelist>
|
||||
<directory>./</directory>
|
||||
<exclude>
|
||||
<directory>./vendor</directory>
|
||||
<directory>./Resources</directory>
|
||||
<directory>./Tests</directory>
|
||||
<directory>./Acl/Tests</directory>
|
||||
<directory>./Core/Tests</directory>
|
||||
<directory>./Http/Tests</directory>
|
||||
<directory>./vendor</directory>
|
||||
<directory>./*/Resources</directory>
|
||||
<directory>./*/Tests</directory>
|
||||
<directory>./*/vendor</directory>
|
||||
</exclude>
|
||||
</whitelist>
|
||||
</filter>
|
||||
|
|
|
@ -68,6 +68,7 @@ class ObjectNormalizer extends AbstractNormalizer
|
|||
$reflClass = new \ReflectionClass($object);
|
||||
foreach ($reflClass->getMethods(\ReflectionMethod::IS_PUBLIC) as $reflMethod) {
|
||||
if (
|
||||
!$reflMethod->isStatic() &&
|
||||
!$reflMethod->isConstructor() &&
|
||||
!$reflMethod->isDestructor() &&
|
||||
0 === $reflMethod->getNumberOfRequiredParameters()
|
||||
|
@ -86,7 +87,9 @@ class ObjectNormalizer extends AbstractNormalizer
|
|||
|
||||
// properties
|
||||
foreach ($reflClass->getProperties(\ReflectionProperty::IS_PUBLIC) as $reflProperty) {
|
||||
$attributes[$reflProperty->getName()] = true;
|
||||
if (!$reflProperty->isStatic()) {
|
||||
$attributes[$reflProperty->getName()] = true;
|
||||
}
|
||||
}
|
||||
|
||||
$attributes = array_keys($attributes);
|
||||
|
|
|
@ -456,6 +456,11 @@ class ObjectNormalizerTest extends \PHPUnit_Framework_TestCase
|
|||
{
|
||||
$this->assertFalse($this->normalizer->supportsNormalization(new \ArrayObject()));
|
||||
}
|
||||
|
||||
public function testNormalizeStatic()
|
||||
{
|
||||
$this->assertEquals(array('foo' => 'K'), $this->normalizer->normalize(new ObjectWithStaticPropertiesAndMethods()));
|
||||
}
|
||||
}
|
||||
|
||||
class ObjectDummy
|
||||
|
@ -605,3 +610,14 @@ class ObjectConstructorArgsWithDefaultValueDummy
|
|||
throw new \RuntimeException('Dummy::otherMethod() should not be called');
|
||||
}
|
||||
}
|
||||
|
||||
class ObjectWithStaticPropertiesAndMethods
|
||||
{
|
||||
public $foo = 'K';
|
||||
public static $bar = 'A';
|
||||
|
||||
public static function getBaz()
|
||||
{
|
||||
return 'L';
|
||||
}
|
||||
}
|
||||
|
|
|
@ -20,8 +20,8 @@
|
|||
<whitelist>
|
||||
<directory>./</directory>
|
||||
<exclude>
|
||||
<directory>./vendor</directory>
|
||||
<directory>./Tests</directory>
|
||||
<directory>./vendor</directory>
|
||||
</exclude>
|
||||
</whitelist>
|
||||
</filter>
|
||||
|
|
|
@ -20,8 +20,8 @@
|
|||
<whitelist>
|
||||
<directory>./</directory>
|
||||
<exclude>
|
||||
<directory>./vendor</directory>
|
||||
<directory>./Tests</directory>
|
||||
<directory>./vendor</directory>
|
||||
</exclude>
|
||||
</whitelist>
|
||||
</filter>
|
||||
|
|
|
@ -131,6 +131,7 @@ class PluralizationRules
|
|||
case 'fr':
|
||||
case 'gun':
|
||||
case 'hi':
|
||||
case 'hy':
|
||||
case 'ln':
|
||||
case 'mg':
|
||||
case 'nso':
|
||||
|
|
|
@ -61,7 +61,7 @@ class PluralizationRulesTest extends \PHPUnit_Framework_TestCase
|
|||
{
|
||||
return array(
|
||||
array('1', array('ay','bo', 'cgg','dz','id', 'ja', 'jbo', 'ka','kk','km','ko','ky')),
|
||||
array('2', array('nl', 'fr', 'en', 'de', 'de_GE')),
|
||||
array('2', array('nl', 'fr', 'en', 'de', 'de_GE', 'hy', 'hy_AM')),
|
||||
array('3', array('be','bs','cs','hr')),
|
||||
array('4', array('cy','mt', 'sl')),
|
||||
array('5', array()),
|
||||
|
|
|
@ -20,8 +20,8 @@
|
|||
<whitelist>
|
||||
<directory>./</directory>
|
||||
<exclude>
|
||||
<directory>./vendor</directory>
|
||||
<directory>./Tests</directory>
|
||||
<directory>./vendor</directory>
|
||||
</exclude>
|
||||
</whitelist>
|
||||
</filter>
|
||||
|
|
|
@ -34,7 +34,7 @@ class UrlValidator extends ConstraintValidator
|
|||
\] # a IPv6 address
|
||||
)
|
||||
(:[0-9]+)? # a port (optional)
|
||||
(/?|/\S+|\?|\#) # a /, nothing, a / with something, a query or a fragment
|
||||
(/?|/\S+|\?\S*|\#\S*) # a /, nothing, a / with something, a query or a fragment
|
||||
$~ixu';
|
||||
|
||||
/**
|
||||
|
|
|
@ -118,7 +118,11 @@ class UrlValidatorTest extends AbstractConstraintValidatorTest
|
|||
array('http://username:password@symfony.com'),
|
||||
array('http://user-name@symfony.com'),
|
||||
array('http://symfony.com?'),
|
||||
array('http://symfony.com?query=1'),
|
||||
array('http://symfony.com/?query=1'),
|
||||
array('http://symfony.com#'),
|
||||
array('http://symfony.com#fragment'),
|
||||
array('http://symfony.com/#fragment'),
|
||||
);
|
||||
}
|
||||
|
||||
|
|
|
@ -20,8 +20,9 @@
|
|||
<whitelist>
|
||||
<directory>./</directory>
|
||||
<exclude>
|
||||
<directory>./vendor</directory>
|
||||
<directory>./Resources</directory>
|
||||
<directory>./Tests</directory>
|
||||
<directory>./vendor</directory>
|
||||
</exclude>
|
||||
</whitelist>
|
||||
</filter>
|
||||
|
|
|
@ -20,8 +20,8 @@
|
|||
<whitelist>
|
||||
<directory>./</directory>
|
||||
<exclude>
|
||||
<directory>./Tests</directory>
|
||||
<directory>./Resources</directory>
|
||||
<directory>./Tests</directory>
|
||||
<directory>./vendor</directory>
|
||||
</exclude>
|
||||
</whitelist>
|
||||
|
|
|
@ -20,8 +20,8 @@
|
|||
<whitelist>
|
||||
<directory>./</directory>
|
||||
<exclude>
|
||||
<directory>./vendor</directory>
|
||||
<directory>./Tests</directory>
|
||||
<directory>./vendor</directory>
|
||||
</exclude>
|
||||
</whitelist>
|
||||
</filter>
|
||||
|
|
Reference in New Issue