Merge branch '3.3' into 3.4
* 3.3: Tweaking class not found autowiring error [TwigBridge] Add missing dev requirement for workflow fixed #25440 empty lines don't count for indent detection
This commit is contained in:
commit
966687672b
@ -25,10 +25,6 @@ class WorkflowExtensionTest extends TestCase
|
||||
|
||||
protected function setUp()
|
||||
{
|
||||
if (!class_exists(Workflow::class)) {
|
||||
$this->markTestSkipped('The Workflow component is needed to run tests for this extension.');
|
||||
}
|
||||
|
||||
$places = array('ordered', 'waiting_for_payment', 'processed');
|
||||
$transitions = array(
|
||||
new Transition('t1', 'ordered', 'waiting_for_payment'),
|
||||
|
@ -20,7 +20,6 @@
|
||||
"twig/twig": "^1.35|^2.4.4"
|
||||
},
|
||||
"require-dev": {
|
||||
"fig/link-util": "^1.0",
|
||||
"symfony/asset": "~2.8|~3.0|~4.0",
|
||||
"symfony/dependency-injection": "~2.8|~3.0|~4.0",
|
||||
"symfony/finder": "~2.8|~3.0|~4.0",
|
||||
@ -38,7 +37,8 @@
|
||||
"symfony/console": "~3.4|~4.0",
|
||||
"symfony/var-dumper": "~2.8.10|~3.1.4|~3.2|~4.0",
|
||||
"symfony/expression-language": "~2.8|~3.0|~4.0",
|
||||
"symfony/web-link": "~3.3|~4.0"
|
||||
"symfony/web-link": "~3.3|~4.0",
|
||||
"symfony/workflow": "~3.3|~4.0"
|
||||
},
|
||||
"conflict": {
|
||||
"symfony/form": "<3.4",
|
||||
|
@ -11,6 +11,7 @@
|
||||
|
||||
namespace Symfony\Component\DependencyInjection\Compiler;
|
||||
|
||||
use Symfony\Component\Config\Resource\ClassExistenceResource;
|
||||
use Symfony\Component\DependencyInjection\Config\AutowireServiceResource;
|
||||
use Symfony\Component\DependencyInjection\ContainerBuilder;
|
||||
use Symfony\Component\DependencyInjection\Definition;
|
||||
@ -442,7 +443,17 @@ class AutowirePass extends AbstractRecursivePass
|
||||
private function createTypeNotFoundMessage(TypedReference $reference, $label)
|
||||
{
|
||||
if (!$r = $this->container->getReflectionClass($type = $reference->getType(), false)) {
|
||||
$message = sprintf('has type "%s" but this class cannot be loaded.', $type);
|
||||
// either $type does not exist or a parent class does not exist
|
||||
try {
|
||||
$resource = new ClassExistenceResource($type, false);
|
||||
// isFresh() will explode ONLY if a parent class/trait does not exist
|
||||
$resource->isFresh(0);
|
||||
$parentMsg = false;
|
||||
} catch (\ReflectionException $e) {
|
||||
$parentMsg = $e->getMessage();
|
||||
}
|
||||
|
||||
$message = sprintf('has type "%s" but this class %s.', $type, $parentMsg ? sprintf('is missing a parent class (%s)', $parentMsg) : 'was not found');
|
||||
} else {
|
||||
$message = $this->container->has($type) ? 'this service is abstract' : 'no such service exists';
|
||||
$message = sprintf('references %s "%s" but %s.%s', $r->isInterface() ? 'interface' : 'class', $type, $message, $this->createTypeAlternatives($reference));
|
||||
|
@ -372,7 +372,7 @@ class AutowirePassTest extends TestCase
|
||||
|
||||
/**
|
||||
* @expectedException \Symfony\Component\DependencyInjection\Exception\AutowiringFailedException
|
||||
* @expectedExceptionMessage Cannot autowire service "a": argument "$r" of method "Symfony\Component\DependencyInjection\Tests\Compiler\BadTypeHintedArgument::__construct()" has type "Symfony\Component\DependencyInjection\Tests\Compiler\NotARealClass" but this class cannot be loaded.
|
||||
* @expectedExceptionMessage Cannot autowire service "a": argument "$r" of method "Symfony\Component\DependencyInjection\Tests\Compiler\BadTypeHintedArgument::__construct()" has type "Symfony\Component\DependencyInjection\Tests\Compiler\NotARealClass" but this class was not found.
|
||||
*/
|
||||
public function testClassNotFoundThrowsException()
|
||||
{
|
||||
@ -389,7 +389,7 @@ class AutowirePassTest extends TestCase
|
||||
|
||||
/**
|
||||
* @expectedException \Symfony\Component\DependencyInjection\Exception\AutowiringFailedException
|
||||
* @expectedExceptionMessage Cannot autowire service "a": argument "$r" of method "Symfony\Component\DependencyInjection\Tests\Compiler\BadParentTypeHintedArgument::__construct()" has type "Symfony\Component\DependencyInjection\Tests\Compiler\OptionalServiceClass" but this class cannot be loaded.
|
||||
* @expectedExceptionMessage Cannot autowire service "a": argument "$r" of method "Symfony\Component\DependencyInjection\Tests\Compiler\BadParentTypeHintedArgument::__construct()" has type "Symfony\Component\DependencyInjection\Tests\Compiler\OptionalServiceClass" but this class is missing a parent class (Class Symfony\Bug\NotExistClass not found).
|
||||
*/
|
||||
public function testParentClassNotFoundThrowsException()
|
||||
{
|
||||
@ -789,7 +789,7 @@ class AutowirePassTest extends TestCase
|
||||
public function provideNotWireableCalls()
|
||||
{
|
||||
return array(
|
||||
array('setNotAutowireable', 'Cannot autowire service "foo": argument "$n" of method "Symfony\Component\DependencyInjection\Tests\Compiler\NotWireable::setNotAutowireable()" has type "Symfony\Component\DependencyInjection\Tests\Compiler\NotARealClass" but this class cannot be loaded.'),
|
||||
array('setNotAutowireable', 'Cannot autowire service "foo": argument "$n" of method "Symfony\Component\DependencyInjection\Tests\Compiler\NotWireable::setNotAutowireable()" has type "Symfony\Component\DependencyInjection\Tests\Compiler\NotARealClass" but this class was not found.'),
|
||||
array('setDifferentNamespace', 'Cannot autowire service "foo": argument "$n" of method "Symfony\Component\DependencyInjection\Tests\Compiler\NotWireable::setDifferentNamespace()" references class "stdClass" but no such service exists. It cannot be auto-registered because it is from a different root namespace.'),
|
||||
array(null, 'Invalid service "foo": method "Symfony\Component\DependencyInjection\Tests\Compiler\NotWireable::setProtectedMethod()" must be public.'),
|
||||
);
|
||||
|
@ -32,7 +32,7 @@
|
||||
"symfony/proxy-manager-bridge": "Generate service proxies to lazy load them"
|
||||
},
|
||||
"conflict": {
|
||||
"symfony/config": "<3.3.1",
|
||||
"symfony/config": "<3.3.7",
|
||||
"symfony/finder": "<3.3",
|
||||
"symfony/proxy-manager-bridge": "<3.4",
|
||||
"symfony/yaml": "<3.4"
|
||||
|
@ -73,7 +73,7 @@ class Query extends AbstractQuery
|
||||
$func = 'ldap_search';
|
||||
break;
|
||||
default:
|
||||
throw new LdapException(sprintf('Could not search in scope %s', $this->options['scopen']));
|
||||
throw new LdapException(sprintf('Could not search in scope "%s"', $this->options['scope']));
|
||||
}
|
||||
|
||||
$this->search = @$func(
|
||||
|
@ -577,8 +577,8 @@ class Parser
|
||||
do {
|
||||
$EOF = false;
|
||||
|
||||
// comment-like lines do not influence the indentation depth
|
||||
if ($this->isCurrentLineComment()) {
|
||||
// empty and comment-like lines do not influence the indentation depth
|
||||
if ($this->isCurrentLineEmpty() || $this->isCurrentLineComment()) {
|
||||
$EOF = !$this->moveToNextLine();
|
||||
|
||||
if (!$EOF) {
|
||||
@ -605,7 +605,7 @@ class Parser
|
||||
$data = array();
|
||||
if ($this->getCurrentLineIndentation() >= $newIndent) {
|
||||
$data[] = substr($this->currentLine, $newIndent);
|
||||
} elseif ($this->isCurrentLineComment()) {
|
||||
} elseif ($this->isCurrentLineEmpty() || $this->isCurrentLineComment()) {
|
||||
$data[] = $this->currentLine;
|
||||
} else {
|
||||
$this->moveToPreviousLine();
|
||||
|
@ -2150,6 +2150,18 @@ YAML;
|
||||
);
|
||||
$tests['mapping in sequence starting on a new line'] = array($yaml, $expected);
|
||||
|
||||
$yaml = <<<YAML
|
||||
foo:
|
||||
|
||||
bar: baz
|
||||
YAML;
|
||||
$expected = array(
|
||||
'foo' => array(
|
||||
'bar' => 'baz',
|
||||
),
|
||||
);
|
||||
$tests['blank line at the beginning of an indented mapping value'] = array($yaml, $expected);
|
||||
|
||||
return $tests;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user