Differential D20977 Diff 49983 src/infrastructure/markup/syntax/highlighter/__tests__/PhutilXHPASTSyntaxHighlighterTestCase.php
Changeset View
Changeset View
Standalone View
Standalone View
src/infrastructure/markup/syntax/highlighter/__tests__/PhutilXHPASTSyntaxHighlighterTestCase.php
- This file was added.
<?php | |||||
final class PhutilXHPASTSyntaxHighlighterTestCase extends PhutilTestCase { | |||||
private function highlight($source) { | |||||
$highlighter = new PhutilXHPASTSyntaxHighlighter(); | |||||
$future = $highlighter->getHighlightFuture($source); | |||||
return $future->resolve(); | |||||
} | |||||
private function read($file) { | |||||
$path = dirname(__FILE__).'/xhpast/'.$file; | |||||
return Filesystem::readFile($path); | |||||
} | |||||
public function testBuiltinClassnames() { | |||||
$this->assertEqual( | |||||
$this->read('builtin-classname.expect'), | |||||
(string)$this->highlight($this->read('builtin-classname.source')), | |||||
pht('Builtin classnames should not be marked as linkable symbols.')); | |||||
$this->assertEqual( | |||||
rtrim($this->read('trailing-comment.expect')), | |||||
(string)$this->highlight($this->read('trailing-comment.source')), | |||||
pht('Trailing comments should not be dropped.')); | |||||
$this->assertEqual( | |||||
$this->read('multiline-token.expect'), | |||||
(string)$this->highlight($this->read('multiline-token.source')), | |||||
pht('Multi-line tokens should be split across lines.')); | |||||
$this->assertEqual( | |||||
$this->read('leading-whitespace.expect'), | |||||
(string)$this->highlight($this->read('leading-whitespace.source')), | |||||
pht('Snippets with leading whitespace should be preserved.')); | |||||
$this->assertEqual( | |||||
$this->read('no-leading-whitespace.expect'), | |||||
(string)$this->highlight($this->read('no-leading-whitespace.source')), | |||||
pht('Snippets with no leading whitespace should be preserved.')); | |||||
} | |||||
} |