- Revision
- 1203
- Author
- mauro
- Date
- 2009-08-26 15:37:05 -0500 (Wed, 26 Aug 2009)
Log Message
Added SeleniumStepsMonitor
Modified Paths
- trunk/web/web-selenium/src/main/java/org/jbehave/web/selenium/SeleniumStepsConfiguration.java
- trunk/web/web-selenium/src/main/java/org/jbehave/web/selenium/SeleniumStepsMonitor.java
- trunk/web/web-selenium/src/test/java/org/jbehave/web/selenium/SeleniumStepsConfigurationTest.java
Diff
Modified: trunk/web/web-selenium/src/main/java/org/jbehave/web/selenium/SeleniumStepsConfiguration.java (1202 => 1203)
--- trunk/web/web-selenium/src/main/java/org/jbehave/web/selenium/SeleniumStepsConfiguration.java 2009-08-26 20:37:00 UTC (rev 1202) +++ trunk/web/web-selenium/src/main/java/org/jbehave/web/selenium/SeleniumStepsConfiguration.java 2009-08-26 20:37:05 UTC (rev 1203) @@ -1,20 +1,19 @@ package org.jbehave.web.selenium; import org.jbehave.scenario.steps.SilentStepMonitor; +import org.jbehave.scenario.steps.StepMonitor; import org.jbehave.scenario.steps.StepsConfiguration; import com.thoughtworks.selenium.Selenium; public class SeleniumStepsConfiguration extends StepsConfiguration { - public SeleniumStepsConfiguration(final Selenium selenium, final SeleniumContext seleniumContext) { - useMonitor(new SilentStepMonitor(){ - @Override - public void performing(String step){ - String context = seleniumContext.getCurrentScenario() + "<br>" + step; - selenium.setContext(context); - } - }); + public SeleniumStepsConfiguration(Selenium selenium, SeleniumContext seleniumContext) { + this(selenium, seleniumContext, new SilentStepMonitor()); } + public SeleniumStepsConfiguration(Selenium selenium, SeleniumContext seleniumContext, StepMonitor stepMonitor) { + useMonitor(new SeleniumStepsMonitor(selenium, seleniumContext, stepMonitor)); + } + }
Modified: trunk/web/web-selenium/src/main/java/org/jbehave/web/selenium/SeleniumStepsMonitor.java (1202 => 1203)
--- trunk/web/web-selenium/src/main/java/org/jbehave/web/selenium/SeleniumStepsMonitor.java 2009-08-26 20:37:00 UTC (rev 1202) +++ trunk/web/web-selenium/src/main/java/org/jbehave/web/selenium/SeleniumStepsMonitor.java 2009-08-26 20:37:05 UTC (rev 1203) @@ -1,6 +1,3 @@ -/** - * - */ package org.jbehave.web.selenium; import java.lang.reflect.Type; @@ -9,12 +6,12 @@ import com.thoughtworks.selenium.Selenium; -class SeleniumStepsMonitor implements StepMonitor { +public class SeleniumStepsMonitor implements StepMonitor { private final Selenium selenium; private final SeleniumContext seleniumContext; private final StepMonitor delegate; - SeleniumStepsMonitor(Selenium selenium, + public SeleniumStepsMonitor(Selenium selenium, SeleniumContext seleniumContext, StepMonitor delegate) { this.selenium = selenium; this.seleniumContext = seleniumContext;
Modified: trunk/web/web-selenium/src/test/java/org/jbehave/web/selenium/SeleniumStepsConfigurationTest.java (1202 => 1203)
--- trunk/web/web-selenium/src/test/java/org/jbehave/web/selenium/SeleniumStepsConfigurationTest.java 2009-08-26 20:37:00 UTC (rev 1202) +++ trunk/web/web-selenium/src/test/java/org/jbehave/web/selenium/SeleniumStepsConfigurationTest.java 2009-08-26 20:37:05 UTC (rev 1203) @@ -1,5 +1,6 @@ package org.jbehave.web.selenium; +import org.jbehave.scenario.steps.StepMonitor; import org.jmock.Expectations; import org.jmock.Mockery; import org.jmock.integration.junit4.JMock; @@ -13,20 +14,40 @@ private Mockery mockery = new Mockery(); - private final Selenium selenium = mockery.mock(Selenium.class); + private Selenium selenium = mockery.mock(Selenium.class); + private StepMonitor stepMonitor = mockery.mock(StepMonitor.class); @Test public void canConfigureSeleniumContextToShowCurrentScenario() throws Throwable{ SeleniumContext seleniumContext = new SeleniumContext(); String currentScenario = "current scenario"; - String step = "a step"; + final String step = "a step"; final String context = currentScenario + "<br>" + step; mockery.checking(new Expectations(){{ one(selenium).setContext(context); + one(stepMonitor).performing(step); }}); - SeleniumStepsConfiguration configuration = new SeleniumStepsConfiguration(selenium, seleniumContext); + SeleniumStepsConfiguration configuration = new SeleniumStepsConfiguration(selenium, seleniumContext, stepMonitor); seleniumContext.setCurrentScenario(currentScenario); configuration.getMonitor().performing(step); } + @Test + public void canDelegateOtherSeleniumStepsMonitorCalls() throws Throwable{ + final String step = "a step"; + final String value = "value"; + final Class<String> type = String.class; + final String converted = "converted"; + final Class<String> converterClass = String.class; + final String pattern = "pattern"; + final boolean matches = true; + mockery.checking(new Expectations(){{ + one(stepMonitor).convertedValueOfType(value, type, converted, converterClass); + one(stepMonitor).stepMatchesPattern(step, matches, pattern); + }}); + SeleniumStepsMonitor monitor = new SeleniumStepsMonitor(selenium, new SeleniumContext(), stepMonitor); + monitor.convertedValueOfType(value, type, converted, converterClass); + monitor.stepMatchesPattern(step, matches, pattern); + } + }
To unsubscribe from this list please visit:
