private function doResolveRedirectTarget(Title $title)
 {
     $this->addToResolverTracker($title);
     if ($this->isCircularByKnownRedirectTarget($title)) {
         throw new RuntimeException("Circular redirect for {$title->getPrefixedDBkey()} detected.");
     }
     if ($this->isRedirect($title)) {
         $title = $this->pageCreator->createPage($title)->getRedirectTarget();
         if ($title instanceof Title) {
             $title = $this->doResolveRedirectTarget($title);
         }
     }
     if ($this->isValidRedirectTarget($title)) {
         return $title;
     }
     throw new RuntimeException("Redirect target is unresolvable");
 }
 public function testCreateFilePage()
 {
     $instance = new PageCreator();
     $this->assertInstanceOf('\\WikiFilePage', $instance->createFilePage(MockTitle::buildMock(__METHOD__)));
 }