diff options
author | Andreas Gohr <andi@splitbrain.org> | 2008-10-11 20:47:17 +0200 |
---|---|---|
committer | Andreas Gohr <andi@splitbrain.org> | 2008-10-11 20:47:17 +0200 |
commit | 92655603877e0743516b2218cf67cb011afcc7b5 (patch) | |
tree | c80f2f1ff0f195161b6c99ab54dbd1f3b0841fae /_test | |
parent | e8f8d645be4a431ee7114859b9aedae042f52ead (diff) | |
download | rpg-92655603877e0743516b2218cf67cb011afcc7b5.tar.gz rpg-92655603877e0743516b2218cf67cb011afcc7b5.tar.bz2 |
recognize smileys with proper boundaries only FS#1489
darcs-hash:20081011184717-7ad00-0f910f4d061e00ccfdf722a3f971656da1b7979b.gz
Diffstat (limited to '_test')
-rw-r--r-- | _test/cases/inc/parser/parser_replacements.test.php | 66 |
1 files changed, 55 insertions, 11 deletions
diff --git a/_test/cases/inc/parser/parser_replacements.test.php b/_test/cases/inc/parser/parser_replacements.test.php index efd20f397..1534f9ce8 100644 --- a/_test/cases/inc/parser/parser_replacements.test.php +++ b/_test/cases/inc/parser/parser_replacements.test.php @@ -59,18 +59,32 @@ class TestOfDoku_Parser_Replacements extends TestOfDoku_Parser { $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); } - // - function testSingleSmiley() { + function testSingleSmileyFail() { $this->P->addMode('smiley',new Doku_Parser_Mode_Smiley(array(':-)'))); $this->P->parse('abc:-)xyz'); $calls = array ( array('document_start',array()), array('p_open',array()), - array('cdata',array("\n".'abc')), + array('cdata',array("\nabc:-)xyz\n")), + array('p_close',array()), + array('document_end',array()), + ); + + $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); + } + + function testSingleSmiley() { + $this->P->addMode('smiley',new Doku_Parser_Mode_Smiley(array(':-)'))); + $this->P->parse('abc :-) xyz'); + + $calls = array ( + array('document_start',array()), + array('p_open',array()), + array('cdata',array("\n".'abc ')), array('smiley',array(':-)')), - array('cdata',array('xyz'."\n")), + array('cdata',array(' xyz'."\n")), array('p_close',array()), array('document_end',array()), ); @@ -78,37 +92,67 @@ class TestOfDoku_Parser_Replacements extends TestOfDoku_Parser { $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); } - function testMultipleSmileys() { + function testMultipleSmileysFail() { $this->P->addMode('smiley',new Doku_Parser_Mode_Smiley(array(':-)','^_^'))); $this->P->parse('abc:-)x^_^yz'); $calls = array ( array('document_start',array()), array('p_open',array()), - array('cdata',array("\n".'abc')), + array('cdata',array("\nabc:-)x^_^yz\n")), + array('p_close',array()), + array('document_end',array()), + ); + + $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); + } + + function testMultipleSmileys() { + $this->P->addMode('smiley',new Doku_Parser_Mode_Smiley(array(':-)','^_^'))); + $this->P->parse('abc :-) x ^_^ yz'); + + $calls = array ( + array('document_start',array()), + array('p_open',array()), + array('cdata',array("\n".'abc ')), array('smiley',array(':-)')), - array('cdata',array('x')), + array('cdata',array(' x ')), array('smiley',array('^_^')), - array('cdata',array('yz'."\n")), + array('cdata',array(' yz'."\n")), array('p_close',array()), array('document_end',array()), ); $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); + } + + function testBackslashSmileyFail() { + // This smiley is really :-\\ but escaping makes like interesting + $this->P->addMode('smiley',new Doku_Parser_Mode_Smiley(array(':-\\\\'))); + $this->P->parse('abc:-\\\xyz'); + + $calls = array ( + array('document_start',array()), + array('p_open',array()), + array('cdata',array("\nabc".':-\\\\'."xyz\n")), + array('p_close',array()), + array('document_end',array()), + ); + $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); } function testBackslashSmiley() { // This smiley is really :-\\ but escaping makes like interesting $this->P->addMode('smiley',new Doku_Parser_Mode_Smiley(array(':-\\\\'))); - $this->P->parse('abc:-\\\xyz'); + $this->P->parse('abc :-\\\ xyz'); $calls = array ( array('document_start',array()), array('p_open',array()), - array('cdata',array("\n".'abc')), + array('cdata',array("\n".'abc ')), array('smiley',array(':-\\\\')), - array('cdata',array('xyz'."\n")), + array('cdata',array(' xyz'."\n")), array('p_close',array()), array('document_end',array()), ); |