- Revision
- 1407
- Author
- paul
- Date
- 2009-12-12 00:20:29 -0600 (Sat, 12 Dec 2009)
Log Message
story definition now contains story file path too
Modified Paths
- trunk/core/jbehave-core/src/behaviour/org/jbehave/scenario/parser/PatternScenarioParserBehaviour.java
- trunk/core/jbehave-core/src/behaviour/org/jbehave/scenario/parser/ScenarioFileLoaderBehaviour.java
- trunk/core/jbehave-core/src/java/org/jbehave/scenario/definition/StoryDefinition.java
- trunk/core/jbehave-core/src/java/org/jbehave/scenario/parser/ClasspathScenarioDefiner.java
- trunk/core/jbehave-core/src/java/org/jbehave/scenario/parser/PatternScenarioParser.java
- trunk/core/jbehave-core/src/java/org/jbehave/scenario/parser/ScenarioParser.java
Diff
Modified: trunk/core/jbehave-core/src/behaviour/org/jbehave/scenario/parser/PatternScenarioParserBehaviour.java (1406 => 1407)
--- trunk/core/jbehave-core/src/behaviour/org/jbehave/scenario/parser/PatternScenarioParserBehaviour.java 2009-12-12 05:51:58 UTC (rev 1406) +++ trunk/core/jbehave-core/src/behaviour/org/jbehave/scenario/parser/PatternScenarioParserBehaviour.java 2009-12-12 06:20:29 UTC (rev 1407) @@ -26,7 +26,7 @@ StoryDefinition story = parser.defineStoryFrom( "Given a scenario" + NL + "When I parse it" + NL + - "Then I should get steps"); + "Then I should get steps", null); List<String> steps = story.getScenarios().get(0).getSteps(); ensureThat(steps.get(0), equalTo("Given a scenario")); @@ -41,7 +41,7 @@ "Given a scenario Givenly" + NL + "When I parse it to Whenever" + NL + "And I parse it to Anderson" + NL + - "Then I should get steps Thenact"); + "Then I should get steps Thenact", null); List<String> steps = story.getScenarios().get(0).getSteps(); ensureThat(steps.get(0), equalTo("Given a scenario Givenly")); @@ -60,7 +60,7 @@ "with another line" + NL + NL + "Then I should get steps" + NL + "without worrying about lines" + NL + - "or extra white space between or after steps" + NL + NL); + "or extra white space between or after steps" + NL + NL, null); List<String> steps = story.getScenarios().get(0).getSteps(); @@ -81,7 +81,7 @@ "Scenario: the second scenario" + NL + NL + "Given my second scenario"; PatternScenarioParser parser = new PatternScenarioParser(new PropertyBasedConfiguration()); - StoryDefinition story = parser.defineStoryFrom(wholeStory); + StoryDefinition story = parser.defineStoryFrom(wholeStory, null); ensureThat(story.getScenarios().get(0).getTitle(), equalTo("the first scenario")); ensureThat(story.getScenarios().get(0).getSteps(), equalTo(asList("Given my scenario"))); @@ -114,7 +114,7 @@ "Then I should see this in the output" + NL + "And I should see this in the output" + NL; - StoryDefinition story = new PatternScenarioParser(new PropertyBasedConfiguration()).defineStoryFrom(wholeStory); + StoryDefinition story = new PatternScenarioParser(new PropertyBasedConfiguration()).defineStoryFrom(wholeStory, null); ensureThat(story.getBlurb().asString(), equalTo("Story: I can output narratives" + NL + NL + "As a developer" + NL + @@ -188,7 +188,7 @@ wholeStory.append(aScenario).append(NL); } - StoryDefinition story = parser.defineStoryFrom(wholeStory.toString()); + StoryDefinition story = parser.defineStoryFrom(wholeStory.toString(), null); ensureThat(story.getScenarios().size(), equalTo(numberOfScenarios)); for ( ScenarioDefinition scenario : story.getScenarios() ){ ensureThat(scenario.getSteps().size(), equalTo(numberOfGivenWhenThensPerScenario*3)); @@ -208,7 +208,7 @@ "|a|b|c|" + NL + "|d|e|f|"; - StoryDefinition story = new PatternScenarioParser(new PropertyBasedConfiguration()).defineStoryFrom(wholeStory); + StoryDefinition story = new PatternScenarioParser(new PropertyBasedConfiguration()).defineStoryFrom(wholeStory, null); ScenarioDefinition scenario = story.getScenarios().get(0); ensureThat(scenario.getTitle(), equalTo("A template scenario with table values")); @@ -243,7 +243,7 @@ "When I run the scenario of name <two>" + NL + "Then I should see <three> in the output"; - StoryDefinition story = new PatternScenarioParser(new PropertyBasedConfiguration()).defineStoryFrom(wholeStory); + StoryDefinition story = new PatternScenarioParser(new PropertyBasedConfiguration()).defineStoryFrom(wholeStory, null); ScenarioDefinition scenario = story.getScenarios().get(0); ensureThat(scenario.getTitle(), equalTo("A scenario with given scenarios"));
Modified: trunk/core/jbehave-core/src/behaviour/org/jbehave/scenario/parser/ScenarioFileLoaderBehaviour.java (1406 => 1407)
--- trunk/core/jbehave-core/src/behaviour/org/jbehave/scenario/parser/ScenarioFileLoaderBehaviour.java 2009-12-12 05:51:58 UTC (rev 1406) +++ trunk/core/jbehave-core/src/behaviour/org/jbehave/scenario/parser/ScenarioFileLoaderBehaviour.java 2009-12-12 06:20:29 UTC (rev 1407) @@ -20,7 +20,7 @@ ScenarioParser parser = mock(ScenarioParser.class); ClasspathScenarioDefiner loader = new ClasspathScenarioDefiner(parser); loader.loadScenarioDefinitionsFor(MyPendingScenario.class); - verify(parser).defineStoryFrom("Given my step"); + verify(parser).defineStoryFrom("Given my step", "org/jbehave/scenario/parser/scenarios/my_pending_scenario"); } @Test @@ -28,7 +28,7 @@ ScenarioParser parser = mock(ScenarioParser.class); ClasspathScenarioDefiner loader = new ClasspathScenarioDefiner(new CasePreservingResolver(".txt"), parser); loader.loadScenarioDefinitionsFor(MyPendingScenario.class); - verify(parser).defineStoryFrom("Given my step"); + verify(parser).defineStoryFrom("Given my step", "org/jbehave/scenario/parser/scenarios/MyPendingScenario.txt"); } @Test(expected = ScenarioNotFoundException.class)
Modified: trunk/core/jbehave-core/src/java/org/jbehave/scenario/definition/StoryDefinition.java (1406 => 1407)
--- trunk/core/jbehave-core/src/java/org/jbehave/scenario/definition/StoryDefinition.java 2009-12-12 05:51:58 UTC (rev 1406) +++ trunk/core/jbehave-core/src/java/org/jbehave/scenario/definition/StoryDefinition.java 2009-12-12 06:20:29 UTC (rev 1407) @@ -10,6 +10,7 @@ private final Blurb blurb; private final List<ScenarioDefinition> scenarioDefinitions; private String name = "Story"; + private String storyPath; public StoryDefinition(ScenarioDefinition... scenarioDefinitions) { this(asList(scenarioDefinitions)); @@ -28,6 +29,11 @@ this.scenarioDefinitions = scenarioDefinitions; } + public StoryDefinition(Blurb blurb, List<ScenarioDefinition> scenarioDefinitions, String storyPath) { + this(blurb, scenarioDefinitions); + this.storyPath = storyPath; + } + public Blurb getBlurb() { return blurb; } @@ -43,4 +49,8 @@ public void namedAs(String name){ this.name = name; } + + public String getStoryPath() { + return storyPath; + } }
Modified: trunk/core/jbehave-core/src/java/org/jbehave/scenario/parser/ClasspathScenarioDefiner.java (1406 => 1407)
--- trunk/core/jbehave-core/src/java/org/jbehave/scenario/parser/ClasspathScenarioDefiner.java 2009-12-12 05:51:58 UTC (rev 1406) +++ trunk/core/jbehave-core/src/java/org/jbehave/scenario/parser/ClasspathScenarioDefiner.java 2009-12-12 06:20:29 UTC (rev 1407) @@ -44,18 +44,16 @@ } public StoryDefinition loadScenarioDefinitionsFor(Class<? extends RunnableScenario> scenarioClass) { - String wholeFileAsString = asString(loadInputStreamFor(scenarioClass)); - return parser.defineStoryFrom(wholeFileAsString); + String storyPath = resolver.resolve(scenarioClass); + String wholeFileAsString = asString(loadInputStreamFor(storyPath)); + return parser.defineStoryFrom(wholeFileAsString, storyPath); } public StoryDefinition loadScenarioDefinitionsFor(String scenarioPath) { String wholeFileAsString = asString(loadInputStreamFor(scenarioPath)); - return parser.defineStoryFrom(wholeFileAsString); + return parser.defineStoryFrom(wholeFileAsString, scenarioPath); } - private InputStream loadInputStreamFor(Class<? extends RunnableScenario> scenarioClass) { - return loadInputStreamFor(resolver.resolve(scenarioClass)); - } private InputStream loadInputStreamFor(String scenarioPath) { InputStream stream = classLoader.getResourceAsStream(scenarioPath);
Modified: trunk/core/jbehave-core/src/java/org/jbehave/scenario/parser/PatternScenarioParser.java (1406 => 1407)
--- trunk/core/jbehave-core/src/java/org/jbehave/scenario/parser/PatternScenarioParser.java 2009-12-12 05:51:58 UTC (rev 1406) +++ trunk/core/jbehave-core/src/java/org/jbehave/scenario/parser/PatternScenarioParser.java 2009-12-12 06:20:29 UTC (rev 1407) @@ -34,10 +34,10 @@ this.configuration = configuration; } - public StoryDefinition defineStoryFrom(String wholeStoryAsString) { + public StoryDefinition defineStoryFrom(String wholeStoryAsString, String storyPath) { Blurb blurb = parseBlurbFrom(wholeStoryAsString); List<ScenarioDefinition> scenarioDefinitions = parseScenariosFrom(wholeStoryAsString); - return new StoryDefinition(blurb, scenarioDefinitions); + return new StoryDefinition(blurb, scenarioDefinitions, storyPath); } private List<ScenarioDefinition> parseScenariosFrom(
Modified: trunk/core/jbehave-core/src/java/org/jbehave/scenario/parser/ScenarioParser.java (1406 => 1407)
--- trunk/core/jbehave-core/src/java/org/jbehave/scenario/parser/ScenarioParser.java 2009-12-12 05:51:58 UTC (rev 1406) +++ trunk/core/jbehave-core/src/java/org/jbehave/scenario/parser/ScenarioParser.java 2009-12-12 06:20:29 UTC (rev 1407) @@ -9,6 +9,6 @@ */ public interface ScenarioParser { - StoryDefinition defineStoryFrom(String wholeStory); + StoryDefinition defineStoryFrom(String wholeStory, String storyPath); }
To unsubscribe from this list please visit: