%PDF- %PDF-
Direktori : /www/varak.net/wiki.varak.net/vendor/kzykhys/pygments/test/KzykHys/Pygments/ |
Current File : /www/varak.net/wiki.varak.net/vendor/kzykhys/pygments/test/KzykHys/Pygments/PygmentsTest.php |
<?php use KzykHys\Pygments\Pygments; use Symfony\Component\Finder\Finder; /** * @author Kazuyuki Hayashi <hayashi@valnur.net> */ class PygmentsTest extends PHPUnit_Framework_TestCase { /** * @dataProvider provideSamples */ public function testHighlight($input, $expected, $expectedL, $lexer) { $pygments = new Pygments(); $this->assertEquals($expected, $pygments->highlight($input, null, 'html')); $this->assertEquals($expected, $pygments->highlight($input, $lexer, 'html')); $this->assertEquals($expectedL, $pygments->highlight($input, null, 'html', array('linenos' => 1))); } /** * @dataProvider provideCss */ public function testGetCss($expected, $expectedA, $style) { $pygments = new Pygments(); $this->assertEquals($expected, $pygments->getCss($style)); $this->assertEquals($expectedA, $pygments->getCss($style, '.syntax')); } public function testGetLexers() { $pygments = new Pygments(); $lexers = $pygments->getLexers(); $this->assertArrayHasKey('python', $lexers); } public function testGetFormatters() { $pygments = new Pygments(); $formatters = $pygments->getFormatters(); $this->assertArrayHasKey('html', $formatters); } public function testGetStyles() { $pygments = new Pygments(); $styles = $pygments->getStyles(); $this->assertArrayHasKey('monokai', $styles); } public function testGuessLexer() { $pygments = new Pygments(); $this->assertEquals('php', $pygments->guessLexer('index.php')); $this->assertEquals('go', $pygments->guessLexer('main.go')); } public function provideSamples() { $finder = new Finder(); $finder ->in(__DIR__ . '/Resources/example') ->name("*.in") ->notName('*.linenos.out') ->files() ->ignoreVCS(true); $samples = array(); /* @var \Symfony\Component\Finder\SplFileInfo $file */ foreach ($finder as $file) { $samples[] = array( $file->getContents(), file_get_contents(str_replace('.in', '.out', $file->getPathname())), file_get_contents(str_replace('.in', '.linenos.out', $file->getPathname())), preg_replace('/\..*/', '', $file->getFilename()) ); } return $samples; } public function provideCss() { $finder = new Finder(); $finder ->in(__DIR__ . '/Resources/css') ->files() ->ignoreVCS(true) ->name('*.css') ->notName('*.prefix.css'); $css = array(); /* @var \Symfony\Component\Finder\SplFileInfo $file */ foreach ($finder as $file) { $css[] = array( $file->getContents(), file_get_contents(str_replace('.css', '.prefix.css', $file->getPathname())), str_replace('.css', '', $file->getFilename()) ); } return $css; } }