class Cucumber::Formatter::AstLookup::TestStepLookupBuilder
def initialize(gherkin_document)
def initialize(gherkin_document) @lookup_hash = {} process_scenario_container(gherkin_document.feature) end
def process_scenario_container(container)
def process_scenario_container(container) container.children.each do |child| if child.respond_to?(:rule) && child.rule process_scenario_container(child.rule) elsif child.respond_to?(:scenario) && child.scenario store_scenario_source_steps(child.scenario) elsif !child.background.nil? store_background_source_steps(child.background) end end end
def store_background_source_steps(background)
def store_background_source_steps(background) background.steps.each do |step| @lookup_hash[step.location.line] = StepSource.new(:Step, step) end end
def store_scenario_source_steps(scenario)
def store_scenario_source_steps(scenario) scenario.steps.each do |step| @lookup_hash[step.location.line] = StepSource.new(:Step, step) end end