Sha256: 7616b53b17cb8d5aaee91126c86e9345c6a53f206bb93fe5fdef0bfc361c926b

Contents?: true

Size: 930 Bytes

Versions: 1

Compression:

Stored size: 930 Bytes

Contents

module Cucumber
  module FeatureElement
    def attach_steps(steps)
      steps.each {|step| step.feature_element = self}
    end

    def file_colon_line(line = @line)
      @feature.file_colon_line(line) if @feature
    end

    def text_length
      @keyword.jlength + @name.jlength
    end

    def has_tags?(tags)
      @tags.has_tags?(tags) || @feature.has_tags?(tags)
    end

    def matches_scenario_names?(scenario_names)
      scenario_names.detect{|name| name == @name}
    end

    def backtrace_line(name = "#{@keyword} #{@name}", line = @line)
      @feature.backtrace_line(name, line) if @feature
    end

    def source_indent(text_length)
      max_line_length - text_length
    end

    def max_line_length
      @steps.max_line_length(self)
    end

    # TODO: Remove when we use StepCollection everywhere
    def previous_step(step)
      i = @steps.index(step) || -1
      @steps[i-1]
    end
    
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
aslakhellesoy-cucumber-0.2.3.3 lib/cucumber/ast/feature_element.rb