Class: Simulacrum::Browserstack::Summary

Inherits:
RSpec::Core::Formatters::BaseTextFormatter
  • Object
show all
Defined in:
lib/simulacrum/browserstack/summary.rb

Overview

The Summary Class is responsible for combining dumped examlpes from one or more other RSpec runs.

Instance Method Summary collapse

Constructor Details

#initialize(results_set, start_time, end_time) ⇒ Summary

TODO: Rename me, I’m really just a formatter anyway TODO: Also, should this just be an external gem…? Prolly not?



12
13
14
15
16
17
# File 'lib/simulacrum/browserstack/summary.rb', line 12

def initialize(results_set, start_time, end_time)
  super($stdout)
  @results_set = results_set
  @start_time = start_time
  @end_time = end_time
end

Instance Method Details

#dump_commands_to_rerun_failed_examplesObject



19
20
21
22
23
24
25
26
27
28
# File 'lib/simulacrum/browserstack/summary.rb', line 19

def dump_commands_to_rerun_failed_examples
  return if failed_examples.empty?
  output.puts
  output.puts('Failed examples:')
  output.puts

  failed_examples.each do |example|
    output.puts(failure_color("simulacrum --browser=#{example.[:browser]} #{RSpec::Core::Metadata::relative_path(example.location)}") + ' ' + detail_color("# #{example.full_description}"))
  end
end

#dump_summaryObject



30
31
32
# File 'lib/simulacrum/browserstack/summary.rb', line 30

def dump_summary
  super(duration, example_count, failure_count, pending_count)
end

#durationObject



46
47
48
# File 'lib/simulacrum/browserstack/summary.rb', line 46

def duration
  @end_time - @start_time
end

#example_countObject



50
51
52
# File 'lib/simulacrum/browserstack/summary.rb', line 50

def example_count
  summaries.map { |x| x[:example_count] }.reduce(:+)
end

#failed_examplesObject



34
35
36
37
38
# File 'lib/simulacrum/browserstack/summary.rb', line 34

def failed_examples
  examples.select do |example|
    example.execution_result[:status] == 'failed'
  end
end

#failure_countObject



54
55
56
# File 'lib/simulacrum/browserstack/summary.rb', line 54

def failure_count
  summaries.map { |x| x[:failure_count] }.reduce(:+)
end

#find_shared_group(example) ⇒ Object



62
63
# File 'lib/simulacrum/browserstack/summary.rb', line 62

def find_shared_group(example)
end

#group_and_parent_groups(example) ⇒ Object



65
66
# File 'lib/simulacrum/browserstack/summary.rb', line 65

def group_and_parent_groups(example)
end

#pending_countObject



58
59
60
# File 'lib/simulacrum/browserstack/summary.rb', line 58

def pending_count
  summaries.map { |x| x[:pending_count] }.reduce(:+)
end

#pending_examplesObject



40
41
42
43
44
# File 'lib/simulacrum/browserstack/summary.rb', line 40

def pending_examples
  examples.select do |example|
    example.execution_result[:status] == 'pending'
  end
end