X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs-website;a=blobdiff_plain;f=web%2Fcore%2Fmodules%2Fsystem%2Ftests%2Fsrc%2FUnit%2FRouting%2FAdminRouteSubscriberTest.php;fp=web%2Fcore%2Fmodules%2Fsystem%2Ftests%2Fsrc%2FUnit%2FRouting%2FAdminRouteSubscriberTest.php;h=153391c419de48a64819276431e55693d326eeda;hp=0000000000000000000000000000000000000000;hb=af6d1fb995500ae68849458ee10d66abbdcfb252;hpb=680c79a86e3ed402f263faeac92e89fb6d9edcc0 diff --git a/web/core/modules/system/tests/src/Unit/Routing/AdminRouteSubscriberTest.php b/web/core/modules/system/tests/src/Unit/Routing/AdminRouteSubscriberTest.php new file mode 100644 index 000000000..153391c41 --- /dev/null +++ b/web/core/modules/system/tests/src/Unit/Routing/AdminRouteSubscriberTest.php @@ -0,0 +1,70 @@ +add('the_route', $route); + (new AdminRouteSubscriber())->onAlterRoutes(new RouteBuildEvent($collection)); + + $this->assertSame($is_admin, $route->getOption('_admin_route')); + } + + public function providerTestAlterRoutes() { + $data = []; + $data['non-admin'] = [ + new Route('/foo'), + NULL, + ]; + $data['admin prefix'] = [ + new Route('/admin/foo'), + TRUE, + ]; + $data['admin option'] = [ + (new Route('/foo')) + ->setOption('_admin_route', TRUE), + TRUE, + ]; + $data['admin prefix, non-HTML format'] = [ + (new Route('/admin/foo')) + ->setRequirement('_format', 'json'), + NULL, + ]; + $data['admin option, non-HTML format'] = [ + (new Route('/foo')) + ->setRequirement('_format', 'json') + ->setOption('_admin_route', TRUE), + TRUE, + ]; + $data['admin prefix, HTML format'] = [ + (new Route('/admin/foo')) + ->setRequirement('_format', 'html'), + TRUE, + ]; + $data['admin prefix, multi-format including HTML'] = [ + (new Route('/admin/foo')) + ->setRequirement('_format', 'json|html'), + TRUE, + ]; + return $data; + } + +}