81 строка
1,5 КиБ
Go
81 строка
1,5 КиБ
Go
package service
|
|
|
|
import (
|
|
"bytes"
|
|
"strings"
|
|
|
|
. "my/go-translator/pkg/testgodoglib"
|
|
|
|
"github.com/cucumber/godog"
|
|
. "github.com/onsi/gomega"
|
|
)
|
|
|
|
type testData struct {
|
|
src string
|
|
}
|
|
|
|
var (
|
|
t *testData
|
|
)
|
|
|
|
func resetTestData() {
|
|
t = &testData{}
|
|
_ = Ω
|
|
}
|
|
|
|
func beforeSuite() {
|
|
}
|
|
func afterSuite() {
|
|
}
|
|
|
|
func beforeScenario() {
|
|
resetTestData()
|
|
}
|
|
func afterScenario() {
|
|
}
|
|
|
|
// -----------------------
|
|
|
|
func исходник(src *godog.DocString) {
|
|
t.src = src.Content
|
|
}
|
|
func результат(out *godog.DocString) {
|
|
Compare_new(t.src, out.Content)
|
|
}
|
|
|
|
func Compare_new(source, expected string) {
|
|
var in, out bytes.Buffer
|
|
in.WriteString(source)
|
|
service := NewService(&in, &out)
|
|
err := service.Start()
|
|
got := out.String()
|
|
tgot, texpected := trim_new(got), trim_new(expected)
|
|
// spew.Dump(got)
|
|
ExpectWithOffset(1, err).NotTo(HaveOccurred())
|
|
ExpectWithOffset(1, tgot).To(Be(texpected))
|
|
}
|
|
func trim_new(s string) string {
|
|
s = strings.Replace(s, "\n", "", -1)
|
|
s = strings.Replace(s, "\r", "", -1)
|
|
s = strings.Replace(s, "\t", "", -1)
|
|
return s
|
|
}
|
|
|
|
func Compare(source, expected string) {
|
|
var in, out bytes.Buffer
|
|
in.WriteString(source)
|
|
service := NewService(&in, &out)
|
|
err := service.Start()
|
|
got := out.String()
|
|
tgot, texpected := Trim(got), Trim(expected)
|
|
// spew.Dump(tgot)
|
|
ExpectWithOffset(1, err).NotTo(HaveOccurred())
|
|
ExpectWithOffset(1, tgot).To(Be(texpected))
|
|
}
|
|
func Trim(s string) string {
|
|
s = strings.Replace(s, " ", "", -1)
|
|
s = strings.Replace(s, "\n", "", -1)
|
|
s = strings.Replace(s, "\r", "", -1)
|
|
s = strings.Replace(s, "\t", "", -1)
|
|
return s
|
|
}
|