Sha256: 692f0b59743c77a29ab951c0f0ef9bd37e0c261a2fd7d8da6496403f8032fd17

Contents?: true

Size: 1.19 KB

Versions: 16

Compression:

Stored size: 1.19 KB

Contents

module Cucumber
  module Ast
    class OutlineTable < Table
      def initialize(raw, scenario_outline)
        super(raw)
        @scenario_outline = scenario_outline
        @cells_class = ExampleCells
      end

      def accept(visitor, status)
        cells_rows.each_with_index do |row, n|
          should_visit = n == 0 || 
            row.at_lines?(visitor.current_feature_lines) ||
            @scenario_outline.at_header_or_step_lines?(visitor.current_feature_lines)

          if should_visit
            visitor.visit_table_row(row, status)
          end
        end
        nil
      end

      def execute_row(cells, visitor, &proc)
        @scenario_outline.execute_row(cells, visitor, &proc)
      end

      class ExampleCells < Cells
        def accept(visitor, status)
          if header?
            @cells.each do |cell|
              visitor.visit_table_cell(cell, :thead)
            end
            nil
          else
            exception = @table.execute_row(self, visitor) do |cell, status|
              visitor.visit_table_cell(cell, status)
            end
          end
        end

        private

        def header?
          index == 0
        end
      end
    end
  end
end

Version data entries

16 entries across 16 versions & 3 rubygems

Version Path
aslakhellesoy-cucumber-0.1.99.10 lib/cucumber/ast/outline_table.rb
aslakhellesoy-cucumber-0.1.99.11 lib/cucumber/ast/outline_table.rb
aslakhellesoy-cucumber-0.1.99.12 lib/cucumber/ast/outline_table.rb
aslakhellesoy-cucumber-0.1.99.13 lib/cucumber/ast/outline_table.rb
aslakhellesoy-cucumber-0.1.99.14 lib/cucumber/ast/outline_table.rb
aslakhellesoy-cucumber-0.1.99.15 lib/cucumber/ast/outline_table.rb
aslakhellesoy-cucumber-0.1.99.17 lib/cucumber/ast/outline_table.rb
aslakhellesoy-cucumber-0.1.99.18 lib/cucumber/ast/outline_table.rb
aslakhellesoy-cucumber-0.1.99.19 lib/cucumber/ast/outline_table.rb
aslakhellesoy-cucumber-0.1.99.20 lib/cucumber/ast/outline_table.rb
aslakhellesoy-cucumber-0.1.99.21 lib/cucumber/ast/outline_table.rb
aslakhellesoy-cucumber-0.1.99.22 lib/cucumber/ast/outline_table.rb
aslakhellesoy-cucumber-0.1.99.23 lib/cucumber/ast/outline_table.rb
kosmas58-cucumber-0.1.99.21 lib/cucumber/ast/outline_table.rb
kosmas58-cucumber-0.1.99.23 lib/cucumber/ast/outline_table.rb
notch8-cucumber-0.1.99.23 lib/cucumber/ast/outline_table.rb