- Revision
- 1018
- Author
- mauro
- Date
- 2008-12-26 10:48:07 -0600 (Fri, 26 Dec 2008)
Log Message
Added example of scenario loaded from default package.
Modified Paths
- trunk/examples/gameoflife/scenarios/pom.xml
- trunk/jbehave-core/src/java/org/jbehave/scenario/parser/AbstractScenarioNameResolver.java
Added Paths
Diff
Modified: trunk/examples/gameoflife/scenarios/pom.xml (1017 => 1018)
--- trunk/examples/gameoflife/scenarios/pom.xml 2008-12-26 15:58:43 UTC (rev 1017) +++ trunk/examples/gameoflife/scenarios/pom.xml 2008-12-26 16:48:07 UTC (rev 1018) @@ -34,13 +34,15 @@ <artifactId>jbehave-maven-plugin</artifactId> <executions> <execution> - <id>run-scenarios-listed</id> + <id>run-scenarios</id> <phase>integration-test</phase> <configuration> - <scenarioClassNames> - <scenarioClassName>com.lunivore.gameoflife.ICanToggleACell</scenarioClassName> - <scenarioClassName>com.lunivore.gameoflife.TheGridStartsEmpty</scenarioClassName> - </scenarioClassNames> + <scenarioIncludes> + <scenarioInclude>**/*.java</scenarioInclude> + </scenarioIncludes> + <scenarioExcludes> + <scenarioExclude>**/*Steps.java</scenarioExclude> + </scenarioExcludes> </configuration> <goals> <goal>run-scenarios</goal>
Added: trunk/examples/gameoflife/src/scenario/ICanToggleACellFromDefaultPackage.java (0 => 1018)
--- trunk/examples/gameoflife/src/scenario/ICanToggleACellFromDefaultPackage.java (rev 0) +++ trunk/examples/gameoflife/src/scenario/ICanToggleACellFromDefaultPackage.java 2008-12-26 16:48:07 UTC (rev 1018) @@ -0,0 +1,25 @@ +import org.jbehave.scenario.PropertyBasedConfiguration; +import org.jbehave.scenario.JUnitScenario; +import org.jbehave.scenario.parser.PatternScenarioParser; +import org.jbehave.scenario.parser.ClasspathScenarioDefiner; +import org.jbehave.scenario.parser.UnderscoredCamelCaseResolver; + +import com.lunivore.gameoflife.steps.GridSteps; + +public class ICanToggleACellFromDefaultPackage extends JUnitScenario { + + public ICanToggleACellFromDefaultPackage() { + this(Thread.currentThread().getContextClassLoader()); + } + + public ICanToggleACellFromDefaultPackage(final ClassLoader classLoader) { + super(new PropertyBasedConfiguration() { + @Override + public ClasspathScenarioDefiner forDefiningScenarios() { + return new ClasspathScenarioDefiner(new UnderscoredCamelCaseResolver(), new PatternScenarioParser(this), + classLoader); + } + }); + addSteps(new GridSteps()); + } +}
Added: trunk/examples/gameoflife/src/scenario/i_can_toggle_a_cell_from_default_package (0 => 1018)
--- trunk/examples/gameoflife/src/scenario/i_can_toggle_a_cell_from_default_package (rev 0) +++ trunk/examples/gameoflife/src/scenario/i_can_toggle_a_cell_from_default_package 2008-12-26 16:48:07 UTC (rev 1018) @@ -0,0 +1,22 @@ +Given a 5 by 5 game +When I toggle the cell at (2, 3) +Then the grid should look like +..... +..... +..... +..X.. +..... +When I toggle the cell at (2, 4) +Then the grid should look like +..... +..... +..... +..X.. +..X.. +When I toggle the cell at (2, 3) +Then the grid should look like +..... +..... +..... +..... +..X..
Modified: trunk/jbehave-core/src/java/org/jbehave/scenario/parser/AbstractScenarioNameResolver.java (1017 => 1018)
--- trunk/jbehave-core/src/java/org/jbehave/scenario/parser/AbstractScenarioNameResolver.java 2008-12-26 15:58:43 UTC (rev 1017) +++ trunk/jbehave-core/src/java/org/jbehave/scenario/parser/AbstractScenarioNameResolver.java 2008-12-26 16:48:07 UTC (rev 1018) @@ -1,7 +1,5 @@ package org.jbehave.scenario.parser; -import static java.text.MessageFormat.format; - import org.jbehave.scenario.RunnableScenario; public abstract class AbstractScenarioNameResolver implements @@ -24,9 +22,24 @@ } public String resolve(Class<? extends RunnableScenario> scenarioClass) { - return format(PATH_PATTERN, resolveDirectoryName(scenarioClass), resolveFileName(scenarioClass), extension); + String directoryName = resolveDirectoryName(scenarioClass); + String fileName = resolveFileName(scenarioClass); + return formatName(directoryName, fileName, extension); } + private String formatName(String directoryName, String fileName, + String extension) { + StringBuffer sb = new StringBuffer(); + if (directoryName.length() > 0) { + sb.append(directoryName).append(SLASH); + } + sb.append(fileName); + if (extension.length() > 0) { + sb.append(extension); + } + return sb.toString(); + } + protected String resolveDirectoryName( Class<? extends RunnableScenario> scenarioClass) { Package scenarioPackage = scenarioClass.getPackage(); @@ -36,6 +49,7 @@ return EMPTY; } - protected abstract String resolveFileName(Class<? extends RunnableScenario> scenarioClass); + protected abstract String resolveFileName( + Class<? extends RunnableScenario> scenarioClass); } \ No newline at end of file
To unsubscribe from this list please visit:
