/** * Returns the Project Descriptor from the cache. * * @param ProjectDescriptor $projectDescriptor * * @return void */ public function populate(ProjectDescriptor $projectDescriptor) { /** @var IteratorInterface $iteratorInterface */ $iteratorInterface = $this->getCache()->getIterator(); // load the settings object try { $settings = $this->getCache()->getItem(self::KEY_SETTINGS); } catch (\Exception $e) { $settings = $this->igBinaryCompatibleCacheClear(self::KEY_SETTINGS, $e); } if ($settings) { $projectDescriptor->setSettings($settings); } // FIXME: Workaround for: https://github.com/zendframework/zf2/pull/4154 if ($iteratorInterface->valid()) { foreach ($this->getCache() as $key) { try { $item = $this->getCache()->getItem($key); } catch (\Exception $e) { $this->igBinaryCompatibleCacheClear($key, $e); } if ($item instanceof FileDescriptor) { $projectDescriptor->getFiles()->set($item->getPath(), $item); } } } }
/** * @covers phpDocumentor\Descriptor\ProjectDescriptor::isVisibilityAllowed */ public function testIsVisibilityAllowed() { $this->assertTrue($this->fixture->isVisibilityAllowed(Settings::VISIBILITY_PUBLIC)); $this->assertTrue($this->fixture->isVisibilityAllowed(Settings::VISIBILITY_PROTECTED)); $this->assertTrue($this->fixture->isVisibilityAllowed(Settings::VISIBILITY_PRIVATE)); $this->assertFalse($this->fixture->isVisibilityAllowed(Settings::VISIBILITY_INTERNAL)); $settings = new Settings(); $settings->setVisibility(Settings::VISIBILITY_PROTECTED); $this->fixture->setSettings($settings); $this->assertFalse($this->fixture->isVisibilityAllowed(Settings::VISIBILITY_PUBLIC)); $this->assertTrue($this->fixture->isVisibilityAllowed(Settings::VISIBILITY_PROTECTED)); $this->assertFalse($this->fixture->isVisibilityAllowed(Settings::VISIBILITY_PRIVATE)); $this->assertFalse($this->fixture->isVisibilityAllowed(Settings::VISIBILITY_INTERNAL)); $settings->setVisibility(Settings::VISIBILITY_PROTECTED | Settings::VISIBILITY_INTERNAL); $this->fixture->setSettings($settings); $this->assertFalse($this->fixture->isVisibilityAllowed(Settings::VISIBILITY_PUBLIC)); $this->assertTrue($this->fixture->isVisibilityAllowed(Settings::VISIBILITY_PROTECTED)); $this->assertFalse($this->fixture->isVisibilityAllowed(Settings::VISIBILITY_PRIVATE)); $this->assertTrue($this->fixture->isVisibilityAllowed(Settings::VISIBILITY_INTERNAL)); }