public void addStepDefinition(Global jsStepDefinition, NativeRegExp regexp, NativeFunction bodyFunc, NativeFunction argumentsFromFunc) throws Throwable { StackTraceElement stepDefLocation = jsLocation(); RhinoStepDefinition stepDefinition = new RhinoStepDefinition(cx, scope, jsStepDefinition, regexp, bodyFunc, stepDefLocation, argumentsFromFunc); glue.addStepDefinition(stepDefinition); }
public void addStepDefinition(Global jsStepDefinition, NativeRegExp regexp, NativeFunction bodyFunc, NativeFunction argumentsFromFunc) throws Throwable { StackTraceElement stepDefLocation = jsLocation(); RhinoStepDefinition stepDefinition = new RhinoStepDefinition(cx, scope, jsStepDefinition, regexp, bodyFunc, stepDefLocation, argumentsFromFunc); glue.addStepDefinition(stepDefinition); }
public void addStepDefinition(Pattern regexp, long timeoutMillis, Closure body) { glue.addStepDefinition(new GroovyStepDefinition(regexp, timeoutMillis, body, currentLocation(), this)); }
private boolean readFromScalaDsl(final Object instance) { try { // ensure scala module is activated load("cucumber.api.scala.ScalaDsl"); // read info directly {@see cucumber.api.scala.ScalaDsl} final Class<?> clazz = instance.getClass(); final Collection<StepDefinition> stepDefinitions = readField(clazz, "stepDefinitions", instance, StepDefinition.class); for (final StepDefinition sd : stepDefinitions) { glue.addStepDefinition(StepDefinition.class.cast(sd)); } final Collection<HookDefinition> beforeHooks = readField(clazz, "beforeHooks", instance, HookDefinition.class); for (final HookDefinition sd : beforeHooks) { glue.addBeforeHook(HookDefinition.class.cast(sd)); } final Collection<HookDefinition> afterHooks = readField(clazz, "afterHooks", instance, HookDefinition.class); for (final HookDefinition sd : afterHooks) { glue.addAfterHook(HookDefinition.class.cast(sd)); } return stepDefinitions.size() + beforeHooks.size() + afterHooks.size() > 0; } catch (final Exception e) { return false; } }
private void addStepDefinition(final Annotation annotation, final Method method, final Object instance) { try { glue.addStepDefinition(new ArquillianStepDefinition(method, pattern(annotation), timeout(annotation), instance)); } catch (DuplicateStepDefinitionException e) { throw e; } catch (Throwable e) { throw new CucumberException(e); } }
@Override public void loadGlue(Glue glue, List<String> gluePaths) { URI uri = uriBuilderFor(GLUES_URI).queryParam("path", gluePaths.toArray()).buildAndExpand().toUri(); GlueDTO remoteGlue = template.postForObject(uri, null, GlueDTO.class); for (HookDefinitionDTO definitionDto : remoteGlue.getBeforeHooks()) { glue.addBeforeHook(new RemoteHookDefinition(this, definitionDto)); } for (HookDefinitionDTO definitionDto : remoteGlue.getAfterHooks()) { glue.addAfterHook(new RemoteHookDefinition(this, definitionDto)); } for (StepDefinitionDTO definitionDto : remoteGlue.getStepDefinitions()) { glue.addStepDefinition(new RemoteStepDefinition(this, definitionDto)); } }