summaryrefslogtreecommitdiff
path: root/_test
diff options
context:
space:
mode:
authorAndreas Gohr <andi@splitbrain.org>2008-10-11 20:47:17 +0200
committerAndreas Gohr <andi@splitbrain.org>2008-10-11 20:47:17 +0200
commit92655603877e0743516b2218cf67cb011afcc7b5 (patch)
treec80f2f1ff0f195161b6c99ab54dbd1f3b0841fae /_test
parente8f8d645be4a431ee7114859b9aedae042f52ead (diff)
downloadrpg-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.php66
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()),
);