class Baleen::ResultDisplay

Public Class Methods

new(result, start_time, end_time, output=$stdout) click to toggle source
# File lib/baleen/result_display.rb, line 5
def initialize(result, start_time, end_time, output=$stdout)
  @result     = result
  @start_time = start_time
  @end_time   = end_time
  @output     = output
end

Public Instance Methods

detail() click to toggle source
# File lib/baleen/result_display.rb, line 30
def detail
  @output.puts "[Details]".yellow
  @result.each do |r|
    @output.puts "Id: ".yellow + "#{r['container_id']}".green
    @output.puts "status code: ".yellow + "#{r['status_code']}".green
    @output.puts "feature file: ".yellow + "#{r['file']}".green

    if r['stdout']
      @output.puts "STDOUT:".yellow
      @output.puts "------------------------------------".yellow
      @output.puts "#{r['stdout'].join}".green
    end

    if r['stderr']
      @output.puts "STDERR:".yellow
      @output.puts "------------------------------------".yellow
      @output.puts "#{r['stderr'].join}".red
    end
  end
end
report_result() click to toggle source
# File lib/baleen/result_display.rb, line 12
def report_result
  if @result
    summary
    detail
  end
end
summary() click to toggle source
# File lib/baleen/result_display.rb, line 19
def summary
  tests_result = pass_all? ? "Pass".blue : "Fail".red
  time = run_time

  @output.puts   ""
  @output.puts   "[Summary]".yellow
  @output.puts   "Result: ".yellow + tests_result
  @output.puts   "Time: ".yellow + time.green
  @output.puts   ""
end

Private Instance Methods

pass_all?() click to toggle source
# File lib/baleen/result_display.rb, line 53
def pass_all?
  @result.all? {|r| r['status_code'] == 0}
end
run_time() click to toggle source
# File lib/baleen/result_display.rb, line 57
def run_time
  diff = @end_time - @start_time
  min  = (diff / 60).floor
  sec  = min != 0 ? (diff - (min * 60)).floor : diff.floor
  "#{min}min #{sec}sec"
end