commit 2f29f6256954e971bb9389ea130d0b75b78f4057
Author: Mauro Talevi <[email protected]>
AuthorDate: Mon, 17 Mar 2014 20:18:07 +0100
Commit: Mauro Talevi <[email protected]>
CommitDate: Mon, 17 Mar 2014 20:18:07 +0100
JBEHAVE-1005: Added connector punctuation \p{Pc} to the default character
class of the RegexPrefixCapturingPatternParser.
diff --git
a/jbehave-core/src/main/java/org/jbehave/core/parsers/RegexPrefixCapturingPatternParser.java
b/jbehave-core/src/main/java/org/jbehave/core/parsers/RegexPrefixCapturingPatternParser.java
index b97449f..4261121 100755
---
a/jbehave-core/src/main/java/org/jbehave/core/parsers/RegexPrefixCapturingPatternParser.java
+++
b/jbehave-core/src/main/java/org/jbehave/core/parsers/RegexPrefixCapturingPatternParser.java
@@ -17,7 +17,7 @@ import org.jbehave.core.steps.StepType;
* The parameter names are by default assumed to be any unicode-supported
* alphanumeric sequence, not limited to ASCII (see
* http://www.regular-expressions.info/unicode.html), i.e. corresponding to
- * character class [\p{L}\p{N}]. A different character class can optionally be
+ * character class [\p{L}\p{N}\p{Pc}]. A different character class can
optionally be
* provided.
*
* @author Elizabeth Keogh
@@ -32,7 +32,7 @@ public class RegexPrefixCapturingPatternParser implements
StepPatternParser {
/**
* The default character class to match the parameter names.
*/
- private static final String DEFAULT_CHARACTER_CLASS = "[\\p{L}\\p{N}]";
+ private static final String DEFAULT_CHARACTER_CLASS =
"[\\p{L}\\p{N}\\p{Pc}]";
private final String prefix;
private final String characterClass;
diff --git
a/jbehave-core/src/test/java/org/jbehave/core/parsers/RegexPrefixCapturingPatternParserBehaviour.java
b/jbehave-core/src/test/java/org/jbehave/core/parsers/RegexPrefixCapturingPatternParserBehaviour.java
index d624b79..fb76a91 100755
---
a/jbehave-core/src/test/java/org/jbehave/core/parsers/RegexPrefixCapturingPatternParserBehaviour.java
+++
b/jbehave-core/src/test/java/org/jbehave/core/parsers/RegexPrefixCapturingPatternParserBehaviour.java
@@ -26,6 +26,12 @@ public class RegexPrefixCapturingPatternParserBehaviour {
}
@Test
+ public void shouldMatchStepWithPatternsUsingUnderscoresInParameterNames() {
+ assertThatPatternMatchesStep(parser, "a house with
$number_of_1st_floor_doors doors and $facing_to windows",
+ "a house with 3 doors and 4 windows", true,
"number_of_1st_floor_doors", "facing_to");
+ }
+
+ @Test
public void shouldMatchStepWithPatternsUsingNumbersInParameterNames() {
assertThatPatternMatchesStep(parser, "a house with
$numberOf1stFloorDoors doors and $facing2 windows",
"a house with 3 doors and 4 windows", true,
"numberOf1stFloorDoors", "facing2");