From 12657854532677c2d02ac8a4cc7e54e03d8de42c Mon Sep 17 00:00:00 2001 From: Sebastian Sdorra Date: Sat, 27 Nov 2010 17:44:32 +0100 Subject: [PATCH] fix bug in RegexResourceProcessor --- .../sonia/scm/io/RegexResourceProcessor.java | 10 +++++-- .../scm/io/ResourceProcessorTestBase.java | 30 ++++++++++++++++--- 2 files changed, 33 insertions(+), 7 deletions(-) diff --git a/scm-core/src/main/java/sonia/scm/io/RegexResourceProcessor.java b/scm-core/src/main/java/sonia/scm/io/RegexResourceProcessor.java index e3882de6fe..4bed4974fe 100644 --- a/scm-core/src/main/java/sonia/scm/io/RegexResourceProcessor.java +++ b/scm-core/src/main/java/sonia/scm/io/RegexResourceProcessor.java @@ -127,8 +127,12 @@ public class RegexResourceProcessor extends AbstractResourceProcessor } } - return (result != null) - ? result.toString() - : line; + if (result != null) + { + m.appendTail(result); + line = result.toString(); + } + + return line; } } diff --git a/scm-core/src/test/java/sonia/scm/io/ResourceProcessorTestBase.java b/scm-core/src/test/java/sonia/scm/io/ResourceProcessorTestBase.java index 340708800a..ba139a5cff 100644 --- a/scm-core/src/test/java/sonia/scm/io/ResourceProcessorTestBase.java +++ b/scm-core/src/test/java/sonia/scm/io/ResourceProcessorTestBase.java @@ -53,13 +53,16 @@ public abstract class ResourceProcessorTestBase { /** Field description */ - public static final String TEXT_1 = "Hello Tricia McMillan"; + public static final String TEXT_1 = "Hello Tricia McMillan!"; /** Field description */ - public static final String TEXT_2 = "Hello ${person}"; + public static final String TEXT_2 = "Hello ${person}!"; /** Field description */ - public static final String TEXT_3 = "Hello ${person} and ${secondPerson}"; + public static final String TEXT_3 = "Hello ${person} and ${secondPerson}!"; + + /** Field description */ + public static final String TEXT_4 = "

Hello ${person}

"; /** Field description */ public static final String VAR_PERSON = "person"; @@ -83,6 +86,25 @@ public abstract class ResourceProcessorTestBase */ protected abstract ResourceProcessor createNewResourceProcessor(); + /** + * Method description + * + * + * @throws IOException + */ + @Test + public void testHtml() throws IOException + { + ResourceProcessor processor = createNewResourceProcessor(); + + processor.addVariable(VAR_PERSON, VAR_PERSON_VALUE); + + StringWriter output = new StringWriter(); + + processor.process(new StringReader(TEXT_4), output); + assertEquals("

Hello Tricia McMillan

", output.toString()); + } + /** * Method description * @@ -135,7 +157,7 @@ public abstract class ResourceProcessorTestBase StringWriter output = new StringWriter(); processor.process(new StringReader(TEXT_3), output); - assertEquals("Hello Tricia McMillan and Zaphod Beeblebrox", + assertEquals("Hello Tricia McMillan and Zaphod Beeblebrox!", output.toString()); }