Class: RSpec::Hermetic::Formatter
- Inherits:
-
Object
- Object
- RSpec::Hermetic::Formatter
- Defined in:
- lib/rspec/hermetic/formatter.rb
Class Method Summary collapse
- .forensic_message(example, changes, last_writers) ⇒ Object
- .pollution_message(example, result, change_set) ⇒ Object
- .probe_error_message(example, change_set) ⇒ Object
Instance Method Summary collapse
- #forensic_message(example, changes, last_writers) ⇒ Object
- #pollution_message(example, result, change_set) ⇒ Object
- #probe_error_message(example, change_set) ⇒ Object
Class Method Details
.forensic_message(example, changes, last_writers) ⇒ Object
12 13 14 |
# File 'lib/rspec/hermetic/formatter.rb', line 12 def self.(example, changes, last_writers) new.(example, changes, last_writers) end |
.pollution_message(example, result, change_set) ⇒ Object
8 9 10 |
# File 'lib/rspec/hermetic/formatter.rb', line 8 def self.(example, result, change_set) new.(example, result, change_set) end |
.probe_error_message(example, change_set) ⇒ Object
16 17 18 |
# File 'lib/rspec/hermetic/formatter.rb', line 16 def self.(example, change_set) new.(example, change_set) end |
Instance Method Details
#forensic_message(example, changes, last_writers) ⇒ Object
30 31 32 33 34 35 36 37 38 |
# File 'lib/rspec/hermetic/formatter.rb', line 30 def (example, changes, last_writers) lines = ["VICTIM #{example_location(example)} started with dirty shared state"] changes.each do |change| writer = last_writers[[change.probe, change.key]] suffix = writer ? " (last changed by #{writer})" : "" lines << " #{format_change(change)}#{suffix}" end lines.join("\n") end |
#pollution_message(example, result, change_set) ⇒ Object
20 21 22 23 24 25 26 27 28 |
# File 'lib/rspec/hermetic/formatter.rb', line 20 def (example, result, change_set) lines = ["POLLUTER #{example_location(example)}"] result.pollutions.each { |change| lines << " #{format_change(change)}" } result.warnings.each { |change| lines << " #{format_change(change)} (append-only warning)" } append_probe_errors(lines, change_set) append_timings(lines, change_set) lines << " hint: this example left shared state changed for later examples" lines.join("\n") end |
#probe_error_message(example, change_set) ⇒ Object
40 41 42 43 44 45 |
# File 'lib/rspec/hermetic/formatter.rb', line 40 def (example, change_set) lines = ["HERMETIC PROBE ERROR #{example_location(example)}"] append_probe_errors(lines, change_set) append_timings(lines, change_set) lines.join("\n") end |