$session_configuration =
$this->
prophesize(SessionConfigurationInterface::
class);
$session_configuration->
hasSession(Argument::
type(Request::
class)) ->
willReturn($request_has_session);
$route =
$this->
prophesize(Route::
class);
$route->
getOption('_no_big_pipe'
) ->
willReturn($route_match_has_no_big_pipe_option);
$route_match =
$this->
prophesize(RouteMatchInterface::
class);
$route_match->
getRouteObject() ->
willReturn($route);
$big_pipe_strategy =
new BigPipeStrategy($session_configuration->
reveal(),
$request_stack->
reveal(),
$route_match->
reveal());
$processed_placeholders =
$big_pipe_strategy->
processPlaceholders($placeholders);
if ($request->
isMethodCacheable() && !
$route_match_has_no_big_pipe_option &&
$request_has_session) { $this->
assertSameSize($expected_big_pipe_placeholders,
$processed_placeholders, 'BigPipe is able to deliver all placeholders.'
);
foreach (array_keys($placeholders) as $placeholder) { $this->
assertSame($expected_big_pipe_placeholders[$placeholder],
$processed_placeholders[$placeholder], "Verifying how BigPipeStrategy handles the placeholder '
$placeholder'"
);
} } else { $this->
assertCount(0,
$processed_placeholders);
} }