def init
super
@feature = object
sections.push :feature
sections.push :scenarios if object.scenarios
end
def background
@scenario = @feature.background
@id = "background"
erb(:scenario)
end
def scenarios
scenarios = ""
if @feature.background
@scenario = @feature.background
@id = "background"
scenarios += erb(:scenario)
end
@feature.scenarios.each_with_index do |scenario,index|
@scenario = scenario
@id = "scenario_#{index}"
scenarios += erb(:scenario)
end
scenarios
end
def highlight_matches(step)
step.value.dup.tap do |value|
if step.definition
matches = step.definition.regex.match(step.value)
if matches
matches.named_captures.to_a.reverse.each_with_index do |(name,match),index|
next if match == nil
next unless name.start_with?("placeholder_")
highlight = "#{h(match)}"
value[matches.begin((matches.size - 1) - index)..(matches.end((matches.size - 1) - index) - 1)] = highlight
end
end
end
end
end
def htmlify_with_newlines(text)
text.split("\n").collect {|c| h(c).gsub(/\s/,' ') }.join("
")
end