Merge branch '2.8' into 3.0
* 2.8: [ci] Get ICU/intl from github instead of nebm.ist.utl.pt/~glopes [Debug] Fix case sensitivity checks [Debug] Fix handling of php7 throwables fix high deps tests fix testing deprecation messages [Process] remove dead code [WebProfilerBundle] Add missing use statement. [ClassLoader] Fix storing not-found classes in APC cache [Form] cs fixes in date types [phpunit] disable prophecy
This commit is contained in:
commit
4e17cb2ecb
1
phpunit
1
phpunit
@ -51,6 +51,7 @@ if (!file_exists("$PHPUNIT_DIR/phpunit-$PHPUNIT_VERSION/phpunit") || md5_file(__
|
|||||||
$zip->extractTo(getcwd());
|
$zip->extractTo(getcwd());
|
||||||
$zip->close();
|
$zip->close();
|
||||||
chdir("phpunit-$PHPUNIT_VERSION");
|
chdir("phpunit-$PHPUNIT_VERSION");
|
||||||
|
passthru("$COMPOSER remove --no-update phpspec/prophecy");
|
||||||
passthru("$COMPOSER remove --no-update symfony/yaml");
|
passthru("$COMPOSER remove --no-update symfony/yaml");
|
||||||
passthru("$COMPOSER require --dev --no-update symfony/phpunit-bridge \">=3.1@dev\"");
|
passthru("$COMPOSER require --dev --no-update symfony/phpunit-bridge \">=3.1@dev\"");
|
||||||
passthru("$COMPOSER install --prefer-dist --no-progress --ansi", $exit);
|
passthru("$COMPOSER install --prefer-dist --no-progress --ansi", $exit);
|
||||||
|
@ -11,6 +11,7 @@
|
|||||||
|
|
||||||
namespace Symfony\Bundle\WebProfilerBundle\Controller;
|
namespace Symfony\Bundle\WebProfilerBundle\Controller;
|
||||||
|
|
||||||
|
use Symfony\Component\HttpFoundation\Request;
|
||||||
use Symfony\Component\HttpFoundation\Response;
|
use Symfony\Component\HttpFoundation\Response;
|
||||||
use Symfony\Component\Routing\Matcher\UrlMatcherInterface;
|
use Symfony\Component\Routing\Matcher\UrlMatcherInterface;
|
||||||
use Symfony\Component\Routing\Matcher\TraceableUrlMatcher;
|
use Symfony\Component\Routing\Matcher\TraceableUrlMatcher;
|
||||||
|
@ -122,8 +122,10 @@ class ApcClassLoader
|
|||||||
*/
|
*/
|
||||||
public function findFile($class)
|
public function findFile($class)
|
||||||
{
|
{
|
||||||
if (false === $file = apcu_fetch($this->prefix.$class)) {
|
$file = apcu_fetch($this->prefix.$class, $success);
|
||||||
apcu_store($this->prefix.$class, $file = $this->decorated->findFile($class));
|
|
||||||
|
if (!$success) {
|
||||||
|
apcu_store($this->prefix.$class, $file = $this->decorated->findFile($class) ?: null);
|
||||||
}
|
}
|
||||||
|
|
||||||
return $file;
|
return $file;
|
||||||
|
@ -121,8 +121,10 @@ class WinCacheClassLoader
|
|||||||
*/
|
*/
|
||||||
public function findFile($class)
|
public function findFile($class)
|
||||||
{
|
{
|
||||||
if (false === $file = wincache_ucache_get($this->prefix.$class)) {
|
$file = wincache_ucache_get($this->prefix.$class, $success);
|
||||||
wincache_ucache_set($this->prefix.$class, $file = $this->decorated->findFile($class), 0);
|
|
||||||
|
if (!$success) {
|
||||||
|
wincache_ucache_set($this->prefix.$class, $file = $this->decorated->findFile($class) ?: null, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
return $file;
|
return $file;
|
||||||
|
@ -124,7 +124,7 @@ class XcacheClassLoader
|
|||||||
if (xcache_isset($this->prefix.$class)) {
|
if (xcache_isset($this->prefix.$class)) {
|
||||||
$file = xcache_get($this->prefix.$class);
|
$file = xcache_get($this->prefix.$class);
|
||||||
} else {
|
} else {
|
||||||
$file = $this->decorated->findFile($class);
|
$file = $this->decorated->findFile($class) ?: null;
|
||||||
xcache_set($this->prefix.$class, $file);
|
xcache_set($this->prefix.$class, $file);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -42,15 +42,25 @@ class DebugClassLoader
|
|||||||
$this->isFinder = is_array($classLoader) && method_exists($classLoader[0], 'findFile');
|
$this->isFinder = is_array($classLoader) && method_exists($classLoader[0], 'findFile');
|
||||||
|
|
||||||
if (!isset(self::$caseCheck)) {
|
if (!isset(self::$caseCheck)) {
|
||||||
if(!file_exists(strtolower(__FILE__))) {
|
$file = file_exists(__FILE__) ? __FILE__ : rtrim(realpath('.'), DIRECTORY_SEPARATOR);
|
||||||
|
$i = strrpos($file, DIRECTORY_SEPARATOR);
|
||||||
|
$dir = substr($file, 0, 1 + $i);
|
||||||
|
$file = substr($file, 1 + $i);
|
||||||
|
$test = strtoupper($file) === $file ? strtolower($file) : strtoupper($file);
|
||||||
|
$test = realpath($dir.$test);
|
||||||
|
|
||||||
|
if (false === $test || false === $i) {
|
||||||
// filesystem is case sensitive
|
// filesystem is case sensitive
|
||||||
self::$caseCheck = 0;
|
self::$caseCheck = 0;
|
||||||
} elseif(realpath(strtolower(__FILE__)) === __FILE__) {
|
} elseif (substr($test, -strlen($file)) === $file) {
|
||||||
// filesystem is not case sensitive
|
// filesystem is case insensitive and realpath() normalizes the case of characters
|
||||||
self::$caseCheck = 1;
|
self::$caseCheck = 1;
|
||||||
} else {
|
} elseif (false !== stripos(PHP_OS, 'darwin')) {
|
||||||
// filesystem is not case sensitive AND realpath() fails to normalize case
|
// on MacOSX, HFS+ is case insensitive but realpath() doesn't normalize the case of characters
|
||||||
self::$caseCheck = 2;
|
self::$caseCheck = 2;
|
||||||
|
} else {
|
||||||
|
// filesystem case checks failed, fallback to disabling them
|
||||||
|
self::$caseCheck = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -60,25 +60,28 @@ class ContainerBuilderTest extends \PHPUnit_Framework_TestCase
|
|||||||
|
|
||||||
public function testCreateDeprecatedService()
|
public function testCreateDeprecatedService()
|
||||||
{
|
{
|
||||||
|
$deprecations = array();
|
||||||
|
set_error_handler(function ($type, $msg) use (&$deprecations) {
|
||||||
|
if (E_USER_DEPRECATED !== $type) {
|
||||||
|
restore_error_handler();
|
||||||
|
|
||||||
|
return call_user_func_array('PHPUnit_Util_ErrorHandler::handleError', func_get_args());
|
||||||
|
}
|
||||||
|
|
||||||
|
$deprecations[] = $msg;
|
||||||
|
});
|
||||||
|
|
||||||
$definition = new Definition('stdClass');
|
$definition = new Definition('stdClass');
|
||||||
$definition->setDeprecated(true);
|
$definition->setDeprecated(true);
|
||||||
|
|
||||||
$that = $this;
|
|
||||||
$wasTriggered = false;
|
|
||||||
|
|
||||||
set_error_handler(function ($errno, $errstr) use ($that, &$wasTriggered) {
|
|
||||||
$that->assertSame(E_USER_DEPRECATED, $errno);
|
|
||||||
$that->assertSame('The "deprecated_foo" service is deprecated. You should stop using it, as it will soon be removed.', $errstr);
|
|
||||||
$wasTriggered = true;
|
|
||||||
});
|
|
||||||
|
|
||||||
$builder = new ContainerBuilder();
|
$builder = new ContainerBuilder();
|
||||||
$builder->setDefinition('deprecated_foo', $definition);
|
$builder->setDefinition('deprecated_foo', $definition);
|
||||||
$builder->get('deprecated_foo');
|
$builder->get('deprecated_foo');
|
||||||
|
|
||||||
restore_error_handler();
|
restore_error_handler();
|
||||||
|
|
||||||
$this->assertTrue($wasTriggered);
|
$this->assertCount(1, $deprecations);
|
||||||
|
$this->assertContains('The "deprecated_foo" service is deprecated. You should stop using it, as it will soon be removed.', $deprecations[0]);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testRegister()
|
public function testRegister()
|
||||||
|
@ -203,7 +203,7 @@ class DateTimeType extends AbstractType
|
|||||||
public function configureOptions(OptionsResolver $resolver)
|
public function configureOptions(OptionsResolver $resolver)
|
||||||
{
|
{
|
||||||
$compound = function (Options $options) {
|
$compound = function (Options $options) {
|
||||||
return $options['widget'] !== 'single_text';
|
return 'single_text' !== $options['widget'];
|
||||||
};
|
};
|
||||||
|
|
||||||
// Defaults to the value of "widget"
|
// Defaults to the value of "widget"
|
||||||
|
@ -83,7 +83,7 @@ class DateType extends AbstractType
|
|||||||
$pattern
|
$pattern
|
||||||
);
|
);
|
||||||
|
|
||||||
// new \intlDateFormatter may return null instead of false in case of failure, see https://bugs.php.net/bug.php?id=66323
|
// new \IntlDateFormatter may return null instead of false in case of failure, see https://bugs.php.net/bug.php?id=66323
|
||||||
if (!$formatter) {
|
if (!$formatter) {
|
||||||
throw new InvalidOptionsException(intl_get_error_message(), intl_get_error_code());
|
throw new InvalidOptionsException(intl_get_error_message(), intl_get_error_code());
|
||||||
}
|
}
|
||||||
@ -180,7 +180,7 @@ class DateType extends AbstractType
|
|||||||
public function configureOptions(OptionsResolver $resolver)
|
public function configureOptions(OptionsResolver $resolver)
|
||||||
{
|
{
|
||||||
$compound = function (Options $options) {
|
$compound = function (Options $options) {
|
||||||
return $options['widget'] !== 'single_text';
|
return 'single_text' !== $options['widget'];
|
||||||
};
|
};
|
||||||
|
|
||||||
$placeholderDefault = function (Options $options) {
|
$placeholderDefault = function (Options $options) {
|
||||||
@ -222,7 +222,7 @@ class DateType extends AbstractType
|
|||||||
};
|
};
|
||||||
|
|
||||||
$format = function (Options $options) {
|
$format = function (Options $options) {
|
||||||
return $options['widget'] === 'single_text' ? DateType::HTML5_FORMAT : DateType::DEFAULT_FORMAT;
|
return 'single_text' === $options['widget'] ? DateType::HTML5_FORMAT : DateType::DEFAULT_FORMAT;
|
||||||
};
|
};
|
||||||
|
|
||||||
$resolver->setDefaults(array(
|
$resolver->setDefaults(array(
|
||||||
|
@ -168,7 +168,7 @@ class TimeType extends AbstractType
|
|||||||
public function configureOptions(OptionsResolver $resolver)
|
public function configureOptions(OptionsResolver $resolver)
|
||||||
{
|
{
|
||||||
$compound = function (Options $options) {
|
$compound = function (Options $options) {
|
||||||
return $options['widget'] !== 'single_text';
|
return 'single_text' !== $options['widget'];
|
||||||
};
|
};
|
||||||
|
|
||||||
$placeholderDefault = function (Options $options) {
|
$placeholderDefault = function (Options $options) {
|
||||||
|
@ -1166,24 +1166,6 @@ class ProcessTest extends \PHPUnit_Framework_TestCase
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* provides default method names for simple getter/setter.
|
|
||||||
*/
|
|
||||||
public function methodProvider()
|
|
||||||
{
|
|
||||||
$defaults = array(
|
|
||||||
array('CommandLine'),
|
|
||||||
array('Timeout'),
|
|
||||||
array('WorkingDirectory'),
|
|
||||||
array('Env'),
|
|
||||||
array('Stdin'),
|
|
||||||
array('Input'),
|
|
||||||
array('Options'),
|
|
||||||
);
|
|
||||||
|
|
||||||
return $defaults;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param string $commandline
|
* @param string $commandline
|
||||||
* @param null|string $cwd
|
* @param null|string $cwd
|
||||||
|
Reference in New Issue
Block a user