- Revision
- 984
- Author
- mauro
- Date
- 2008-10-24 16:14:09 -0500 (Fri, 24 Oct 2008)
Log Message
JBEHAVE-140/1/2: Applied patch from Paul Hammant.
Modified Paths
- trunk/examples/gameoflife/src/scenario/com/lunivore/gameoflife/ICanToggleACell.java
- trunk/jbehave-core/src/java/org/jbehave/scenario/AbstractScenario.java
- trunk/jbehave-core/src/java/org/jbehave/scenario/JUnitScenario.java
- trunk/jbehave-core/src/java/org/jbehave/scenario/RunnableScenario.java
- trunk/jbehave-core/src/java/org/jbehave/scenario/steps/CandidateStep.java
- trunk/jbehave-core/src/java/org/jbehave/scenario/steps/PrintStreamStepMonitor.java
- trunk/jbehave-core/src/java/org/jbehave/scenario/steps/StepMonitor.java
- trunk/jbehave-core/src/java/org/jbehave/scenario/steps/StepsConfiguration.java
Diff
Modified: trunk/examples/gameoflife/src/scenario/com/lunivore/gameoflife/ICanToggleACell.java (983 => 984)
--- trunk/examples/gameoflife/src/scenario/com/lunivore/gameoflife/ICanToggleACell.java 2008-10-19 10:31:55 UTC (rev 983) +++ trunk/examples/gameoflife/src/scenario/com/lunivore/gameoflife/ICanToggleACell.java 2008-10-24 21:14:09 UTC (rev 984) @@ -21,6 +21,7 @@ return new ClasspathScenarioDefiner(new UnderscoredCamelCaseResolver(), new PatternScenarioParser(this), classLoader); } - }, new GridSteps()); + }); + addSteps(new GridSteps()); } }
Modified: trunk/jbehave-core/src/java/org/jbehave/scenario/AbstractScenario.java (983 => 984)
--- trunk/jbehave-core/src/java/org/jbehave/scenario/AbstractScenario.java 2008-10-19 10:31:55 UTC (rev 983) +++ trunk/jbehave-core/src/java/org/jbehave/scenario/AbstractScenario.java 2008-10-24 21:14:09 UTC (rev 984) @@ -5,6 +5,10 @@ import org.jbehave.scenario.parser.ScenarioNameResolver; import org.jbehave.scenario.steps.CandidateSteps; +import java.util.List; +import java.util.ArrayList; +import java.util.Arrays; + /** * <p> * Abstract implementation of Scenario which is primarily intended as a base @@ -40,7 +44,7 @@ private final Configuration configuration; private final ScenarioRunner scenarioRunner; - private final CandidateSteps[] candidateSteps; + private final List<CandidateSteps> candidateSteps = new ArrayList<CandidateSteps>(); private final Class<? extends RunnableScenario> scenarioClass; public AbstractScenario(Class<? extends RunnableScenario> scenarioClass, CandidateSteps... candidateSteps) { @@ -57,12 +61,17 @@ this.scenarioClass = scenarioClass; this.configuration = configuration; this.scenarioRunner = scenarioRunner; - this.candidateSteps = candidateSteps; + this.candidateSteps.addAll(Arrays.asList(candidateSteps)); } public void runScenario() throws Throwable { StoryDefinition story = configuration.forDefiningScenarios().loadScenarioDefinitionsFor(scenarioClass); - scenarioRunner.run(story, configuration, candidateSteps); + CandidateSteps[] steps = new CandidateSteps[candidateSteps.size()]; + candidateSteps.toArray(steps); + scenarioRunner.run(story, configuration, steps); } + public void addSteps(CandidateSteps... steps) { + this.candidateSteps.addAll(Arrays.asList(steps)); + } }
Modified: trunk/jbehave-core/src/java/org/jbehave/scenario/JUnitScenario.java (983 => 984)
--- trunk/jbehave-core/src/java/org/jbehave/scenario/JUnitScenario.java 2008-10-19 10:31:55 UTC (rev 983) +++ trunk/jbehave-core/src/java/org/jbehave/scenario/JUnitScenario.java 2008-10-24 21:14:09 UTC (rev 984) @@ -49,6 +49,11 @@ this.delegate.runScenario(); } + + public void addSteps(CandidateSteps... steps) { + this.delegate.addSteps(steps); + } + /** * A JUnit 3-compatibile runnable method which simply delegates * [EMAIL PROTECTED] RunnableScenario#runScenario()}
Modified: trunk/jbehave-core/src/java/org/jbehave/scenario/RunnableScenario.java (983 => 984)
--- trunk/jbehave-core/src/java/org/jbehave/scenario/RunnableScenario.java 2008-10-19 10:31:55 UTC (rev 983) +++ trunk/jbehave-core/src/java/org/jbehave/scenario/RunnableScenario.java 2008-10-24 21:14:09 UTC (rev 984) @@ -1,5 +1,7 @@ package org.jbehave.scenario; +import org.jbehave.scenario.steps.CandidateSteps; + /** * <p> * Scenario represents the main interface to run a scenario. @@ -17,4 +19,6 @@ void runScenario() throws Throwable; + void addSteps(CandidateSteps... steps); + }
Modified: trunk/jbehave-core/src/java/org/jbehave/scenario/steps/CandidateStep.java (983 => 984)
--- trunk/jbehave-core/src/java/org/jbehave/scenario/steps/CandidateStep.java 2008-10-19 10:31:55 UTC (rev 983) +++ trunk/jbehave-core/src/java/org/jbehave/scenario/steps/CandidateStep.java 2008-10-24 21:14:09 UTC (rev 984) @@ -77,6 +77,7 @@ return new Step() { public StepResult perform() { try { + stepMonitor.performing(stepAsString); method.invoke(steps, args); return StepResult.success(stepAsString); } catch (Throwable t) {
Modified: trunk/jbehave-core/src/java/org/jbehave/scenario/steps/PrintStreamStepMonitor.java (983 => 984)
--- trunk/jbehave-core/src/java/org/jbehave/scenario/steps/PrintStreamStepMonitor.java 2008-10-19 10:31:55 UTC (rev 983) +++ trunk/jbehave-core/src/java/org/jbehave/scenario/steps/PrintStreamStepMonitor.java 2008-10-24 21:14:09 UTC (rev 984) @@ -28,6 +28,10 @@ print(output, message); } + public void performing(String step) { + print(output, step); + } + protected void print(PrintStream output, String message) { output.println(message); }
Modified: trunk/jbehave-core/src/java/org/jbehave/scenario/steps/StepMonitor.java (983 => 984)
--- trunk/jbehave-core/src/java/org/jbehave/scenario/steps/StepMonitor.java 2008-10-19 10:31:55 UTC (rev 983) +++ trunk/jbehave-core/src/java/org/jbehave/scenario/steps/StepMonitor.java 2008-10-24 21:14:09 UTC (rev 984) @@ -9,8 +9,9 @@ */ public interface StepMonitor { - void stepMatchesPattern(String string, boolean matches, String pattern); + void stepMatchesPattern(String step, boolean matches, String pattern); void convertedValueOfType(String value, Type type, Object converted, Class<?> converterClass); + void performing(String step); }
Modified: trunk/jbehave-core/src/java/org/jbehave/scenario/steps/StepsConfiguration.java (983 => 984)
--- trunk/jbehave-core/src/java/org/jbehave/scenario/steps/StepsConfiguration.java 2008-10-19 10:31:55 UTC (rev 983) +++ trunk/jbehave-core/src/java/org/jbehave/scenario/steps/StepsConfiguration.java 2008-10-24 21:14:09 UTC (rev 984) @@ -48,6 +48,10 @@ return monitor; } + public void useMonitor(StepMonitor monitor) { + this.monitor = monitor; + } + public ParameterConverters getParameterConverters() { return parameterConverters; }
To unsubscribe from this list please visit: