First commit
This commit is contained in:
commit
c6e2478c40
13918 changed files with 2303184 additions and 0 deletions
|
@ -0,0 +1,263 @@
|
|||
<?php
|
||||
namespace JakubOnderka\PhpConsoleHighlighter;
|
||||
|
||||
class HighlighterTest extends \PHPUnit_Framework_TestCase
|
||||
{
|
||||
/** @var Highlighter */
|
||||
private $uut;
|
||||
|
||||
protected function getConsoleColorMock()
|
||||
{
|
||||
$mock = $this->getMock('\JakubOnderka\PhpConsoleColor\ConsoleColor');
|
||||
|
||||
$mock->expects($this->any())
|
||||
->method('apply')
|
||||
->will($this->returnCallback(function ($style, $text) {
|
||||
return "<$style>$text</$style>";
|
||||
}));
|
||||
|
||||
$mock->expects($this->any())
|
||||
->method('hasTheme')
|
||||
->will($this->returnValue(true));
|
||||
|
||||
return $mock;
|
||||
}
|
||||
|
||||
protected function setUp()
|
||||
{
|
||||
$this->uut = new Highlighter($this->getConsoleColorMock());
|
||||
}
|
||||
|
||||
protected function compare($original, $expected)
|
||||
{
|
||||
$output = $this->uut->getWholeFile($original);
|
||||
$this->assertEquals($expected, $output);
|
||||
}
|
||||
|
||||
public function testVariable()
|
||||
{
|
||||
$this->compare(
|
||||
<<<EOL
|
||||
<?php
|
||||
echo \$a;
|
||||
EOL
|
||||
,
|
||||
<<<EOL
|
||||
<token_default><?php</token_default>
|
||||
<token_keyword>echo </token_keyword><token_default>\$a</token_default><token_keyword>;</token_keyword>
|
||||
EOL
|
||||
);
|
||||
}
|
||||
|
||||
public function testInteger()
|
||||
{
|
||||
$this->compare(
|
||||
<<<EOL
|
||||
<?php
|
||||
echo 43;
|
||||
EOL
|
||||
,
|
||||
<<<EOL
|
||||
<token_default><?php</token_default>
|
||||
<token_keyword>echo </token_keyword><token_default>43</token_default><token_keyword>;</token_keyword>
|
||||
EOL
|
||||
);
|
||||
}
|
||||
|
||||
public function testFloat()
|
||||
{
|
||||
$this->compare(
|
||||
<<<EOL
|
||||
<?php
|
||||
echo 43.3;
|
||||
EOL
|
||||
,
|
||||
<<<EOL
|
||||
<token_default><?php</token_default>
|
||||
<token_keyword>echo </token_keyword><token_default>43.3</token_default><token_keyword>;</token_keyword>
|
||||
EOL
|
||||
);
|
||||
}
|
||||
|
||||
public function testHex()
|
||||
{
|
||||
$this->compare(
|
||||
<<<EOL
|
||||
<?php
|
||||
echo 0x43;
|
||||
EOL
|
||||
,
|
||||
<<<EOL
|
||||
<token_default><?php</token_default>
|
||||
<token_keyword>echo </token_keyword><token_default>0x43</token_default><token_keyword>;</token_keyword>
|
||||
EOL
|
||||
);
|
||||
}
|
||||
|
||||
public function testBasicFunction()
|
||||
{
|
||||
$this->compare(
|
||||
<<<EOL
|
||||
<?php
|
||||
function plus(\$a, \$b) {
|
||||
return \$a + \$b;
|
||||
}
|
||||
EOL
|
||||
,
|
||||
<<<EOL
|
||||
<token_default><?php</token_default>
|
||||
<token_keyword>function </token_keyword><token_default>plus</token_default><token_keyword>(</token_keyword><token_default>\$a</token_default><token_keyword>, </token_keyword><token_default>\$b</token_default><token_keyword>) {</token_keyword>
|
||||
<token_keyword> return </token_keyword><token_default>\$a </token_default><token_keyword>+ </token_keyword><token_default>\$b</token_default><token_keyword>;</token_keyword>
|
||||
<token_keyword>}</token_keyword>
|
||||
EOL
|
||||
);
|
||||
}
|
||||
|
||||
public function testStringNormal()
|
||||
{
|
||||
$this->compare(
|
||||
<<<EOL
|
||||
<?php
|
||||
echo 'Ahoj světe';
|
||||
EOL
|
||||
,
|
||||
<<<EOL
|
||||
<token_default><?php</token_default>
|
||||
<token_keyword>echo </token_keyword><token_string>'Ahoj světe'</token_string><token_keyword>;</token_keyword>
|
||||
EOL
|
||||
);
|
||||
}
|
||||
|
||||
public function testStringDouble()
|
||||
{
|
||||
$this->compare(
|
||||
<<<EOL
|
||||
<?php
|
||||
echo "Ahoj světe";
|
||||
EOL
|
||||
,
|
||||
<<<EOL
|
||||
<token_default><?php</token_default>
|
||||
<token_keyword>echo </token_keyword><token_string>"Ahoj světe"</token_string><token_keyword>;</token_keyword>
|
||||
EOL
|
||||
);
|
||||
}
|
||||
|
||||
public function testInstanceof()
|
||||
{
|
||||
$this->compare(
|
||||
<<<EOL
|
||||
<?php
|
||||
\$a instanceof stdClass;
|
||||
EOL
|
||||
,
|
||||
<<<EOL
|
||||
<token_default><?php</token_default>
|
||||
<token_default>\$a </token_default><token_keyword>instanceof </token_keyword><token_default>stdClass</token_default><token_keyword>;</token_keyword>
|
||||
EOL
|
||||
);
|
||||
}
|
||||
|
||||
/*
|
||||
* Constants
|
||||
*/
|
||||
public function testConstant()
|
||||
{
|
||||
$constants = array(
|
||||
'__FILE__',
|
||||
'__LINE__',
|
||||
'__CLASS__',
|
||||
'__FUNCTION__',
|
||||
'__METHOD__',
|
||||
'__TRAIT__',
|
||||
'__DIR__',
|
||||
'__NAMESPACE__'
|
||||
);
|
||||
|
||||
foreach ($constants as $constant) {
|
||||
$this->compare(
|
||||
<<<EOL
|
||||
<?php
|
||||
$constant;
|
||||
EOL
|
||||
,
|
||||
<<<EOL
|
||||
<token_default><?php</token_default>
|
||||
<token_default>$constant</token_default><token_keyword>;</token_keyword>
|
||||
EOL
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Comments
|
||||
*/
|
||||
public function testComment()
|
||||
{
|
||||
$this->compare(
|
||||
<<<EOL
|
||||
<?php
|
||||
/* Ahoj */
|
||||
EOL
|
||||
,
|
||||
<<<EOL
|
||||
<token_default><?php</token_default>
|
||||
<token_comment>/* Ahoj */</token_comment>
|
||||
EOL
|
||||
);
|
||||
}
|
||||
|
||||
public function testDocComment()
|
||||
{
|
||||
$this->compare(
|
||||
<<<EOL
|
||||
<?php
|
||||
/** Ahoj */
|
||||
EOL
|
||||
,
|
||||
<<<EOL
|
||||
<token_default><?php</token_default>
|
||||
<token_comment>/** Ahoj */</token_comment>
|
||||
EOL
|
||||
);
|
||||
}
|
||||
|
||||
public function testInlineComment()
|
||||
{
|
||||
$this->compare(
|
||||
<<<EOL
|
||||
<?php
|
||||
// Ahoj
|
||||
EOL
|
||||
,
|
||||
<<<EOL
|
||||
<token_default><?php</token_default>
|
||||
<token_comment>// Ahoj</token_comment>
|
||||
EOL
|
||||
);
|
||||
}
|
||||
|
||||
public function testHashComment()
|
||||
{
|
||||
$this->compare(
|
||||
<<<EOL
|
||||
<?php
|
||||
# Ahoj
|
||||
EOL
|
||||
,
|
||||
<<<EOL
|
||||
<token_default><?php</token_default>
|
||||
<token_comment># Ahoj</token_comment>
|
||||
EOL
|
||||
);
|
||||
}
|
||||
|
||||
public function testEmpty()
|
||||
{
|
||||
$this->compare(
|
||||
''
|
||||
,
|
||||
''
|
||||
);
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue