Rui Miguel Pereira Figueira created JBEHAVE-709:
---------------------------------------------------
Summary: Named parameters sorrounded by quotes are not handled
properly
Key: JBEHAVE-709
URL: https://jira.codehaus.org/browse/JBEHAVE-709
Project: JBehave
Issue Type: Bug
Components: Core
Affects Versions: 3.5.4
Reporter: Rui Miguel Pereira Figueira
Wnen using jbehave with named parameters, order is not respected in parameter
injection if the named parameters are sorrounded with non-white characters (for
example, quotes).
Here is a simple test:
{code}
public class QuoteNamedParametersStory extends JUnitStory {
public static class QuotNamedParametersSteps {
@Then("\"$foo\" then \"$bar\"")
public void otherOrderQuotes(@Named("bar") String bar, @Named("foo") String
foo) {
assertThat(foo, equalTo("foo"));
assertThat(bar, equalTo("bar"));
}
}
@Override
public Configuration configuration() {
return new MostUsefulConfiguration().useStoryReporterBuilder(new
StoryReporterBuilder().withFormats(Format.CONSOLE).withFailureTrace(true));
}
@Override
public List<CandidateSteps> candidateSteps() {
return new InstanceStepsFactory(configuration(), new
QuotNamedParametersSteps()).createCandidateSteps();
}
}
{code}
And the corresponding quote_named_parameters_story.story:
{noformat}
Scenario: quotes on named parameters are problematic...
Then "foo" then "bar"
{noformat}
I was able to fix it (and pass the above test successfully) by changing
{{org.jbehave.core.parsers.RegexPrefixCapturingPatternParser.Parameter}} to:
{code}
private class Parameter {
private final int start;
private final int end;
private final String whitespaceIfAny;
private final String name;
public Parameter(String pattern, int start, int end,
String whitespaceIfAny) {
this.start = start;
this.end = end;
this.whitespaceIfAny = whitespaceIfAny;
this.name = pattern.substring(start + prefix.length(), end -
whitespaceIfAny.length()).trim();
}
}
{code}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://jira.codehaus.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email