My first commit of codes
This commit is contained in:
61
vendor/psy/psysh/test/Psy/Test/Formatter/CodeFormatterTest.php
vendored
Normal file
61
vendor/psy/psysh/test/Psy/Test/Formatter/CodeFormatterTest.php
vendored
Normal file
@@ -0,0 +1,61 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of Psy Shell
|
||||
*
|
||||
* (c) 2012-2014 Justin Hileman
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Psy\Test\Formatter;
|
||||
|
||||
use Psy\Formatter\CodeFormatter;
|
||||
|
||||
class CodeFormatterTest extends \PHPUnit_Framework_TestCase
|
||||
{
|
||||
private function ignoreThisMethod($arg)
|
||||
{
|
||||
echo "whot!";
|
||||
}
|
||||
|
||||
public function testFormat()
|
||||
{
|
||||
$expected = <<<EOS
|
||||
> 18| private function ignoreThisMethod(\$arg)
|
||||
19| {
|
||||
20| echo "whot!";
|
||||
21| }
|
||||
EOS;
|
||||
|
||||
$formatted = CodeFormatter::format(new \ReflectionMethod($this, 'ignoreThisMethod'));
|
||||
$formattedWithoutColors = preg_replace('#' . chr(27) . '\[\d\d?m#', '', $formatted);
|
||||
|
||||
$this->assertEquals($expected, rtrim($formattedWithoutColors));
|
||||
$this->assertNotEquals($expected, rtrim($formatted));
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider filenames
|
||||
* @expectedException Psy\Exception\RuntimeException
|
||||
*/
|
||||
public function testCodeFormatterThrowsException($filename)
|
||||
{
|
||||
$reflector = $this->getMockBuilder('ReflectionClass')
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
|
||||
$reflector
|
||||
->expects($this->once())
|
||||
->method('getFileName')
|
||||
->will($this->returnValue($filename));
|
||||
|
||||
CodeFormatter::format($reflector);
|
||||
}
|
||||
|
||||
public function filenames()
|
||||
{
|
||||
return array(array(null), array('not a file'));
|
||||
}
|
||||
}
|
||||
63
vendor/psy/psysh/test/Psy/Test/Formatter/DocblockFormatterTest.php
vendored
Normal file
63
vendor/psy/psysh/test/Psy/Test/Formatter/DocblockFormatterTest.php
vendored
Normal file
@@ -0,0 +1,63 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of Psy Shell
|
||||
*
|
||||
* (c) 2012-2014 Justin Hileman
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Psy\Test\Formatter;
|
||||
|
||||
use Psy\Formatter\DocblockFormatter;
|
||||
|
||||
class DocblockFormatterTest extends \PHPUnit_Framework_TestCase
|
||||
{
|
||||
/**
|
||||
* This is a docblock!
|
||||
*
|
||||
* @author Justin Hileman <justin@justinhileman.info>
|
||||
*
|
||||
* @throws InvalidArgumentException if $foo is empty.
|
||||
*
|
||||
* @param mixed $foo It's a foo thing.
|
||||
* @param int $bar This is definitely bar.
|
||||
*
|
||||
* @return string A string of no consequence.
|
||||
*/
|
||||
private function methodWithDocblock($foo, $bar = 1)
|
||||
{
|
||||
if (empty($foo)) {
|
||||
throw new \InvalidArgumentException();
|
||||
}
|
||||
|
||||
return "method called";
|
||||
}
|
||||
|
||||
public function testFormat()
|
||||
{
|
||||
$expected = <<<EOS
|
||||
<comment>Description:</comment>
|
||||
This is a docblock!
|
||||
|
||||
<comment>Throws:</comment>
|
||||
<info>InvalidArgumentException </info> if \$foo is empty.
|
||||
|
||||
<comment>Param:</comment>
|
||||
<info>mixed </info> <strong>\$foo </strong> It's a foo thing.
|
||||
<info>int </info> <strong>\$bar </strong> This is definitely bar.
|
||||
|
||||
<comment>Return:</comment>
|
||||
<info>string </info> A string of no consequence.
|
||||
|
||||
<comment>Author:</comment> Justin Hileman \<justin@justinhileman.info>
|
||||
EOS;
|
||||
|
||||
$this->assertEquals(
|
||||
$expected,
|
||||
DocblockFormatter::format(new \ReflectionMethod($this, 'methodWithDocblock'))
|
||||
);
|
||||
}
|
||||
}
|
||||
79
vendor/psy/psysh/test/Psy/Test/Formatter/SignatureFormatterTest.php
vendored
Normal file
79
vendor/psy/psysh/test/Psy/Test/Formatter/SignatureFormatterTest.php
vendored
Normal file
@@ -0,0 +1,79 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of Psy Shell
|
||||
*
|
||||
* (c) 2012-2014 Justin Hileman
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Psy\Test\Formatter;
|
||||
|
||||
use Psy\Formatter\SignatureFormatter;
|
||||
use Psy\Reflection\ReflectionConstant;
|
||||
|
||||
class SignatureFormatterTest extends \PHPUnit_Framework_TestCase
|
||||
{
|
||||
const FOO = 'foo value';
|
||||
private static $bar = 'bar value';
|
||||
|
||||
private function someFakeMethod(array $one, $two = 'TWO', \Reflector $three = null)
|
||||
{
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider signatureReflectors
|
||||
*/
|
||||
public function testFormat($reflector, $expected)
|
||||
{
|
||||
$this->assertEquals($expected, strip_tags(SignatureFormatter::format($reflector)));
|
||||
// $this->assertEquals(
|
||||
// ,
|
||||
// strip_tags(SignatureFormatter::format(new \ReflectionFunction('sort')))
|
||||
// );
|
||||
}
|
||||
|
||||
public function signatureReflectors()
|
||||
{
|
||||
return array(
|
||||
array(
|
||||
new \ReflectionClass($this),
|
||||
"class Psy\Test\Formatter\SignatureFormatterTest "
|
||||
. "extends PHPUnit_Framework_TestCase implements "
|
||||
. "PHPUnit_Framework_SelfDescribing, Countable, "
|
||||
. "PHPUnit_Framework_Test",
|
||||
),
|
||||
array(
|
||||
new \ReflectionFunction('implode'),
|
||||
'function implode($glue, $pieces)',
|
||||
),
|
||||
array(
|
||||
new ReflectionConstant($this, 'FOO'),
|
||||
'const FOO = "foo value"',
|
||||
),
|
||||
array(
|
||||
new \ReflectionMethod($this, 'someFakeMethod'),
|
||||
'private function someFakeMethod(array $one, $two = \'TWO\', Reflector $three = null)',
|
||||
),
|
||||
array(
|
||||
new \ReflectionProperty($this, 'bar'),
|
||||
'private static $bar',
|
||||
),
|
||||
array(
|
||||
new \ReflectionClass('Psy\CodeCleaner\CodeCleanerPass'),
|
||||
'abstract class Psy\CodeCleaner\CodeCleanerPass extends PhpParser\NodeVisitorAbstract implements PhpParser\NodeVisitor',
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException InvalidArgumentException
|
||||
*/
|
||||
public function testSignatureFormatterThrowsUnknownReflectorExpeption()
|
||||
{
|
||||
$refl = $this->getMock('Reflector');
|
||||
SignatureFormatter::format($refl);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user