Sha256: 29da820e386a127f4894f8e5cc8d08e29e28304db576d6fcbf6544a57c2082c7

Contents?: true

Size: 1.11 KB

Versions: 3

Compression:

Stored size: 1.11 KB

Contents

require 'cucumber/initializer'
require 'cucumber/core/ast/describes_itself'
require 'cucumber/core/ast/names'
require 'cucumber/core/ast/empty_background'
require 'cucumber/core/ast/location'

module Cucumber
  module Core
    module Ast
      class Scenario #:nodoc:
        include Names
        include HasLocation
        include DescribesItself

        attr_reader   :feature_tags
        attr_reader   :comments, :tags, :keyword, :background, :title, :location, :gherkin_statement

        include Cucumber.initializer(:gherkin_statement, :language, :location, :background, :comments, :tags, :feature_tags, :keyword, :title, :description, :raw_steps)

        def children
          raw_steps
        end

        def to_sexp
          sexp = [:scenario, line, keyword, name]
          comment = comment.to_sexp
          sexp += [comment] if comment
          tags = tags.to_sexp
          sexp += tags if tags.any?
          sexp += step_invocations.to_sexp if step_invocations.any?
          sexp
        end

        private

        def description_for_visitors
          :scenario
        end
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
cucumber-core-1.0.0.beta.3 lib/cucumber/core/ast/scenario.rb
cucumber-core-1.0.0.beta.2 lib/cucumber/core/ast/scenario.rb
cucumber-core-1.0.0.beta.1 lib/cucumber/core/ast/scenario.rb