dsawardekar/speckle

View on GitHub
lib/reporters/tap_reporter.riml

Summary

Maintainability
Test Coverage
class TAPReporter < BaseReporter
  defm on_start(stats)
  end

  defm on_spec_start(meta, stats)
  end

  defm on_spec_end(meta, stats)
  end

  defm on_spec_pass(meta, stats)
    name = meta.get_sentence()
    duration_msg = self.get_duration_msg(meta)
    preamble = self.get_preamble('ok', stats.get_count(), meta.get_context())
    self.writer.writeln("#{preamble} ##{name} #{duration_msg}")
    self.flush_log_buffer()
  end

  defm on_spec_failure(meta, err, stats)
    name = meta.get_sentence()
    preamble = self.get_preamble('not ok', stats.get_count(), meta.get_context())
    self.writer.writeln("#{preamble} ##{name} - #{err.get_message()}")
    self.print_stacktrace(err)
    self.flush_log_buffer()
  end

  defm on_spec_error(meta, err, stats)
    self.on_spec_failure(meta, err, stats)
  end

  defm on_spec_pending(meta, stats)
  end

  defm get_preamble(status, count, context)
    msg = "#{status} #{count} - #{context}"
    return msg
  end

  defm write_stacktrace_line(line)
    self.writer.writeln("  #{line}")
  end
end