@@ -36,9 +36,9 @@ public function testTwigIntegration()
36
36
{
37
37
$ kernel = new WebpackEncoreIntegrationTestKernel (true );
38
38
$ kernel ->boot ();
39
- $ container = $ kernel -> getContainer ( );
39
+ $ twig = $ this -> getTwigEnvironmentFromBootedKernel ( $ kernel );
40
40
41
- $ html1 = $ container -> get ( ' twig ' ) ->render ('@integration_test/template.twig ' );
41
+ $ html1 = $ twig ->render ('@integration_test/template.twig ' );
42
42
$ this ->assertStringContainsString (
43
43
'<script src="/build/file1.js" integrity="sha384-Q86c+opr0lBUPWN28BLJFqmLhho+9ZcJpXHorQvX6mYDWJ24RQcdDarXFQYN8HLc"></script> ' ,
44
44
$ html1
@@ -58,7 +58,7 @@ public function testTwigIntegration()
58
58
$ html1
59
59
);
60
60
61
- $ html2 = $ container -> get ( ' twig ' ) ->render ('@integration_test/manual_template.twig ' );
61
+ $ html2 = $ twig ->render ('@integration_test/manual_template.twig ' );
62
62
$ this ->assertStringContainsString (
63
63
'<script src="/build/file3.js"></script> ' ,
64
64
$ html2
@@ -73,10 +73,10 @@ public function testEntriesAreNotRepeatedWhenAlreadyOutputIntegration()
73
73
{
74
74
$ kernel = new WebpackEncoreIntegrationTestKernel (true );
75
75
$ kernel ->boot ();
76
- $ container = $ kernel -> getContainer ( );
76
+ $ twig = $ this -> getTwigEnvironmentFromBootedKernel ( $ kernel );
77
77
78
- $ html1 = $ container -> get ( ' twig ' ) ->render ('@integration_test/template.twig ' );
79
- $ html2 = $ container -> get ( ' twig ' ) ->render ('@integration_test/manual_template.twig ' );
78
+ $ html1 = $ twig ->render ('@integration_test/template.twig ' );
79
+ $ html2 = $ twig ->render ('@integration_test/manual_template.twig ' );
80
80
$ this ->assertStringContainsString (
81
81
'<script src="/build/file3.js"></script> ' ,
82
82
$ html2
@@ -102,7 +102,7 @@ public function testCacheWarmer()
102
102
{
103
103
$ kernel = new WebpackEncoreIntegrationTestKernel (true );
104
104
$ kernel ->boot ();
105
- $ container = $ kernel -> getContainer ( );
105
+ $ container = $ this -> getContainerFromBootedKernel ( $ kernel );
106
106
107
107
$ cacheWarmer = $ container ->get (WebpackEncoreCacheWarmerTester::class);
108
108
@@ -124,8 +124,8 @@ public function testEnabledStrictMode_throwsException_ifBuildMissing()
124
124
$ kernel ->outputPath = 'missing_build ' ;
125
125
$ kernel ->builds = ['different_build ' => 'missing_build ' ];
126
126
$ kernel ->boot ();
127
- $ container = $ kernel -> getContainer ( );
128
- $ container -> get ( ' twig ' ) ->render ('@integration_test/template.twig ' );
127
+ $ twig = $ this -> getTwigEnvironmentFromBootedKernel ( $ kernel );
128
+ $ twig ->render ('@integration_test/template.twig ' );
129
129
}
130
130
131
131
public function testDisabledStrictMode_ignoresMissingBuild ()
@@ -135,24 +135,24 @@ public function testDisabledStrictMode_ignoresMissingBuild()
135
135
$ kernel ->strictMode = false ;
136
136
$ kernel ->builds = ['different_build ' => 'missing_build ' ];
137
137
$ kernel ->boot ();
138
- $ container = $ kernel -> getContainer ( );
139
- $ html = $ container -> get ( ' twig ' ) ->render ('@integration_test/template.twig ' );
138
+ $ twig = $ this -> getTwigEnvironmentFromBootedKernel ( $ kernel );
139
+ $ html = $ twig ->render ('@integration_test/template.twig ' );
140
140
self ::assertSame ('' , trim ($ html ));
141
141
}
142
142
143
143
public function testAutowireableInterfaces ()
144
144
{
145
145
$ kernel = new WebpackEncoreIntegrationTestKernel (true );
146
146
$ kernel ->boot ();
147
- $ container = $ kernel -> getContainer ( );
147
+ $ container = $ this -> getContainerFromBootedKernel ( $ kernel );
148
148
$ this ->assertInstanceOf (WebpackEncoreAutowireTestService::class, $ container ->get (WebpackEncoreAutowireTestService::class));
149
149
}
150
150
151
151
public function testPreload ()
152
152
{
153
153
$ kernel = new WebpackEncoreIntegrationTestKernel (true );
154
154
$ kernel ->boot ();
155
- $ container = $ kernel -> getContainer ( );
155
+ $ container = $ this -> getContainerFromBootedKernel ( $ kernel );
156
156
157
157
/** @var TagRenderer $tagRenderer */
158
158
$ tagRenderer = $ container ->get ('public.webpack_encore.tag_renderer ' );
@@ -168,14 +168,34 @@ public function testAutowireDefaultBuildArgument()
168
168
{
169
169
$ kernel = new WebpackEncoreIntegrationTestKernel (true );
170
170
$ kernel ->boot ();
171
- $ container = $ kernel -> getContainer ( );
171
+ $ container = $ this -> getContainerFromBootedKernel ( $ kernel );
172
172
173
173
$ container ->get ('public.webpack_encore.entrypoint_lookup_collection ' )
174
174
->getEntrypointLookup ();
175
175
176
176
// Testing that it doesn't throw an exception is enough
177
177
$ this ->assertTrue (true );
178
178
}
179
+
180
+ private function getContainerFromBootedKernel (WebpackEncoreIntegrationTestKernel $ kernel )
181
+ {
182
+ if ($ kernel ::VERSION_ID >= 40100 ) {
183
+ return $ kernel ->getContainer ()->get ('test.service_container ' );
184
+ }
185
+
186
+ return $ kernel ->getContainer ();
187
+ }
188
+
189
+ private function getTwigEnvironmentFromBootedKernel (WebpackEncoreIntegrationTestKernel $ kernel )
190
+ {
191
+ $ container = $ this ->getContainerFromBootedKernel ($ kernel );
192
+
193
+ if ($ container ->has (\Twig \Environment::class)) {
194
+ return $ container ->get (\Twig \Environment::class);
195
+ }
196
+
197
+ return $ container ->get ('twig ' );
198
+ }
179
199
}
180
200
181
201
abstract class AbstractWebpackEncoreIntegrationTestKernel extends Kernel
@@ -206,12 +226,19 @@ public function registerBundles()
206
226
207
227
protected function configureContainer (ContainerBuilder $ container , LoaderInterface $ loader )
208
228
{
209
- $ container -> loadFromExtension ( ' framework ' , [
229
+ $ frameworkConfig = [
210
230
'secret ' => 'foo ' ,
211
231
'assets ' => [
212
232
'enabled ' => $ this ->enableAssets ,
213
233
],
214
- ]);
234
+ 'test ' => true ,
235
+ ];
236
+ if (AbstractWebpackEncoreIntegrationTestKernel::VERSION_ID >= 50100 ) {
237
+ $ frameworkConfig ['router ' ] = [
238
+ 'utf8 ' => true ,
239
+ ];
240
+ }
241
+ $ container ->loadFromExtension ('framework ' , $ frameworkConfig );
215
242
216
243
$ container ->loadFromExtension ('twig ' , [
217
244
'paths ' => [
@@ -238,10 +265,10 @@ protected function configureContainer(ContainerBuilder $container, LoaderInterfa
238
265
->setPublic (true );
239
266
240
267
$ container ->setAlias (new Alias ('public.webpack_encore.tag_renderer ' , true ), 'webpack_encore.tag_renderer ' );
241
- $ container ->getAlias ('public.webpack_encore.tag_renderer ' )->setPrivate ( false );
268
+ $ container ->getAlias ('public.webpack_encore.tag_renderer ' )->setPublic ( true );
242
269
243
270
$ container ->setAlias (new Alias ('public.webpack_encore.entrypoint_lookup_collection ' , true ), 'webpack_encore.entrypoint_lookup_collection ' );
244
- $ container ->getAlias ('public.webpack_encore.entrypoint_lookup_collection ' )->setPrivate ( false );
271
+ $ container ->getAlias ('public.webpack_encore.entrypoint_lookup_collection ' )->setPublic ( true );
245
272
246
273
// avoid logging request logs
247
274
$ container ->register ('logger ' , Logger::class)
@@ -264,11 +291,11 @@ public function renderFoo()
264
291
}
265
292
}
266
293
267
- if (method_exists ( AbstractWebpackEncoreIntegrationTestKernel::class, ' configureRouting ' ) ) {
294
+ if (AbstractWebpackEncoreIntegrationTestKernel::VERSION_ID >= 50100 ) {
268
295
class WebpackEncoreIntegrationTestKernel extends AbstractWebpackEncoreIntegrationTestKernel {
269
296
protected function configureRouting (RoutingConfigurator $ routes ): void
270
297
{
271
- $ routes ->add ('/foo ' , 'kernel: ' .( parent :: VERSION_ID >= 40100 ? ' : ' : '' ). ' renderFoo ' );
298
+ $ routes ->add ('/foo ' , 'kernel:: renderFoo ' );
272
299
}
273
300
}
274
301
} else {
0 commit comments