* @author Kornel LesiƄski * @license http://www.gnu.org/licenses/lgpl.html GNU Lesser General Public License * @version SVN: $Id: SimpleGenerationTest.php 915 2010-06-20 21:05:04Z kornel $ * @link http://phptal.org/ */ class SimpleGenerationTest extends PHPTAL_TestCase { function testTreeGeneration() { $tpl = $this->newPHPTAL(); $parser = new PHPTAL_Dom_SaxXmlParser($tpl->getEncoding()); $treeGen = $parser->parseFile(new PHPTAL_Dom_PHPTALDocumentBuilder(), 'input/parser.01.xml')->getResult(); $state = new PHPTAL_Php_State($tpl); $codewriter = new PHPTAL_Php_CodeWriter($state); $codewriter->doFunction('test', '$tpl'); $treeGen->generateCode($codewriter); $codewriter->doEnd('function'); $result = $codewriter->getResult(); $expected = <<setXmlDeclaration('',false) ;?> test document

test document

phptal EOS; // ignore debug $result = preg_replace('!<\?php /\* tag ".*?" from line \d+ \*/; \?>!','', $result); $result = preg_replace('!/\* tag ".*?" from line \d+ \*/ ;!','', $result); $result = normalize_phpsource($result, true); $expected = normalize_phpsource($expected, true); $this->assertEquals($expected, $result); } function testFunctionsGeneration() { $state = new PHPTAL_Php_State($this->newPHPTAL()); $codewriter = new PHPTAL_Php_CodeWriter($state); $codewriter->doFunction('test1', '$tpl'); $codewriter->pushHTML($codewriter->interpolateHTML('test1')); $codewriter->doFunction('test2', '$tpl'); $codewriter->pushHTML('test2'); $codewriter->doEnd(); $codewriter->pushHTML('test1'); $codewriter->doEnd(); $res = $codewriter->getResult(); $exp = <<test2 test1test1 EOS; $res = normalize_phpsource($res, true); $exp = normalize_phpsource($exp, true); $this->assertEquals($exp, $res); } }