diff options
author | Chris Smith <chris@jalakai.co.uk> | 2008-02-23 07:24:28 +0100 |
---|---|---|
committer | Chris Smith <chris@jalakai.co.uk> | 2008-02-23 07:24:28 +0100 |
commit | 045b6b7a7cc53868b35f930a5f7891b854c27148 (patch) | |
tree | 3d2925351cf36723be06b39d688a4ae979a16a0f | |
parent | cbaf42593d04d34785dbf732786f89d7f13fdb27 (diff) | |
download | rpg-045b6b7a7cc53868b35f930a5f7891b854c27148.tar.gz rpg-045b6b7a7cc53868b35f930a5f7891b854c27148.tar.bz2 |
Test cases for 'phpok' & 'htmlok' config settings
darcs-hash:20080223062428-d26fc-59a5f3a4c230c953db1488a829c814f2901180e4.gz
-rw-r--r-- | _test/cases/inc/parser/xhtml_htmlphp.test.php | 127 |
1 files changed, 127 insertions, 0 deletions
diff --git a/_test/cases/inc/parser/xhtml_htmlphp.test.php b/_test/cases/inc/parser/xhtml_htmlphp.test.php new file mode 100644 index 000000000..acd3bbf92 --- /dev/null +++ b/_test/cases/inc/parser/xhtml_htmlphp.test.php @@ -0,0 +1,127 @@ +<?php +if (!defined('DOKU_BASE')) define('DOKU_BASE','./'); +require_once 'parser.inc.php'; +require_once DOKU_INC.'inc/parser/xhtml.php'; + +class Doku_Renderer_tester extends Doku_Renderer_xhtml { + + // simplify to avoid GeSHi + function code($text, $language = NULL) { + $this->preformatted($text); + } + +} + +/* + * test case for parser/xhtml.php _headertolink method + * definition: function _headertolink($title,$create) + */ + +class xhtml_htmlphp_test extends TestOfDoku_Parser { + + function _run_parser($modes,$data) { + + foreach ($modes as $mode => $name) { + $class = 'Doku_Parser_Mode_'.$name; + $this->P->addMode($mode,new $class()); + } + + $R = new Doku_Renderer_tester(); + $this->P->parse($data); + foreach ( $this->H->calls as $instruction ) { + // Execute the callback against the Renderer + call_user_func_array(array(&$R, $instruction[0]),$instruction[1]); + } + + return str_replace("\n",'',$R->doc); + } + + function test_html_off(){ + $test = array('<html><b>bold</b></html>','<p><pre class="code"><b>bold</b></pre></p>'); + + global $conf; + $conf['htmlok'] = 0; + + $result = $this->_run_parser(array('html'=>'html'),$test[0]); + + $this->assertEqual($result,$test[1]); + } + + function test_html_on(){ + $test = array('<html><b>bold</b></html>','<p><b>bold</b></p>'); + + global $conf; + $conf['htmlok'] = 1; + + $result = $this->_run_parser(array('html'=>'html'),$test[0]); + + $this->assertEqual($result,$test[1]); + } + + function test_htmlblock_off(){ + $test = array('<HTML><b>bold</b></HTML>','<pre class="code"><b>bold</b></pre>'); + + global $conf; + $conf['htmlok'] = 0; + + $result = $this->_run_parser(array('html'=>'html'),$test[0]); + + $this->assertEqual($result,$test[1]); + } + + function test_htmlblock_on(){ + $test = array('<HTML><b>bold</b></HTML>','<b>bold</b>'); + + global $conf; + $conf['htmlok'] = 1; + + $result = $this->_run_parser(array('html'=>'html'),$test[0]); + + $this->assertEqual($result,$test[1]); + } + + function test_php_off(){ + $test = array('<php>echo(1+1);</php>','<p><pre class="code">echo(1+1);</pre></p>'); + + global $conf; + $conf['phpok'] = 0; + + $result = $this->_run_parser(array('php'=>'php'),$test[0]); + + $this->assertEqual($result,$test[1]); + } + + function test_php_on(){ + $test = array('<php>echo(1+1);</php>','<p>2</p>'); + + global $conf; + $conf['phpok'] = 1; + + $result = $this->_run_parser(array('php'=>'php'),$test[0]); + + $this->assertEqual($result,$test[1]); + } + + function test_phpblock_off(){ + $test = array('<PHP>echo(1+1);</PHP>','<pre class="code">echo(1+1);</pre>'); + + global $conf; + $conf['phpok'] = 0; + + $result = $this->_run_parser(array('php'=>'php'),$test[0]); + + $this->assertEqual($result,$test[1]); + } + + function test_phpblock_on(){ + $test = array('<PHP>echo(1+1);</PHP>',"2"); + + global $conf; + $conf['phpok'] = 1; + + $result = $this->_run_parser(array('php'=>'php'),$test[0]); + + $this->assertEqual($result,$test[1]); + } + +} |