diff --git a/behat.go b/cmd/behat/main.go similarity index 100% rename from behat.go rename to cmd/behat/main.go diff --git a/runner.go b/runner.go new file mode 100644 index 0000000..6832c0f --- /dev/null +++ b/runner.go @@ -0,0 +1 @@ +package behat diff --git a/steps.go b/steps.go new file mode 100644 index 0000000..6b8186e --- /dev/null +++ b/steps.go @@ -0,0 +1,23 @@ +package behat + +import "regexp" + +var stepHandlers map[*regexp.Regexp]StepHandler + +type StepHandler interface { + HandleStep(args ...interface{}) error +} + +type StepHandlerFunc func(...interface{}) error + +func (f StepHandlerFunc) HandleStep(args ...interface{}) error { + return f(args...) +} + +func Step(exp *regexp.Regexp, h StepHandler) { + stepHandlers[exp] = h +} + +func init() { + stepHandlers = make(map[*regexp.Regexp]StepHandler) +}