diff options
Diffstat (limited to 'vendor/kzykhys/pygments/test/KzykHys/Pygments/PygmentsTest.php')
-rw-r--r-- | vendor/kzykhys/pygments/test/KzykHys/Pygments/PygmentsTest.php | 116 |
1 files changed, 116 insertions, 0 deletions
diff --git a/vendor/kzykhys/pygments/test/KzykHys/Pygments/PygmentsTest.php b/vendor/kzykhys/pygments/test/KzykHys/Pygments/PygmentsTest.php new file mode 100644 index 00000000..2110e0d8 --- /dev/null +++ b/vendor/kzykhys/pygments/test/KzykHys/Pygments/PygmentsTest.php @@ -0,0 +1,116 @@ +<?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; + } + +}
\ No newline at end of file |