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