Skip to content

Commit aad4ac1

Browse files
committed
complete test
Signed-off-by: olivier lamy <[email protected]>
1 parent 8091398 commit aad4ac1

File tree

2 files changed

+26
-0
lines changed

2 files changed

+26
-0
lines changed

src/main/java/org/codehaus/plexus/interpolation/multi/MultiDelimiterStringSearchInterpolator.java

+6
Original file line numberDiff line numberDiff line change
@@ -392,6 +392,12 @@ public void setEscapeString( String escapeString )
392392
{
393393
this.escapeString = escapeString;
394394
}
395+
396+
public MultiDelimiterStringSearchInterpolator escapeString( String escapeString )
397+
{
398+
this.escapeString = escapeString;
399+
return this;
400+
}
395401

396402
public MultiDelimiterStringSearchInterpolator setDelimiterSpecs( LinkedHashSet<String> specs )
397403
{

src/test/java/org/codehaus/plexus/interpolation/multi/MultiDelimiterStringSearchInterpolatorTest.java

+20
Original file line numberDiff line numberDiff line change
@@ -103,4 +103,24 @@ public void testInterpolationWithMultipleEscapes2()
103103

104104
assertEquals( "${first} and #${last}", result );
105105
}
106+
107+
public void testInterpolationWithMultipleEscapes3()
108+
throws InterpolationException
109+
{
110+
Map ctx = new HashMap();
111+
ctx.put( "name", "User" );
112+
ctx.put( "last", "beer" );
113+
ctx.put( "otherName", "###${first} and ##${second} and ${last}" );
114+
115+
String input = "${otherName}";
116+
117+
ValueSource vs = new MapBasedValueSource( ctx );
118+
MultiDelimiterStringSearchInterpolator interpolator = new MultiDelimiterStringSearchInterpolator() //
119+
.withValueSource( vs ) //
120+
.escapeString( "#" );
121+
122+
String result = interpolator.interpolate( input );
123+
124+
assertEquals( "##${first} and #${second} and beer", result );
125+
}
106126
}

0 commit comments

Comments
 (0)