Updated to Drupal 8.5. Core Media not yet in use.
[yaffs-website] / vendor / symfony / routing / Tests / Loader / PhpFileLoaderTest.php
index bda64236f6022da4c79935c25718460ed58eb8ef..0dcf5d4941befef6728184670ac83dce3a0f59b8 100644 (file)
@@ -13,7 +13,10 @@ namespace Symfony\Component\Routing\Tests\Loader;
 
 use PHPUnit\Framework\TestCase;
 use Symfony\Component\Config\FileLocator;
+use Symfony\Component\Config\Resource\FileResource;
 use Symfony\Component\Routing\Loader\PhpFileLoader;
+use Symfony\Component\Routing\Route;
+use Symfony\Component\Routing\RouteCollection;
 
 class PhpFileLoaderTest extends TestCase
 {
@@ -80,4 +83,51 @@ class PhpFileLoaderTest extends TestCase
             (string) $fileResource
         );
     }
+
+    public function testRoutingConfigurator()
+    {
+        $locator = new FileLocator(array(__DIR__.'/../Fixtures'));
+        $loader = new PhpFileLoader($locator);
+        $routeCollection = $loader->load('php_dsl.php');
+
+        $expectedCollection = new RouteCollection();
+
+        $expectedCollection->add('foo', (new Route('/foo'))
+            ->setOptions(array('utf8' => true))
+            ->setCondition('abc')
+        );
+        $expectedCollection->add('buz', (new Route('/zub'))
+            ->setDefaults(array('_controller' => 'foo:act'))
+        );
+        $expectedCollection->add('c_bar', (new Route('/sub/pub/bar'))
+            ->setRequirements(array('id' => '\d+'))
+        );
+        $expectedCollection->add('c_pub_buz', (new Route('/sub/pub/buz'))
+            ->setHost('host')
+            ->setRequirements(array('id' => '\d+'))
+        );
+        $expectedCollection->add('ouf', (new Route('/ouf'))
+            ->setSchemes(array('https'))
+            ->setMethods(array('GET'))
+            ->setDefaults(array('id' => 0))
+        );
+
+        $expectedCollection->addResource(new FileResource(realpath(__DIR__.'/../Fixtures/php_dsl_sub.php')));
+        $expectedCollection->addResource(new FileResource(realpath(__DIR__.'/../Fixtures/php_dsl.php')));
+
+        $this->assertEquals($expectedCollection, $routeCollection);
+    }
+
+    public function testRoutingConfiguratorCanImportGlobPatterns()
+    {
+        $locator = new FileLocator(array(__DIR__.'/../Fixtures/glob'));
+        $loader = new PhpFileLoader($locator);
+        $routeCollection = $loader->load('php_dsl.php');
+
+        $route = $routeCollection->get('bar_route');
+        $this->assertSame('AppBundle:Bar:view', $route->getDefault('_controller'));
+
+        $route = $routeCollection->get('baz_route');
+        $this->assertSame('AppBundle:Baz:view', $route->getDefault('_controller'));
+    }
 }