Class: Webspec::Formatter
- Inherits:
-
RSpec::Core::Formatters::BaseFormatter
- Object
- RSpec::Core::Formatters::BaseFormatter
- Webspec::Formatter
- Defined in:
- lib/webspec/formatter.rb
Instance Attribute Summary collapse
-
#output_hash ⇒ Object
readonly
Returns the value of attribute output_hash.
Instance Method Summary collapse
- #close ⇒ Object
- #dump_summary(duration, example_count, failure_count, pending_count) ⇒ Object
- #example_failed(example) ⇒ Object
- #example_finished(example) ⇒ Object
- #example_group_finished(example_group) ⇒ Object
- #example_group_started(example_group) ⇒ Object
- #example_metadata(example) ⇒ Object
- #example_passed(example) ⇒ Object
- #example_pending(example) ⇒ Object
-
#initialize(output) ⇒ Formatter
constructor
A new instance of Formatter.
- #message(message) ⇒ Object
- #stop ⇒ Object
- #summary_line(example_count, failure_count, pending_count) ⇒ Object
Constructor Details
#initialize(output) ⇒ Formatter
Returns a new instance of Formatter.
6 7 8 9 10 11 |
# File 'lib/webspec/formatter.rb', line 6 def initialize(output) super @run = Webspec.create_run @output_hash = {} @example_group = @run end |
Instance Attribute Details
#output_hash ⇒ Object (readonly)
Returns the value of attribute output_hash.
4 5 6 |
# File 'lib/webspec/formatter.rb', line 4 def output_hash @output_hash end |
Instance Method Details
#close ⇒ Object
89 90 91 92 93 94 95 96 97 98 99 |
# File 'lib/webspec/formatter.rb', line 89 def close @output_hash[:env] = { :user => ENV['USER'], :ruby_platform => RUBY_PLATFORM, :ruby_engine => RUBY_ENGINE, :ruby_version => RUBY_VERSION, :ruby_patchlevel => RUBY_PATCHLEVEL } @run.update(@output_hash) end |
#dump_summary(duration, example_count, failure_count, pending_count) ⇒ Object
44 45 46 47 48 49 50 51 52 53 54 55 56 |
# File 'lib/webspec/formatter.rb', line 44 def dump_summary(duration, example_count, failure_count, pending_count) super(duration, example_count, failure_count, pending_count) @output_hash[:summary] = { :duration => duration, :example_count => example_count, :failure_count => failure_count, :pending_count => pending_count } @output_hash[:summary_line] = summary_line(example_count, failure_count, pending_count) # Don't print out profiled info if there are failures, it just clutters the output dump_profile if profile_examples? && failure_count == 0 end |
#example_failed(example) ⇒ Object
31 32 33 |
# File 'lib/webspec/formatter.rb', line 31 def example_failed(example) example_finished(example) end |
#example_finished(example) ⇒ Object
39 40 41 42 |
# File 'lib/webspec/formatter.rb', line 39 def example_finished(example) puts "example_finished: example_group: #{@example_group}" @example_group.create_example((example)) end |
#example_group_finished(example_group) ⇒ Object
23 24 25 |
# File 'lib/webspec/formatter.rb', line 23 def example_group_finished(example_group) @example_group = @example_group.parent end |
#example_group_started(example_group) ⇒ Object
17 18 19 20 21 |
# File 'lib/webspec/formatter.rb', line 17 def example_group_started(example_group) @example_group = @example_group.create_example_group({ :description => example_group.description }) end |
#example_metadata(example) ⇒ Object
65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 |
# File 'lib/webspec/formatter.rb', line 65 def (example) { :description => example.description, :full_description => example.full_description, :status => example.execution_result[:status], :example_group => example.example_group.description, :execution_result => example.execution_result, :file_path => example.file_path, :line_number => example.[:line_number], }.tap do |hash| if e=example.exception hash[:exception] = { :class => e.class.name, :message => e., :backtrace => e.backtrace, } end end end |
#example_passed(example) ⇒ Object
27 28 29 |
# File 'lib/webspec/formatter.rb', line 27 def example_passed(example) example_finished(example) end |
#example_pending(example) ⇒ Object
35 36 37 |
# File 'lib/webspec/formatter.rb', line 35 def example_pending(example) example_finished(example) end |
#message(message) ⇒ Object
13 14 15 |
# File 'lib/webspec/formatter.rb', line 13 def () (@output_hash[:messages] ||= []) << end |
#stop ⇒ Object
85 86 87 |
# File 'lib/webspec/formatter.rb', line 85 def stop super end |
#summary_line(example_count, failure_count, pending_count) ⇒ Object
58 59 60 61 62 63 |
# File 'lib/webspec/formatter.rb', line 58 def summary_line(example_count, failure_count, pending_count) summary = pluralize(example_count, "example") summary << ", " << pluralize(failure_count, "failure") summary << ", #{pending_count} pending" if pending_count > 0 summary end |