Sha256: d15549b3447a41a02510099f5f39e9723a8effc2221f94be19e1918cf2e85558
Contents?: true
Size: 1.76 KB
Versions: 1
Compression:
Stored size: 1.76 KB
Contents
class Tally attr_reader :files, :examples, :expectations, :failures, :errors def initialize @files = @examples = @expectations = @failures = @errors = 0 end def files!(add=1) @files += add end def examples!(add=1) @examples += add end def expectations!(add=1) @expectations += add end def failures!(add=1) @failures += add end def errors!(add=1) @errors += add end def format [ [@files, 'file'], [@examples, 'example'], [@expectations, 'expectation'], [@failures, 'failure'], [@errors, 'error'] ].map { |count, word| pluralize count, word }.join(", ") end def pluralize(count, singular) "#{count} #{singular}#{'s' unless count == 1}" end private :pluralize end class TallyAction attr_reader :counter def initialize @counter = Tally.new end def register MSpec.register :load, self MSpec.register :exception, self MSpec.register :after, self MSpec.register :expectation, self end def unregister MSpec.unregister :load, self MSpec.unregister :exception, self MSpec.unregister :after, self MSpec.unregister :expectation, self end def load @counter.files! end # Callback for the MSpec :expectation event. Increments the # tally of expectations (e.g. #should, #should_receive, etc.). def expectation(state) @counter.expectations! end # Callback for the MSpec :exception event. Increments the # tally of errors and failures. def exception(exception) exception.failure? ? @counter.failures! : @counter.errors! end # Callback for the MSpec :after event. Increments the tally # of examples. def after(state) @counter.examples! end def format @counter.format end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
mspec-1.2.0 | lib/mspec/runner/actions/tally.rb |