diff options
author | Christopher Smith <chris@jalakai.co.uk> | 2013-08-01 02:42:06 -0700 |
---|---|---|
committer | Christopher Smith <chris@jalakai.co.uk> | 2013-08-01 02:42:06 -0700 |
commit | 449bad395f9e2cb21e51c4ec8471577dc587ffbd (patch) | |
tree | be36b96db26ec7d3ba5948ee8a2dbbe890ae01ec /_test/tests/inc/parser/parser_code.test.php | |
parent | 15754217312575b58b0594cd63f1e1db57623b42 (diff) | |
parent | fdd9bab63c332a19e213c2cf7c986b8b95e25af6 (diff) | |
download | rpg-449bad395f9e2cb21e51c4ec8471577dc587ffbd.tar.gz rpg-449bad395f9e2cb21e51c4ec8471577dc587ffbd.tar.bz2 |
Merge pull request #241 from splitbrain/FS#2770
FS#2770 - prevent <file> and <code> syntax regex matching too much
Diffstat (limited to '_test/tests/inc/parser/parser_code.test.php')
-rw-r--r-- | _test/tests/inc/parser/parser_code.test.php | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/_test/tests/inc/parser/parser_code.test.php b/_test/tests/inc/parser/parser_code.test.php new file mode 100644 index 000000000..c50d2d328 --- /dev/null +++ b/_test/tests/inc/parser/parser_code.test.php @@ -0,0 +1,72 @@ +<?php +require_once 'parser.inc.php'; + +class TestOfDoku_Parser_Code extends TestOfDoku_Parser { + + function setUp() { + parent::setUp(); + $this->P->addMode('code',new Doku_Parser_Mode_Code()); + } + + function testCode() { + $this->P->parse('Foo <code>Test</code> Bar'); + $calls = array ( + array('document_start',array()), + array('p_open',array()), + array('cdata',array("\n".'Foo ')), + array('p_close',array()), + array('code',array('Test',null,null)), + array('p_open',array()), + array('cdata',array(' Bar')), + array('p_close',array()), + array('document_end',array()), + ); + $this->assertEquals(array_map('stripbyteindex',$this->H->calls),$calls); + } + + function testCodeBash() { + $this->P->parse('Foo <code bash>Test</code> Bar'); + $calls = array ( + array('document_start',array()), + array('p_open',array()), + array('cdata',array("\n".'Foo ')), + array('p_close',array()), + array('code',array('Test','bash',null)), + array('p_open',array()), + array('cdata',array(' Bar')), + array('p_close',array()), + array('document_end',array()), + ); + $this->assertEquals(array_map('stripbyteindex',$this->H->calls),$calls); + } + + function testCodeDownload() { + $this->P->parse('Foo <code bash script.sh>Test</code> Bar'); + $calls = array ( + array('document_start',array()), + array('p_open',array()), + array('cdata',array("\n".'Foo ')), + array('p_close',array()), + array('code',array('Test','bash','script.sh')), + array('p_open',array()), + array('cdata',array(' Bar')), + array('p_close',array()), + array('document_end',array()), + ); + $this->assertEquals(array_map('stripbyteindex',$this->H->calls),$calls); + } + + function testCodeToken() { + $this->P->parse('Foo <code2>Bar</code2><code>Test</code>'); + $calls = array ( + array('document_start',array()), + array('p_open',array()), + array('cdata',array("\n".'Foo <code2>Bar</code2>')), + array('p_close',array()), + array('code',array('Test',null,null)), + array('document_end',array()), + ); + $this->assertEquals(array_map('stripbyteindex',$this->H->calls),$calls); + } +} + |