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");



Reply via email to