17
17
use Symfony \Component \DependencyInjection \Compiler \ResolveBindingsPass ;
18
18
use Symfony \Component \DependencyInjection \ContainerBuilder ;
19
19
use Symfony \Component \DependencyInjection \Definition ;
20
- use Symfony \Component \DependencyInjection \Exception \RuntimeException ;
21
20
use Symfony \Component \DependencyInjection \Reference ;
22
21
use Symfony \Component \DependencyInjection \Tests \Fixtures \CaseSensitiveClass ;
23
22
use Symfony \Component \DependencyInjection \Tests \Fixtures \NamedArgumentsDummy ;
24
23
use Symfony \Component \DependencyInjection \Tests \Fixtures \ParentNotExists ;
25
24
use Symfony \Component \DependencyInjection \TypedReference ;
26
- use Symfony \Component \HttpKernel \HttpKernelInterface ;
27
25
28
26
require_once __DIR__ .'/../Fixtures/includes/autowiring_classes.php ' ;
29
27
@@ -115,6 +113,10 @@ public function testScalarSetter()
115
113
$ this ->assertEquals ([['setDefaultLocale ' , ['fr ' ]]], $ definition ->getMethodCalls ());
116
114
}
117
115
116
+ /**
117
+ * @expectedException \Symfony\Component\DependencyInjection\Exception\RuntimeException
118
+ * @exceptedExceptionMessage Invalid service "Symfony\Component\DependencyInjection\Tests\Fixtures\NamedArgumentsDummy": method "setLogger()" does not exist.
119
+ */
118
120
public function testWithNonExistingSetterAndBinding ()
119
121
{
120
122
$ container = new ContainerBuilder ();
@@ -123,36 +125,11 @@ public function testWithNonExistingSetterAndBinding()
123
125
'$c ' => (new Definition ('logger ' ))->setFactory ('logger ' ),
124
126
];
125
127
126
- $ definition = $ container ->register (HttpKernelInterface::class, HttpKernelInterface::class);
127
- $ definition ->addMethodCall ('setLogger ' );
128
- $ definition ->setBindings ($ bindings );
129
- $ this ->expectException (RuntimeException::class);
130
-
131
- $ pass = new ResolveBindingsPass ();
132
- $ pass ->process ($ container );
133
- }
134
-
135
- public function testTupleBinding ()
136
- {
137
- $ container = new ContainerBuilder ();
138
-
139
- $ bindings = [
140
- '$c ' => new BoundArgument (new Reference ('bar ' )),
141
- CaseSensitiveClass::class.'$c ' => new BoundArgument (new Reference ('foo ' )),
142
- ];
143
-
144
128
$ definition = $ container ->register (NamedArgumentsDummy::class, NamedArgumentsDummy::class);
145
- $ definition ->addMethodCall ('setSensitiveClass ' );
146
- $ definition ->addMethodCall ('setAnotherC ' );
129
+ $ definition ->addMethodCall ('setLogger ' );
147
130
$ definition ->setBindings ($ bindings );
148
131
149
132
$ pass = new ResolveBindingsPass ();
150
133
$ pass ->process ($ container );
151
-
152
- $ expected = [
153
- ['setSensitiveClass ' , [new Reference ('foo ' )]],
154
- ['setAnotherC ' , [new Reference ('bar ' )]],
155
- ];
156
- $ this ->assertEquals ($ expected , $ definition ->getMethodCalls ());
157
134
}
158
135
}
0 commit comments