Class: Cucumber::Core::Test::Filters::ActivateStepsForSelfTest

Inherits:
Object
  • Object
show all
Defined in:
lib/cucumber/core/test/filters/activate_steps_for_self_test.rb

Overview

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.

Constant Summary collapse

Failure =
Class.new(StandardError)

Instance Method Summary collapse

Instance Method Details

#test_case(test_case) ⇒ Object



14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/cucumber/core/test/filters/activate_steps_for_self_test.rb', line 14

def test_case(test_case)
  test_steps = test_case.test_steps.map do |step|
    case step.text
    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