public void addBeforeHook(Function fn, String[] tags, int order, long timeoutMillis) { StackTraceElement stepDefLocation = jsLocation(); RhinoHookDefinition hookDefinition = new RhinoHookDefinition(cx, scope, fn, tags, order, timeoutMillis, stepDefLocation); glue.addBeforeHook(hookDefinition); }
public void addBeforeHook(Function fn, String[] tags, int order, long timeoutMillis) { StackTraceElement stepDefLocation = jsLocation(); RhinoHookDefinition hookDefinition = new RhinoHookDefinition(cx, scope, fn, tags, order, timeoutMillis, stepDefLocation); glue.addBeforeHook(hookDefinition); }
public void addBeforeHook(TagExpression tagExpression, long timeoutMillis, int order, Closure body) { glue.addBeforeHook(new GroovyHookDefinition(tagExpression, timeoutMillis, order, 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 addHook(final Annotation annotation, final Method method, final Object instance) { if (annotation.annotationType().equals(Before.class)) { final String[] tagExpressions = ((Before) annotation).value(); final long timeout = ((Before) annotation).timeout(); glue.addBeforeHook(new ArquillianHookDefinition(method, tagExpressions, ((Before) annotation).order(), timeout, instance)); } else { final String[] tagExpressions = ((After) annotation).value(); final long timeout = ((After) annotation).timeout(); glue.addAfterHook(new ArquillianHookDefinition(method, tagExpressions, ((After) annotation).order(), timeout, instance)); } }
@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)); } }