class Cucumber::Core::Test::Runner

def around_hook(hook, &continue)

def around_hook(hook, &continue)
  hook.call(continue)
end

def current_case_result

def current_case_result
  current_step_runner.result
end

def current_step_runner

def current_step_runner
  @current_step_runner ||= StepRunner.new
end

def done

def done
  report.done
  self
end

def initialize(report)

def initialize(report)
  @report = report
end

def test_case(test_case, &descend)

def test_case(test_case, &descend)
  report.before_test_case(test_case)
  descend.call(self)
  report.after_test_case(test_case, current_case_result)
  @current_step_runner = nil
end

def test_step(test_step)

def test_step(test_step)
  report.before_test_step test_step
  step_result = current_step_runner.execute(test_step)
  report.after_test_step test_step, step_result
end