expose FindFmt function to search for available formatter

closes #130
Этот коммит содержится в:
gedi 2018-07-31 14:55:20 +03:00
родитель 943635096a
коммит 4df893dd4a
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 56604CDCCC201556
4 изменённых файлов: 8 добавлений и 5 удалений

7
fmt.go
Просмотреть файл

@ -53,9 +53,12 @@ type registeredFormatter struct {
var formatters []*registeredFormatter
func findFmt(format string) FormatterFunc {
// FindFmt searches available formatters registered
// and returns FormaterFunc matched by given
// format name or nil otherwise
func FindFmt(name string) FormatterFunc {
for _, el := range formatters {
if el.name == format {
if el.name == name {
return el.fmt
}
}

Просмотреть файл

@ -14,7 +14,7 @@ func TestShouldFindFormatter(t *testing.T) {
}
for name, shouldFind := range cases {
actual := findFmt(name)
actual := FindFmt(name)
if actual == nil && shouldFind {
t.Fatalf("expected %s formatter should be available", name)
}

2
run.go
Просмотреть файл

@ -125,7 +125,7 @@ func RunWithOptions(suite string, contextInitializer func(suite *Suite), opt Opt
fmt.Fprintln(os.Stderr, fmt.Errorf("format \"%s\" does not support concurrent execution", opt.Format))
return exitOptionError
}
formatter := findFmt(opt.Format)
formatter := FindFmt(opt.Format)
if nil == formatter {
var names []string
for name := range AvailableFormatters() {

Просмотреть файл

@ -115,7 +115,7 @@ func (s *suiteContext) ResetBeforeEachScenario(interface{}) {
}
func (s *suiteContext) iRunFeatureSuiteWithFormatter(name string) error {
f := findFmt(name)
f := FindFmt(name)
if f == nil {
return fmt.Errorf(`formatter "%s" is not available`, name)
}