Ejemplo n.º 1
0
 /**
  * @dataProvider providerTestRegisterDirectoryMap
  * @param EditorInterface $editor
  * @param $fromDir
  * @param $toDir
  * @param $file
  * @param $line
  * @param $expectedResultFile
  */
 public function testRegisterDirectoryMap(EditorInterface $editor, $fromDir, $toDir, $file, $line, $expectedResultFile)
 {
     $editor->registerDirectoryMap($fromDir, $toDir);
     $link = $editor->createLinkToFile($file, $line);
     list(, $stringParams) = explode('?', $link, 2);
     parse_str($stringParams, $data);
     $this->assertEquals($line, $data['line']);
     $this->assertSame($expectedResultFile, $data['file']);
 }
Ejemplo n.º 2
0
 private function getClassShortContents($filename, $line)
 {
     if (!$line || !is_file($filename)) {
         return "File does not exists {$filename}:{$line}.";
     }
     $lines = explode("\n", file_get_contents($filename));
     $countLines = count($lines);
     $maxDiff = 7;
     $fromLine = $line - $maxDiff - 1;
     if ($fromLine < 0) {
         $fromLine = 0;
     }
     $toLine = $line + $maxDiff;
     if ($toLine > $countLines) {
         $toLine = $countLines;
     }
     $maxStrLen = strlen($toLine) + 4;
     $outputLines = array_slice($lines, $fromLine, $maxDiff * 2 + 1, true);
     foreach ($outputLines as $key => &$currentLine) {
         $currentLine = str_replace("\t", '    ', $currentLine);
         $currentLineNumber = $key + 1;
         try {
             $lineLink = $this->editor->createLinkToFile($filename, $currentLineNumber);
             $lineLink = htmlspecialchars($lineLink);
             $lineTag = "<a href='{$lineLink}'>#{$currentLineNumber}</a>";
         } catch (CannotGenerateLinkException $e) {
             $lineTag = '#' . $currentLineNumber;
         }
         $currentLine = $lineTag . str_pad('', $maxStrLen - strlen($currentLineNumber), ' ') . htmlspecialchars($currentLine);
     }
     $outputLines[$line - 1] = '<span class="error-line">' . $outputLines[$line - 1] . '</span>';
     return implode("\n", $outputLines);
 }