Sha256: f1c5c7a9f05d31df8496bccb1e03823f0d5207d11945650e7fcd3c2639d2749e

Contents?: true

Size: 1.35 KB

Versions: 24

Compression:

Stored size: 1.35 KB

Contents

require 'cucumber/ast/names'

module Cucumber
  module Ast
    class Examples #:nodoc:
      include Names
      include HasLocation
      attr_writer :outline_table

      def initialize(location, comment, keyword, title, description, outline_table)
        @location, @comment, @keyword, @title, @description, @outline_table = location, comment, keyword, title, description, outline_table
        raise ArgumentError unless @location.is_a?(Location)
        raise ArgumentError unless @comment.is_a?(Comment)
      end

      attr_reader :gherkin_statement
      def gherkin_statement(statement=nil)
        @gherkin_statement ||= statement
      end

      def accept(visitor)
        return if Cucumber.wants_to_quit
        visitor.visit_comment(@comment) unless @comment.empty?
        visitor.visit_examples_name(@keyword, name)
        visitor.visit_outline_table(@outline_table)
      end

      def skip_invoke!
        @outline_table.skip_invoke!
      end

      def each_example_row(&proc)
        @outline_table.cells_rows[1..-1].each(&proc)
      end

      def failed?
        @outline_table.cells_rows[1..-1].select{|row| row.failed?}.any?
      end

      def to_sexp
        sexp = [:examples, @keyword, name]
        comment = @comment.to_sexp
        sexp += [comment] if comment
        sexp += [@outline_table.to_sexp]
        sexp
      end
    end
  end
end

Version data entries

24 entries across 22 versions & 2 rubygems

Version Path
honeybadger-2.4.0 vendor/gems/ruby/1.9.1/gems/cucumber-1.3.18/lib/cucumber/ast/examples.rb
honeybadger-2.4.0 vendor/gems/ruby/2.2.0/gems/cucumber-1.3.18/lib/cucumber/ast/examples.rb
honeybadger-2.4.0 vendor/gems/ruby/2.1.0/gems/cucumber-1.3.16/lib/cucumber/ast/examples.rb
cucumber-1.3.20 lib/cucumber/ast/examples.rb
cucumber-1.3.19 lib/cucumber/ast/examples.rb
cucumber-1.3.18 lib/cucumber/ast/examples.rb
cucumber-1.3.17 lib/cucumber/ast/examples.rb
cucumber-1.3.16 lib/cucumber/ast/examples.rb
cucumber-1.3.15 lib/cucumber/ast/examples.rb
cucumber-1.3.14 lib/cucumber/ast/examples.rb
cucumber-1.3.13 lib/cucumber/ast/examples.rb
cucumber-1.3.12 lib/cucumber/ast/examples.rb
cucumber-1.3.11 lib/cucumber/ast/examples.rb
cucumber-1.3.10 lib/cucumber/ast/examples.rb
cucumber-1.3.9 lib/cucumber/ast/examples.rb
cucumber-1.3.8 lib/cucumber/ast/examples.rb
cucumber-1.3.7 lib/cucumber/ast/examples.rb
cucumber-1.3.6 lib/cucumber/ast/examples.rb
cucumber-1.3.5 lib/cucumber/ast/examples.rb
cucumber-1.3.4 lib/cucumber/ast/examples.rb