File tree Expand file tree Collapse file tree 3 files changed +32
-0
lines changed
tests/AssetManagerTest/Service Expand file tree Collapse file tree 3 files changed +32
-0
lines changed Original file line number Diff line number Diff line change 2222 ),
2323 ),
2424 'asset_manager ' => array (
25+ 'clear_output_buffer ' => true ,
2526 'resolvers ' => array (
2627 'AssetManager\Resolver\MapResolver ' => 3000 ,
2728 'AssetManager\Resolver\ConcatResolver ' => 2500 ,
Original file line number Diff line number Diff line change @@ -155,6 +155,14 @@ public function setAssetOnResponse(ResponseInterface $response)
155155 }
156156 // @codeCoverageIgnoreEnd
157157
158+ if (!empty ($ this ->config ['clear_output_buffer ' ]) && $ this ->config ['clear_output_buffer ' ]) {
159+ // Only clean the output buffer if it's turned on and something
160+ // has been buffered.
161+ if (ob_get_length () > 0 ) {
162+ ob_clean ();
163+ }
164+ }
165+
158166 $ response ->getHeaders ()
159167 ->addHeaderLine ('Content-Transfer-Encoding ' , 'binary ' )
160168 ->addHeaderLine ('Content-Type ' , $ mimeType )
Original file line number Diff line number Diff line change @@ -423,6 +423,29 @@ public function testResolvesToAssetNotFound()
423423 $ this ->assertFalse ($ resolvesToAsset );
424424 }
425425
426+ public function testClearOutputBufferInSetAssetOnResponse ()
427+ {
428+ $ this ->expectOutputString (file_get_contents (__FILE__ ));
429+
430+ echo "This string would definately break any image source. \n" ;
431+ echo "This one would make it even worse. \n" ;
432+ echo "They all should be gone soon... \n" ;
433+
434+ $ assetFilterManager = new AssetFilterManager ();
435+ $ assetCacheManager = $ this ->getAssetCacheManagerMock ();
436+ $ mimeResolver = new MimeResolver ;
437+ $ assetManager = new AssetManager ($ this ->getResolver (), array ('clear_output_buffer ' => true ));
438+
439+ $ assetFilterManager ->setMimeResolver ($ mimeResolver );
440+ $ assetManager ->setAssetFilterManager ($ assetFilterManager );
441+ $ assetManager ->setAssetCacheManager ($ assetCacheManager );
442+ $ assetManager ->resolvesToAsset ($ this ->getRequest ());
443+
444+ $ response = $ assetManager ->setAssetOnResponse (new Response );
445+
446+ echo $ response ->getContent ();
447+ }
448+
426449 /**
427450 * @return string
428451 */
You can’t perform that action at this time.
0 commit comments