Sha256: 49082fbffca49ba9f565dcec6d16a36f568b7b2bb2a9144c93b0d035ca4327f2

Contents?: true

Size: 1 KB

Versions: 3

Compression:

Stored size: 1 KB

Contents

module Cucumber
  module Core
    module Test
      module Filters

        # This filter is used for testing Cucumber itself. It adds step definitions
        # that will activate steps to have passed / failed / pending results
        # if they use conventional names.
        #
        # It was extracted from our test code, and does not have any tests of its own.
        class ActivateStepsForSelfTest < Core::Filter.new
          Failure = Class.new(StandardError)

          def test_case(test_case)
            test_steps = test_case.test_steps.map do |step|
              case step.name
              when /fail/
                step.with_action { raise Failure }
              when /pending/
                step.with_action { raise Test::Result::Pending }
              when /pass/
                step.with_action {}
              else
                step
              end
            end

            test_case.with_steps(test_steps).describe_to(receiver)
          end
        end

      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
cucumber-core-3.0.0.pre.2 lib/cucumber/core/test/filters/activate_steps_for_self_test.rb
cucumber-core-2.0.0 lib/cucumber/core/test/filters/activate_steps_for_self_test.rb
cucumber-core-1.5.0 lib/cucumber/core/test/filters/activate_steps_for_self_test.rb