Example #1
0
 /**
  * @param State  $state
  * @param Logger $logger
  *
  * @throws RuntimeException
  * @throws MarkupException
  */
 public function run(State $state, Logger $logger)
 {
     $this->initDependencies();
     $this->initFunctions($state->config);
     $exportDir = $state->config->getExportDir();
     if (!is_dir($exportDir)) {
         $logger->log(0, 'skip parsing docs (no documentation files found)');
         return;
     }
     $cacheDir = $state->config->getCacheDir();
     $cacheNote = $cacheDir ? 'cache at ' . $cacheDir : 'cache disabled';
     $logger->log(0, sprintf('parse documentation (%s)', $cacheNote));
     $files = $this->markupParser->parse($state->config->getExportDir(), $state->config->getCacheDir());
     foreach ($files as $file) {
         $this->replaceMarkupsInFile($file, $state, $logger);
     }
 }
 /**
  * @param string      $content
  * @param FileContext $expected
  *
  * @return FileContext[]
  */
 private function assertParsed($content, FileContext $expected)
 {
     $file = $this->createMock(\SplFileInfo::class);
     $file->expects(self::any())->method('getRealPath')->willReturn($this->fakeFileName);
     $this->filesystem->expects(self::any())->method('getFilesOfDirs')->willReturn([$file]);
     $this->filesystem->expects(self::any())->method('readFile')->willReturn($content);
     $this->filesystem->expects(self::any())->method('getFileHash')->willReturn($this->fakeFileHash);
     $parsed = $this->parser->parse('dir');
     self::assertEquals([$this->fakeFileHash => $expected], $parsed);
 }