Compare commits

..

11 Commits

Author SHA1 Message Date
Diego Saint Esteben
7cca5bb1b1 Update copyright year 2016-01-01 23:53:47 -03:00
Gregor Harlan
d0ee40c1e2 use nowdoc instead of heredoc 2015-12-21 17:05:00 +01:00
Nicolas Grekas
c0f543d3c4 Add missing exclusions from phpunit.xml.dist 2015-11-18 09:19:46 +01:00
Anne-Sophie Bachelard
89e1a14dfd added the new Composer exclude-from-classmap option 2015-10-30 12:48:51 -07:00
Nicolas Grekas
e1aa457a97 [ci] SymfonyTestsListener is now auto-registered 2015-10-11 11:37:49 +02:00
Nicolas Grekas
e9470b1f9e [ci] Enable collecting and replaying skipped tests 2015-10-10 10:46:02 +02:00
Nicolas Grekas
77d632fd72 [php7] Fix for substr() always returning a string 2015-07-28 14:38:40 +02:00
Nicolas Grekas
20c5dad1af Enhance hhvm test skip message 2015-07-03 07:54:45 +02:00
Nicolas Grekas
8f1257608f Towards 100% HHVM compat 2015-06-30 15:39:12 +02:00
Nicolas Grekas
355f12cf08 [2.3][Debug] Fix fatal-errors handling on HHVM 2015-06-16 14:35:43 +02:00
Vladimir Reznichenko
ff6a582db5 Php Inspections (EA Extended): - resolved possible PHP Fatal in \Symfony\Component\BrowserKit\Cookie::__toString -resolved implicit magic methods calls -resolved callable name case mismatches 2015-05-29 19:14:48 +02:00
6 changed files with 19 additions and 11 deletions

View File

@@ -133,6 +133,7 @@ class ErrorHandler
unset($context['GLOBALS']);
}
$level &= E_ALL | E_STRICT;
$exception = new ContextErrorException(sprintf('%s: %s in %s line %d', isset($this->levels[$level]) ? $this->levels[$level] : $level, $message, $file, $line), 0, $level, $file, $line, $context);
// Exceptions thrown from error handlers are sometimes not caught by the exception
@@ -173,7 +174,7 @@ class ErrorHandler
}
$this->reservedMemory = '';
$type = $error['type'];
$type = $error['type'] & (E_ALL | E_STRICT);
if (0 === $this->level || !in_array($type, array(E_ERROR, E_CORE_ERROR, E_COMPILE_ERROR, E_PARSE))) {
return;
}

View File

@@ -141,7 +141,7 @@ class ExceptionHandler
$ind = $count - $position + 1;
$class = $this->abbrClass($e['class']);
$message = nl2br(htmlspecialchars($e['message'], $flags, $this->charset));
$content .= sprintf(<<<EOF
$content .= sprintf(<<<'EOF'
<div class="block_exception clear_fix">
<h2><span>%d/%d</span> %s: %s</h2>
</div>
@@ -196,7 +196,7 @@ EOF;
*/
public function getStylesheet(FlattenException $exception)
{
return <<<EOF
return <<<'EOF'
.sf-reset { font: 11px Verdana, Arial, sans-serif; color: #333 }
.sf-reset .clear { clear:both; height:0; font-size:0; line-height:0; }
.sf-reset .clear_fix:after { display:block; height:0; clear:both; visibility:hidden; }

View File

@@ -1,4 +1,4 @@
Copyright (c) 2004-2015 Fabien Potencier
Copyright (c) 2004-2016 Fabien Potencier
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal

View File

@@ -39,6 +39,10 @@ class ErrorHandlerTest extends \PHPUnit_Framework_TestCase
public function testCompileTimeError()
{
if (defined('HHVM_VERSION')) {
$this->markTestSkipped('HHVM does not trigger strict notices.');
}
// the ContextErrorException must not be loaded to test the workaround
// for https://bugs.php.net/bug.php?id=65322.
if (class_exists('Symfony\Component\Debug\Exception\ContextErrorException', false)) {
@@ -62,10 +66,10 @@ class ErrorHandlerTest extends \PHPUnit_Framework_TestCase
$that->assertEquals(2, $exception->getLine());
if (PHP_VERSION_ID < 70000) {
$that->assertEquals(E_STRICT, $exception->getSeverity());
$that->assertStringStartsWith('Runtime Notice: Declaration of _CompileTimeError::foo() should be compatible with', $exception->getMessage());
$that->assertStringStartsWith('Runtime Notice: Declaration', $exception->getMessage());
} else {
$that->assertEquals(E_WARNING, $exception->getSeverity());
$that->assertStringStartsWith('Warning: Declaration of _CompileTimeError::foo() should be compatible with', $exception->getMessage());
$that->assertStringStartsWith('Warning: Declaration', $exception->getMessage());
}
$that->assertArrayHasKey('bar', $exception->getContext());
};
@@ -107,7 +111,7 @@ PHP
$that->assertEquals(E_NOTICE, $exception->getSeverity());
$that->assertEquals(__LINE__ + 40, $exception->getLine());
$that->assertEquals(__FILE__, $exception->getFile());
$that->assertRegexp('/^Notice: Undefined variable: (foo|bar)/', $exception->getMessage());
$that->assertRegExp('/^Notice: Undefined variable: (foo|bar)/', $exception->getMessage());
$that->assertArrayHasKey('foobar', $exception->getContext());
$trace = $exception->getTrace();
@@ -117,11 +121,11 @@ PHP
$that->assertEquals('->', $trace[0]['type']);
$that->assertEquals(__FILE__, $trace[1]['file']);
$that->assertEquals(__CLASS__, $trace[1]['class']);
$that->assertEquals('Symfony\Component\Debug\Tests\ErrorHandlerTest', $trace[1]['class']);
$that->assertEquals('triggerNotice', $trace[1]['function']);
$that->assertEquals('::', $trace[1]['type']);
$that->assertEquals(__CLASS__, $trace[2]['class']);
$that->assertEquals('Symfony\Component\Debug\Tests\ErrorHandlerTest', $trace[2]['class']);
$that->assertEquals('testNotice', $trace[2]['function']);
$that->assertEquals('->', $trace[2]['type']);
};

View File

@@ -22,7 +22,6 @@
"symfony/http-kernel": ">=2.3,<2.3.24|~2.4.0|>=2.5,<2.5.9|>=2.6,<2.6.2"
},
"require-dev": {
"symfony/phpunit-bridge": "~2.7",
"symfony/http-kernel": "~2.3.24|~2.5.9|~2.6,>=2.6.2",
"symfony/http-foundation": "~2.1"
},
@@ -32,7 +31,10 @@
"symfony/class-loader": ""
},
"autoload": {
"psr-0": { "Symfony\\Component\\Debug\\": "" }
"psr-0": { "Symfony\\Component\\Debug\\": "" },
"exclude-from-classmap": [
"/Tests/"
]
},
"target-dir": "Symfony/Component/Debug",
"minimum-stability": "dev",

View File

@@ -9,6 +9,7 @@
<php>
<ini name="error_reporting" value="-1" />
</php>
<testsuites>
<testsuite name="Symfony Debug Component Test Suite">
<directory>./Tests/</directory>