protected function setUp() { $this->fixturesDir = realpath(__DIR__ . '/../fixtures'); $this->webDir = realpath(__DIR__ . '/../web'); self::createClient(); $this->container = self::$kernel->getContainer(); $router = $this->container->get('router'); /* @var $router RouterInterface */ $this->container->get('event_dispatcher')->addListener(SitemapPopulateEvent::ON_SITEMAP_POPULATE, function (SitemapPopulateEvent $event) use($router) { $base_url = $router->generate('PrestaDemoBundle_homepage', array(), true); $urlVideo = new GoogleVideoUrlDecorator(new UrlConcrete($base_url . 'page_video1/'), $base_url . 'page_video1/thumbnail_loc?a=b&b=c', 'Title & spécial chars', 'The description & spécial chars', array('content_loc' => $base_url . 'page_video1/content?format=mov&a=b')); $urlVideo->setGalleryLoc($base_url . 'page_video1/gallery_loc/?p=1&sort=desc')->setGalleryLocTitle('Gallery title & spécial chars'); $event->getGenerator()->addUrl($urlVideo, 'video'); }); }
protected function setUp() { $url = new GoogleVideoUrlDecorator(new UrlConcrete('http://acme.com/'), 'http://acme.com/video/thumbnail.jpg', 'Acme video', 'An acme video for testing purposes', array('content_loc' => 'http://acme.com/video/content.flv', 'player_loc' => 'http://acme.com/video/player.swf?a=b&c=d', 'duration' => '600', 'expiration_date' => new \DateTime(), 'rating' => 4.2, 'view_count' => 42, 'publication_date' => new \DateTime(), 'family_friendly' => GoogleVideoUrlDecorator::FAMILY_FRIENDLY_YES, 'category' => 'Testing w/ spécial chars', 'restriction_allow' => array('FR', 'BE'), 'restriction_deny' => array('GB'), 'gallery_loc' => 'http://acme.com/video/gallery/?p=1&sort=desc', 'gallery_loc_title' => 'Gallery for testing purposes', 'requires_subscription' => GoogleVideoUrlDecorator::REQUIRES_SUBSCRIPTION_YES, 'uploader' => 'depely', 'uploader_info' => 'http://acme.com/video/users/1/', 'platforms' => array(GoogleVideoUrlDecorator::PLATFORM_WEB, GoogleVideoUrlDecorator::PLATFORM_MOBILE), 'platform_relationship' => GoogleVideoUrlDecorator::PLATFORM_RELATIONSHIP_ALLOW, 'live' => GoogleVideoUrlDecorator::LIVE_NO)); $url->addTag('acme'); $url->addTag('testing'); $url->addPrice(42, 'EUR', GoogleVideoUrlDecorator::PRICE_TYPE_OWN, GoogleVideoUrlDecorator::PRICE_RESOLUTION_HD); $url->addPrice(53, 'USD'); $this->xml = new \DOMDocument(); $xml = '<?xml version="1.0" encoding="UTF-8"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"'; foreach ($url->getCustomNamespaces() as $name => $uri) { $xml .= ' xmlns:' . $name . '="' . $uri . '"'; } $xml .= '>' . $url->toXml() . '</urlset>'; $this->xml->loadXML($xml); }