2011-03-10 21:50:59 +00:00
< ? php
/*
* This file is part of the Symfony package .
*
* ( c ) Fabien Potencier < fabien @ symfony . com >
*
* For the full copyright and license information , please view the LICENSE
* file that was distributed with this source code .
*/
2012-12-12 11:25:26 +00:00
namespace Symfony\Bridge\Twig\Tests\Extension ;
2011-03-23 18:02:33 +00:00
2012-12-12 11:25:26 +00:00
use Symfony\Bridge\Twig\Extension\CodeExtension ;
2011-03-10 21:50:59 +00:00
2012-11-12 14:06:38 +00:00
class CodeExtensionTest extends \PHPUnit_Framework_TestCase
2011-03-10 21:50:59 +00:00
{
2012-11-12 14:06:38 +00:00
protected $helper ;
2011-12-01 09:53:50 +00:00
public function testFormatFile ()
{
$expected = sprintf ( '<a href="txmt://open?url=file://%s&line=25" title="Click to open this file" class="file_link">%s at line 25</a>' , __FILE__ , __FILE__ );
2012-11-12 14:06:38 +00:00
$this -> assertEquals ( $expected , $this -> getExtension () -> formatFile ( __FILE__ , 25 ));
2011-03-10 21:50:59 +00:00
}
/**
* @ dataProvider getClassNameProvider
*/
public function testGettingClassAbbreviation ( $class , $abbr )
{
2012-11-12 14:06:38 +00:00
$this -> assertEquals ( $this -> getExtension () -> abbrClass ( $class ), $abbr );
2011-03-10 21:50:59 +00:00
}
/**
* @ dataProvider getMethodNameProvider
*/
public function testGettingMethodAbbreviation ( $method , $abbr )
{
2012-11-12 14:06:38 +00:00
$this -> assertEquals ( $this -> getExtension () -> abbrMethod ( $method ), $abbr );
2011-03-10 21:50:59 +00:00
}
public function getClassNameProvider ()
{
return array (
array ( 'F\Q\N\Foo' , '<abbr title="F\Q\N\Foo">Foo</abbr>' ),
array ( 'Bare' , '<abbr title="Bare">Bare</abbr>' ),
);
}
public function getMethodNameProvider ()
{
return array (
array ( 'F\Q\N\Foo::Method' , '<abbr title="F\Q\N\Foo">Foo</abbr>::Method()' ),
array ( 'Bare::Method' , '<abbr title="Bare">Bare</abbr>::Method()' ),
array ( 'Closure' , '<abbr title="Closure">Closure</abbr>' ),
array ( 'Method' , '<abbr title="Method">Method</abbr>()' )
);
}
2011-06-11 08:56:09 +01:00
public function testGetName ()
{
2012-11-12 14:06:38 +00:00
$this -> assertEquals ( 'code' , $this -> getExtension () -> getName ());
}
protected function getExtension ()
{
return new CodeExtension ( 'txmt://open?url=file://%f&line=%l' , '/root' , 'UTF-8' );
2011-06-11 08:56:09 +01:00
}
2011-03-10 21:50:59 +00:00
}