class Cucumber::Core::Test::Runner

def around_hook(hook, &continue)

def around_hook(hook, &continue)
  result = running_test_case.execute(hook, &continue)
  event_bus.test_step_finished running_test_step, result if running_test_step
  @running_test_step = nil
  self
end

def done

def done
  self
end

def initialize(event_bus)

def initialize(event_bus)
  @event_bus = event_bus
end

def test_case(test_case, &descend)

def test_case(test_case, &descend)
  @running_test_case = RunningTestCase.new
  @running_test_step = nil
  event_bus.test_case_started(test_case)
  descend.call(self)
  result = running_test_case.result
  result = Result::Undefined.new('The test case has no steps', Result::UnknownDuration.new, ["#{test_case.location}:in `#{test_case.name}'"]) if result.unknown?
  event_bus.test_case_finished(test_case, result)
  self
end

def test_step(test_step)

def test_step(test_step)
  @running_test_step = test_step
  event_bus.test_step_started test_step
  step_result = running_test_case.execute(test_step)
  event_bus.test_step_finished test_step, step_result
  @running_test_step = nil
  self
end