package br.com.caelum.vraptor.mydvds;
import static org.jbehave.core.reporters.StoryReporterBuilder.Format.IDE_CONSOLE;
import org.jbehave.core.reporters.ConsoleOutput;
import org.jbehave.core.reporters.StoryReporter;
import org.jbehave.core.reporters.StoryReporterBuilder;
import org.jbehave.web.selenium.ContextView;
import org.jbehave.web.selenium.SeleniumContext;
public class MyBuilder extends StoryReporterBuilder {
private final SeleniumContext context;
private final ContextView contextView;
public MyBuilder(SeleniumContext context, ContextView contextView) {
this.context = context;
this.contextView = contextView;
}
@Override
public StoryReporter reporterFor(String storyPath, Format format) {
if (format == IDE_CONSOLE) {
return new ConsoleOutput() {
@Override
public void beforeScenario(String scenarioTitle) {
context.setCurrentScenario(scenarioTitle);
super.beforeScenario(scenarioTitle);
}
@Override
public void afterStory(boolean givenStory) {
contextView.close();
super.afterStory(givenStory);
}
};
} else {
return super.reporterFor(storyPath, format);
}
}
}