disable multiline feature for step definitions

Этот коммит содержится в:
gedi 2015-06-09 19:01:35 +03:00
родитель 32cad20e06
коммит df957153a8
2 изменённых файлов: 5 добавлений и 12 удалений

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

@ -189,11 +189,6 @@ func (p *parser) parseSteps() (steps []*Step, err error) {
step.Type = Given step.Type = Given
} }
} }
// step text maybe multilined
// @TODO: think about use case when there is a different token matched instead of TEXT
for ; p.peek().OfType(lexer.TEXT); tok = p.next() {
step.Text += " " + tok.Value
}
if step.Text[len(step.Text)-1] == ':' { if step.Text[len(step.Text)-1] == ':' {
next := p.peek() next := p.peek()

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

@ -38,9 +38,8 @@ var testStepSamples = map[string]string{
When I do something When I do something
Then something should happen`, Then something should happen`,
"step_group_multiline": `Given an admin user "John Doe" "step_group_another": `Given an admin user "John Doe"
And user "John Doe" belongs And user "John Doe" belongs to user group "editors"
to user group "editors"
When I do something When I do something
Then I expect the result`, Then I expect the result`,
} }
@ -274,9 +273,9 @@ func Test_parse_step_group(t *testing.T) {
}, t) }, t)
} }
func Test_parse_step_group_multiline(t *testing.T) { func Test_parse_another_step_group(t *testing.T) {
p := &parser{ p := &parser{
lx: lexer.New(strings.NewReader(testStepSamples["step_group_multiline"])), lx: lexer.New(strings.NewReader(testStepSamples["step_group_another"])),
path: "some.feature", path: "some.feature",
ast: newAST(), ast: newAST(),
} }
@ -291,7 +290,7 @@ func Test_parse_step_group_multiline(t *testing.T) {
steps[0].assertType(Given, t) steps[0].assertType(Given, t)
steps[0].assertText(`an admin user "John Doe"`, t) steps[0].assertText(`an admin user "John Doe"`, t)
steps[1].assertType(Given, t) steps[1].assertType(Given, t)
steps[1].assertText(`user "John Doe" belongs user "John Doe" belongs`, t) steps[1].assertText(`user "John Doe" belongs to user group "editors"`, t)
steps[2].assertType(When, t) steps[2].assertType(When, t)
steps[2].assertText("I do something", t) steps[2].assertText("I do something", t)
steps[3].assertType(Then, t) steps[3].assertType(Then, t)
@ -301,7 +300,6 @@ func Test_parse_step_group_multiline(t *testing.T) {
p.ast.assertMatchesTypes([]lexer.TokenType{ p.ast.assertMatchesTypes([]lexer.TokenType{
lexer.GIVEN, lexer.GIVEN,
lexer.AND, lexer.AND,
lexer.TEXT,
lexer.WHEN, lexer.WHEN,
lexer.THEN, lexer.THEN,
lexer.EOF, lexer.EOF,