Daniel Schneller created JBEHAVE-702:
----------------------------------------

             Summary: Allow injection of the "Steps" class to customize its 
behavior
                 Key: JBEHAVE-702
                 URL: https://jira.codehaus.org/browse/JBEHAVE-702
             Project: JBehave
          Issue Type: Improvement
          Components: Core
    Affects Versions: 3.5.4
            Reporter: Daniel Schneller


To get more natural German story texts, it would be very helpful if the 
Steps.listCandidates() method could be amended.
This would allow for automatically generating slight variations of the texts 
without having to specify them all as aliases. Currently I am doing this:

@Then("soll foo bar with $xyz")
@Aliases(values = {
        "foo bar with $xyz",
        "soll foo bar: $xyz",
        "foo bar: $xyz" })

The word "soll" is made optional this way. The reasoning behind this is that 
when using "And" it is more natural to write

Then soll something else
And foo bar with $xyz

instead of

Then soll something else
And soll foo bar with $xyz


It would be very nice to not have define aliases for all these variants, 
because it makes the code harder to maintain. Instead, I though I'd add this 
dynamically, the same way annotated Aliases are, but it seems this 
functionality would require providing a new subclass of 
org.jbehave.core.steps.Steps which I cannot see how to do.

I suggest a change like this:

1) In org.jbehave.core.steps.Steps add another call in listCandidates() after 
each of the addCandidatesFromAliases(...) like addCustomDerivedCandidates(...) 
with the same signature and a protected empty default implementation.
2) Allow configuration to specify a custom subclass of 
org.jbehave.core.steps.Steps. In there custom additions to the candidates list 
could be made, like the one I described.



--
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


Reply via email to