| // | Jens Bierkandt | // +----------------------------------------------------------------------+ // // $Id: require_once "PHPUnit.php"; # use pear or local version of php_beautifier if (file_exists('../Beautifier.php')) { include_once '../Beautifier.php'; } else { include_once "PHP/Beautifier.php"; } // Mock Filter object class Test_Filter extends PHP_Beautifier_Filter { public $aTokens = array(); public $aModes = array(); public $iIndex = 0; function handleToken($token) { $this->oBeaut->add($token[1]); $this->aTokens[] = $token; foreach($this->oBeaut->aModesAvailable as $sMode) { $this->aModes[$this->iIndex][$sMode] = $this->oBeaut->getMode($sMode); } $this->iIndex++; } } class Beautifier_TestCase extends PHPUnit_TestCase { function __construct($name) { $this->PHPUnit_TestCase($name); } function setUp() { $this->oBeaut = new PHP_Beautifier(); $this->oBeaut->setInputFile(__FILE__); } function testsetInputFile() { $this->assertTrue($this->oBeaut->setInputFile(__FILE__)); try { $this->assertFalse($this->oBeaut->setInputFile('NO_FILE')); } catch(Exception $oExp) { $this->assertTrue($oExp instanceof Exception); } } function testaddFilterDirectory() { $sDir = PHP_Beautifier_Common::normalizeDir(dirname(__FILE__)); $this->oBeaut->addFilterDirectory($sDir); $aDirs = $this->oBeaut->getFilterDirectories(); $this->assertEquals(end($aDirs) , $sDir); } function testgetFilterList() { $aFilterList = array( 'Default' ); $this->assertEquals($aFilterList, $this->oBeaut->getFilterList()); } function testaddFilter() { if(file_exists('../Beautifier/Filter/ArrayNested.filter.php')) { include_once('../Beautifier/Filter/ArrayNested.filter.php'); } else { include_once ('PHP/Beautifier/Filter/ArrayNested.filter.php'); } // Include filter by string $this->oBeaut->addFilter('Pear'); $aFilterList = array( 'Pear', 'Default' ); $this->assertEquals($aFilterList, $this->oBeaut->getFilterList()); // include filter by object $oFilter = new PHP_Beautifier_Filter_ArrayNested($this->oBeaut); $this->oBeaut->addFilter($oFilter); array_unshift($aFilterList, 'ArrayNested'); $this->assertEquals($aFilterList, $this->oBeaut->getFilterList()); try { $this->oBeaut->addFilter('Error'); } catch(Exception $oExp) { $this->assertTrue($oExp instanceof Exception_PHP_Beautifier_Filter); } } public function testgetFilterListTotal() { $aEspFilters = array( 'Default', 'ListClassFunction', 'NewLines', 'Pear', 'ArrayNested', 'IndentStyles', 'Lowercase' ); sort($aEspFilters); $aRealFilters = $this->oBeaut->getFilterListTotal(); $this->assertEquals($aEspFilters, $aRealFilters); } function testsetIndentChar() { $this->oBeaut->setIndentChar('*'); $this->assertEquals('*', $this->oBeaut->sIndentChar); } function testsetIndentNumber() { $this->oBeaut->setIndentNumber('5'); $this->assertEquals(5, $this->oBeaut->iIndentNumber); } function testsetNewLine() { $this->oBeaut->setNewLine("\r\n"); $this->assertEquals("\r\n", $this->oBeaut->sNewLine); } function testsetOutputFile() { $this->oBeaut->setOutputFile('test.php'); $this->assertEquals("test.php", $this->oBeaut->sOutputFile); } function testsetMode() { $this->oBeaut->setMode('test'); $this->assertTrue($this->oBeaut->getMode('test')); } function testunsetMode() { $this->oBeaut->unsetMode('test'); $this->assertFalse($this->oBeaut->getMode('test')); } function testGetFilterDescription() { $oFilter = new PHP_Beautifier_Filter_Default($this->oBeaut); $this->assertEquals($this->oBeaut->getFilterDescription('Default') , $oFilter); } function testsave() { $sTempFile = tempnam("/tmp", "PHP_TEST"); $this->oBeaut->process(); $this->oBeaut->save($sTempFile); $this->assertEquals(preg_replace("/\s/", "", file_get_contents(__FILE__)) , preg_replace("/\s/", "", file_get_contents($sTempFile))); @unlink($sTempFile); } function testget() { $this->oBeaut->process(); $this->assertEquals(preg_replace("/\s/", "", file_get_contents(__FILE__)) , preg_replace("/\s/", "", $this->oBeaut->get())); } function testComments() { $sTextOriginal = <<