public function testRenderSitemap() { $templating = m::mock('Symfony\\Component\\Templating\\EngineInterface'); $templating->shouldReceive('render')->twice()->with('DpnXmlSitemapBundle::sitemap.xml.twig', m::type('array'))->andReturn('rendered template'); $manager = new SitemapManager(array(), 1, $templating); $manager->addGenerator(new TestGenerator(2)); $this->assertSame('rendered template', $manager->renderSitemap()); $this->assertSame('rendered template', $manager->renderSitemap(2)); }
/** * @param int $number * * @return \Symfony\Component\HttpFoundation\RedirectResponse|\Symfony\Component\HttpFoundation\Response */ public function sitemapNumberAction($number) { $total = $this->manager->getNumberOfSitemaps(); if (1 === $total) { // redirect to /sitemap.xml return new RedirectResponse($this->router->generate('dpn_xml_sitemap')); } if ($number > $total) { // redirect to /sitemap{n}.xml return new RedirectResponse($this->router->generate('dpn_xml_sitemap_number', array('number' => $total))); } return $this->createResponse($this->manager->renderSitemap($number)); }