class LintCommandTest in Lockr 7.3
Tests the YamlLintCommand.
@author Robin Chalas <robin.chalas@gmail.com>
Hierarchy
- class \Symfony\Component\Yaml\Tests\Command\LintCommandTest extends \PHPUnit\Framework\TestCase
Expanded class hierarchy of LintCommandTest
File
- vendor/
symfony/ yaml/ Tests/ Command/ LintCommandTest.php, line 25
Namespace
Symfony\Component\Yaml\Tests\CommandView source
class LintCommandTest extends TestCase {
private $files;
public function testLintCorrectFile() {
$tester = $this
->createCommandTester();
$filename = $this
->createFile('foo: bar');
$ret = $tester
->execute([
'filename' => $filename,
], [
'verbosity' => OutputInterface::VERBOSITY_VERBOSE,
'decorated' => false,
]);
$this
->assertEquals(0, $ret, 'Returns 0 in case of success');
$this
->assertRegExp('/^\\/\\/ OK in /', trim($tester
->getDisplay()));
}
public function testLintIncorrectFile() {
$incorrectContent = '
foo:
bar';
$tester = $this
->createCommandTester();
$filename = $this
->createFile($incorrectContent);
$ret = $tester
->execute([
'filename' => $filename,
], [
'decorated' => false,
]);
$this
->assertEquals(1, $ret, 'Returns 1 in case of error');
$this
->assertContains('Unable to parse at line 3 (near "bar").', trim($tester
->getDisplay()));
}
public function testConstantAsKey() {
$yaml = <<<YAML
!php/const 'Symfony\\Component\\Yaml\\Tests\\Command\\Foo::TEST': bar
YAML;
$ret = $this
->createCommandTester()
->execute([
'filename' => $this
->createFile($yaml),
], [
'verbosity' => OutputInterface::VERBOSITY_VERBOSE,
'decorated' => false,
]);
$this
->assertSame(0, $ret, 'lint:yaml exits with code 0 in case of success');
}
public function testCustomTags() {
$yaml = <<<YAML
foo: !my_tag {foo: bar}
YAML;
$ret = $this
->createCommandTester()
->execute([
'filename' => $this
->createFile($yaml),
'--parse-tags' => true,
], [
'verbosity' => OutputInterface::VERBOSITY_VERBOSE,
'decorated' => false,
]);
$this
->assertSame(0, $ret, 'lint:yaml exits with code 0 in case of success');
}
public function testCustomTagsError() {
$yaml = <<<YAML
foo: !my_tag {foo: bar}
YAML;
$ret = $this
->createCommandTester()
->execute([
'filename' => $this
->createFile($yaml),
], [
'verbosity' => OutputInterface::VERBOSITY_VERBOSE,
'decorated' => false,
]);
$this
->assertSame(1, $ret, 'lint:yaml exits with code 1 in case of error');
}
/**
* @expectedException \RuntimeException
*/
public function testLintFileNotReadable() {
$tester = $this
->createCommandTester();
$filename = $this
->createFile('');
unlink($filename);
$ret = $tester
->execute([
'filename' => $filename,
], [
'decorated' => false,
]);
}
/**
* @return string Path to the new file
*/
private function createFile($content) {
$filename = tempnam(sys_get_temp_dir() . '/framework-yml-lint-test', 'sf-');
file_put_contents($filename, $content);
$this->files[] = $filename;
return $filename;
}
/**
* @return CommandTester
*/
protected function createCommandTester() {
$application = new Application();
$application
->add(new LintCommand());
$command = $application
->find('lint:yaml');
return new CommandTester($command);
}
protected function setUp() {
$this->files = [];
@mkdir(sys_get_temp_dir() . '/framework-yml-lint-test');
}
protected function tearDown() {
foreach ($this->files as $file) {
if (file_exists($file)) {
unlink($file);
}
}
rmdir(sys_get_temp_dir() . '/framework-yml-lint-test');
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
LintCommandTest:: |
private | property | ||
LintCommandTest:: |
protected | function | ||
LintCommandTest:: |
private | function | ||
LintCommandTest:: |
protected | function | ||
LintCommandTest:: |
protected | function | ||
LintCommandTest:: |
public | function | ||
LintCommandTest:: |
public | function | ||
LintCommandTest:: |
public | function | ||
LintCommandTest:: |
public | function | ||
LintCommandTest:: |
public | function | @expectedException \RuntimeException | |
LintCommandTest:: |
public | function |