From 3c147a01a69ef160ca27492a49ae58daf2d15c20 Mon Sep 17 00:00:00 2001 From: Chris Smith <chris.eureka@jalakai.co.uk> Date: Sun, 19 Apr 2009 18:03:51 +0200 Subject: [PATCH] add unit tests for FS#1648 darcs-hash:20090419160351-f07c6-2f439fb7f291331e93c64324878aef0c94d09810.gz --- .../inc/parser/parser_replacements.test.php | 50 ++++++++++++++++++- 1 file changed, 48 insertions(+), 2 deletions(-) diff --git a/_test/cases/inc/parser/parser_replacements.test.php b/_test/cases/inc/parser/parser_replacements.test.php index 11ebbd80a..6aa9069a1 100644 --- a/_test/cases/inc/parser/parser_replacements.test.php +++ b/_test/cases/inc/parser/parser_replacements.test.php @@ -42,12 +42,12 @@ class TestOfDoku_Parser_Replacements extends TestOfDoku_Parser { function testPickAcronymCorrectly() { $this->P->addMode('acronym',new Doku_Parser_Mode_Acronym(array('FOO'))); - $this->P->parse('ALL FOOLS ARE FOO'); + $this->P->parse('FOOBAR FOO'); $calls = array ( array('document_start',array()), array('p_open',array()), - array('cdata',array("\n".'ALL FOOLS ARE ')), + array('cdata',array("\n".'FOOBAR ')), array('acronym',array('FOO')), array('cdata',array("\n")), array('p_close',array()), @@ -77,6 +77,52 @@ class TestOfDoku_Parser_Replacements extends TestOfDoku_Parser { } + function testMultipleAcronymsWithSubset1() { + $this->P->addMode('acronym',new Doku_Parser_Mode_Acronym(array('FOO','A.FOO','FOO.1','A.FOO.1'))); + $this->P->parse('FOO A.FOO FOO.1 A.FOO.1'); + + $calls = array ( + array('document_start',array()), + array('p_open',array()), + array('cdata',array("\n")), + array('acronym',array('FOO')), + array('cdata',array(" ")), + array('acronym',array('A.FOO')), + array('cdata',array(" ")), + array('acronym',array('FOO.1')), + array('cdata',array(" ")), + array('acronym',array('A.FOO.1')), + array('cdata',array("\n")), + array('p_close',array()), + array('document_end',array()), + ); + + $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); + } + + function testMultipleAcronymsWithSubset2() { + $this->P->addMode('acronym',new Doku_Parser_Mode_Acronym(array('A.FOO.1','FOO.1','A.FOO','FOO'))); + $this->P->parse('FOO A.FOO FOO.1 A.FOO.1'); + + $calls = array ( + array('document_start',array()), + array('p_open',array()), + array('cdata',array("\n")), + array('acronym',array('FOO')), + array('cdata',array(" ")), + array('acronym',array('A.FOO')), + array('cdata',array(" ")), + array('acronym',array('FOO.1')), + array('cdata',array(" ")), + array('acronym',array('A.FOO.1')), + array('cdata',array("\n")), + array('p_close',array()), + array('document_end',array()), + ); + + $this->assertEqual(array_map('stripbyteindex',$this->H->calls),$calls); + } + function testSingleSmileyFail() { $this->P->addMode('smiley',new Doku_Parser_Mode_Smiley(array(':-)'))); $this->P->parse('abc:-)xyz'); -- GitLab