public function testFindRedirectTargetOnSelfReferencedDataItem()
 {
     $store = $this->getMockBuilder('\\SMW\\Store')->disableOriginalConstructor()->setMethods(array('getRedirectTarget'))->getMockForAbstractClass();
     $store->expects($this->never())->method('getRedirectTarget');
     $circularReferenceGuard = $this->getMockBuilder('\\SMW\\CircularReferenceGuard')->disableOriginalConstructor()->getMock();
     $circularReferenceGuard->expects($this->atLeastOnce())->method('isCircularByRecursionFor')->will($this->returnValue(true));
     $instance = new RedirectTargetLookup($store, $circularReferenceGuard);
     $instance->findRedirectTarget(DIWikiPage::newFromText('Foo'));
 }
 /**
  * Ensures that new redirects are resolved while a value is still kept
  * in cache (internally it uses getPropertyValues hence we don't loose
  * much as objects are reused during the lookup).
  */
 private function resolveRedirectTargets(array $results)
 {
     $dataItems = array();
     foreach ($results as $dataItem) {
         $dataItems[] = $this->redirectTargetLookup->findRedirectTarget($dataItem);
     }
     return $dataItems;
 }