/**
  * @param string $path
  *
  * @return Content
  */
 protected function createContent($path = '/test/content')
 {
     $content = new Content();
     $content->setId($path);
     $content->setTitle('Foo Content');
     $this->getDm()->persist($content);
     $this->getDm()->flush();
     return $content;
 }
 public function testEnhanceTemplateByClass()
 {
     if ($content = $this->getDm()->find(null, '/test/content/templatebyclass')) {
         $this->getDm()->remove($content);
         $this->getDm()->flush();
     }
     NodeHelper::createPath($this->getDm()->getPhpcrSession(), '/test/content');
     $document = new Content();
     $document->setId('/test/content/templatebyclass');
     $document->setTitle('the title');
     $this->getDm()->persist($document);
     // put a route for this content
     $root = $this->getDm()->find(null, self::ROUTE_ROOT);
     $route = new Route();
     $route->setContent($document);
     $route->setPosition($root, 'templatebyclass');
     $this->getDm()->persist($route);
     $this->getDm()->flush();
     $expected = array('_controller' => 'cmf_content.controller:indexAction', RouteObjectInterface::ROUTE_NAME => self::ROUTE_ROOT . '/templatebyclass');
     $request = Request::create('/templatebyclass');
     $matches = $this->router->matchRequest($request);
     ksort($matches);
     $this->assertEquals($expected, $matches);
     $this->assertTrue($request->attributes->has(DynamicRouter::ROUTE_KEY));
     $this->assertTrue($request->attributes->has(DynamicRouter::CONTENT_TEMPLATE));
     $this->assertEquals('TestBundle:Content:index.html.twig', $request->attributes->get(DynamicRouter::CONTENT_TEMPLATE));
 }