prophesize(AdminContext::class); $admin_context->isAdminRoute()->willReturn($is_admin_route); $route_match = $this->prophesize(RouteMatchInterface::class); $route_match->getRouteName()->willReturn($route_name); $account = $this->prophesize(AccountInterface::class); $account->hasPermission('administer blocks')->willReturn($has_permission); $outside_in_manager = new OutsideInManager($admin_context->reveal(), $route_match->reveal(), $account->reveal()); $this->assertSame($expected, $outside_in_manager->isApplicable()); } /** * Data provider for ::testIsApplicable(). */ public function providerTestIsApplicable() { $data = []; // Passing combination. $data[] = [FALSE, 'the_route_name', TRUE, TRUE]; // Failing combinations. $data[] = [TRUE, 'the_route_name', TRUE, FALSE]; $data[] = [TRUE, 'the_route_name', FALSE, FALSE]; $data[] = [TRUE, 'block.admin_demo', TRUE, FALSE]; $data[] = [TRUE, 'block.admin_demo', FALSE, FALSE]; $data[] = [FALSE, 'the_route_name', FALSE, FALSE]; $data[] = [FALSE, 'block.admin_demo', TRUE, FALSE]; $data[] = [FALSE, 'block.admin_demo', FALSE, FALSE]; return $data; } }