/**
  * Initializes the page.
  *
  * @param Page $page Page to initialize.
  *
  * @return self
  */
 public function initPage(Page $page)
 {
     /* @var $annotations PageUrlAnnotation[] */
     $annotations = $this->annotationManager->getClassAnnotations($page, '@page-url');
     if (empty($annotations)) {
         return $this;
     }
     $page->setUrlBuilder($this->urlBuilderFactory->getUrlBuilder($annotations[0]->url, $annotations[0]->params, $this->config->getOption('base_url')));
     return $this;
 }
 /**
  * @dataProvider initPageDataProvider
  */
 public function testInitPage($url, array $params, $use_url_builder)
 {
     $this->expectPageUrlAnnotation($url, $params);
     /* @var $page Page */
     $page = m::mock($this->pageClass);
     $urlBuilder = m::mock(self::URL_BUILDER_INTERFACE);
     $this->realFactory->setUrlBuilderFactory($this->urlBuilderFactory);
     $this->urlBuilderFactory->shouldReceive('getUrlBuilder')->with($url, $params, 'http://domain.tld')->times(isset($url) ? 1 : 0)->andReturn($urlBuilder);
     $page->shouldReceive('setUrlBuilder')->times($use_url_builder ? 1 : 0)->andReturn($page);
     $this->assertSame($this->realFactory, $this->realFactory->initPage($page));
 }