AST: тесты вынесены во вложенный пакет, чтобы не было циклической зависимости
Этот коммит содержится в:
родитель
56522e757a
коммит
59344caf33
5 изменённых файлов: 21 добавлений и 13 удалений
|
@ -5,6 +5,7 @@ import (
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
|
|
||||||
"git.golang1.ru/softonik/godog"
|
"git.golang1.ru/softonik/godog"
|
||||||
|
"git.golang1.ru/softonik/godog/pkg/formatters/ast"
|
||||||
"git.golang1.ru/softonik/godog/pkg/lib"
|
"git.golang1.ru/softonik/godog/pkg/lib"
|
||||||
. "git.golang1.ru/softonik/godog_and_gomega"
|
. "git.golang1.ru/softonik/godog_and_gomega"
|
||||||
. "github.com/onsi/gomega"
|
. "github.com/onsi/gomega"
|
||||||
|
@ -58,7 +59,7 @@ func файл(fname string, content *godog.DocString) {
|
||||||
}
|
}
|
||||||
|
|
||||||
func добавляетсяШагСФункциейС(шаг, func_name, params string) {
|
func добавляетсяШагСФункциейС(шаг, func_name, params string) {
|
||||||
err := ДобавитьШаг("`"+шаг+"`", func_name, params)
|
err := ast.ДобавитьШаг("`"+шаг+"`", func_name, params)
|
||||||
Ok(err)
|
Ok(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -68,7 +69,7 @@ func файлДолженСодержать(fname string, content *godog.DocStri
|
||||||
|
|
||||||
Ω(cont).To(Be(content.Content))
|
Ω(cont).To(Be(content.Content))
|
||||||
|
|
||||||
pkg, err := получитьИмяGoПакетаФайла(fname)
|
pkg, err := lib.ПолучитьИмяGoПакетаФайла(fname)
|
||||||
Ok(err)
|
Ok(err)
|
||||||
Ω(pkg).To(Be("mypkg"))
|
Ω(pkg).To(Be("mypkg"))
|
||||||
}
|
}
|
|
@ -3,13 +3,13 @@ package ast
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"go/ast"
|
"go/ast"
|
||||||
"go/parser"
|
|
||||||
"go/token"
|
|
||||||
"os"
|
"os"
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"errors"
|
"errors"
|
||||||
|
|
||||||
|
"git.golang1.ru/softonik/godog/pkg/lib"
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
|
@ -25,7 +25,7 @@ func получитьИмяGoПакетаВЭтойДире() (pkg_name string,
|
||||||
}
|
}
|
||||||
|
|
||||||
if !info.IsDir() && filepath.Ext(path) == ".go" {
|
if !info.IsDir() && filepath.Ext(path) == ".go" {
|
||||||
pkg, err := получитьИмяGoПакетаФайла(path)
|
pkg, err := lib.ПолучитьИмяGoПакетаФайла(path)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
@ -38,14 +38,6 @@ func получитьИмяGoПакетаВЭтойДире() (pkg_name string,
|
||||||
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
func получитьИмяGoПакетаФайла(fname string) (string, error) {
|
|
||||||
fset := token.NewFileSet()
|
|
||||||
node, err := parser.ParseFile(fset, fname, nil, parser.AllErrors)
|
|
||||||
if err != nil {
|
|
||||||
return "", err
|
|
||||||
}
|
|
||||||
return node.Name.Name, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func переименоватьФайлСоВременем(fname string) error {
|
func переименоватьФайлСоВременем(fname string) error {
|
||||||
os.MkdirAll(BACKUP_DIR, 0755)
|
os.MkdirAll(BACKUP_DIR, 0755)
|
||||||
|
|
15
pkg/lib/helpers.go
Обычный файл
15
pkg/lib/helpers.go
Обычный файл
|
@ -0,0 +1,15 @@
|
||||||
|
package lib
|
||||||
|
|
||||||
|
import (
|
||||||
|
"go/parser"
|
||||||
|
"go/token"
|
||||||
|
)
|
||||||
|
|
||||||
|
func ПолучитьИмяGoПакетаФайла(fname string) (string, error) {
|
||||||
|
fset := token.NewFileSet()
|
||||||
|
node, err := parser.ParseFile(fset, fname, nil, parser.AllErrors)
|
||||||
|
if err != nil {
|
||||||
|
return "", err
|
||||||
|
}
|
||||||
|
return node.Name.Name, nil
|
||||||
|
}
|
Загрузка…
Создание таблицы
Сослаться в новой задаче