Skip to content

Commit

Permalink
Allow IdGenerator to be passed to Core.execute and Core.parse
Browse files Browse the repository at this point in the history
  • Loading branch information
vincent-psarga committed Jan 13, 2020
1 parent f31d432 commit 83731c6
Showing 1 changed file with 3 additions and 4 deletions.
7 changes: 3 additions & 4 deletions lib/cucumber/core.rb
Original file line number Diff line number Diff line change
Expand Up @@ -10,17 +10,16 @@
module Cucumber
module Core

def execute(gherkin_documents, filters = [], event_bus = EventBus.new)
def execute(gherkin_documents, filters = [], event_bus = EventBus.new, id_generator = Cucumber::Messages::IdGenerator::Incrementing.new)
yield event_bus if block_given?
receiver = Test::Runner.new(event_bus)
compile gherkin_documents, receiver, filters
compile gherkin_documents, receiver, filters, event_bus, id_generator
self
end

def compile(gherkin_documents, last_receiver, filters = [], event_bus = EventBus.new)
def compile(gherkin_documents, last_receiver, filters = [], event_bus = EventBus.new, id_generator = Cucumber::Messages::IdGenerator::Incrementing.new)
first_receiver = compose(filters, last_receiver)
gherkin_query = ::Gherkin::Query.new
id_generator = Cucumber::Messages::IdGenerator::Incrementing.new
compiler = Compiler.new(first_receiver, gherkin_query, id_generator)
parse gherkin_documents, compiler, event_bus, gherkin_query, id_generator
self
Expand Down

0 comments on commit 83731c6

Please sign in to comment.