Skip to content

Instantly share code, notes, and snippets.

@msassak
Created June 17, 2010 23:24
Show Gist options
  • Select an option

  • Save msassak/442952 to your computer and use it in GitHub Desktop.

Select an option

Save msassak/442952 to your computer and use it in GitHub Desktop.
#
# With Gherkin 2.0 we do something like this:
def parse
builder = Cucumber::Parser::GherkinBuilder.new
formatter_listener = Gherkin::Parser::FormatterListener.new(builder)
filter_listener = Gherkin::Parser::FilterListener.new(formatter_listener, filters)
parser = Gherkin::Parser::Parser.new(filter_listener, true, "root")
lexer = Gherkin::I18nLexer.new(parser, false)
lexer.scan(source, location, offset)
end
#
# Why can't we do this?
def parse
builder = Cucumber::Parser::GherkinBuilder.new
formatter_listener = Gherkin::Parser::FormatterListener.new(builder, location, offset)
filter_listener = Gherkin::Parser::FilterListener.new(formatter_listener, filters)
parser = Gherkin::Parser::Parser.new(filter_listener, true, "root")
lexer = Gherkin::I18nLexer.new(parser, false)
lexer.scan(source)
end
#
# Or better yet something like this:
def parse
builder = Cucumber::Parser::GherkinBuilder.new
formatter_listener = Gherkin::Parser::FormatterListener.new(builder, location, offset)
filter_listener = Gherkin::Parser::FilterListener.new(formatter_listener, filters)
parser = Gherkin::I18nParser.new(filter_listener, true, "root")
parser.parse(source)
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment