mirror of https://github.com/apache/jclouds.git
fix for bug where unclosed open braces in shell scripts (and other places where scriptbuilder Utils does its replacements) banjax parsing
This commit is contained in:
parent
65f3bd17a3
commit
eeae052890
|
@ -62,7 +62,9 @@ public class Utils {
|
|||
}
|
||||
}
|
||||
|
||||
private static final Pattern pattern = Pattern.compile("\\{(.+?)\\}");
|
||||
/** matches any expression inside curly braces (where the expression does not including an open curly brace) */
|
||||
private static final Pattern pattern = Pattern.compile("\\{([^\\{]+?)\\}");
|
||||
|
||||
|
||||
/**
|
||||
* replaces tokens that are expressed as <code>{token}</code>
|
||||
|
|
|
@ -23,6 +23,7 @@ import static org.testng.Assert.assertEquals;
|
|||
import java.io.UnsupportedEncodingException;
|
||||
|
||||
import org.jclouds.scriptbuilder.domain.OsFamily;
|
||||
import org.jclouds.scriptbuilder.domain.ShellToken;
|
||||
import org.testng.annotations.Test;
|
||||
|
||||
import com.google.common.collect.ImmutableList;
|
||||
|
@ -80,4 +81,9 @@ public class UtilsTest {
|
|||
"set HOST=\r\nset PORT=\r\n");
|
||||
}
|
||||
|
||||
public void testSingleCurlyBraceDoesntBreakLfTokenReplacement() {
|
||||
assertEquals(Utils.replaceTokens("{{lf}", ShellToken.tokenValueMap(OsFamily.UNIX)),
|
||||
"{\n");
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue