Sha256: 0bc379e121ef7291025f1c1cab1844c44112dbaf14cc3c501068cb1cba265a69
Contents?: true
Size: 1.68 KB
Versions: 1
Compression:
Stored size: 1.68 KB
Contents
module Spec class TextRunner def initialize(appendable = $stdout) @failures = Array.new @specification_count = 0 @expectation_count = 0 @failure_count = 0 @output = appendable end def run(context_or_collection = Spec::Collector) start_run context_or_collection.collection.each {|context| context.run(self)} end_run end def pass(spec) @output << "." @expectation_count += 1 end def failure(spec, exception) @output << "X" @expectation_count += 1 @failures << exception end def spec(spec) @specification_count += 1 end def start_run @output << "\n" @start_time = Time.new end def end_run @end_time = Time.new @output << "\n\n" dump_failures dump_duration(@end_time - @start_time) dump_counts end def dump_failures @failures.inject(1) do |index, exception| @output << index.to_s << ")\n" @output << "#{exception.message} (#{exception.class.name})\n" dump_backtrace(exception.backtrace) index + 1 end end def dump_backtrace(trace) lines = trace.reject {|line| line.include? "lib/spec"}.reject {|line | line.include? "./spec:"} @output << lines.join("\n") @output << "\n\n" end def dump_duration(duration) @output << "Finished in " << duration.to_s << " seconds\n" end def dump_counts @output << "\n" << @specification_count.to_s << " specifications, " @output << @expectation_count.to_s << " expectations, " @output << @failures.length.to_s << " failures\n" end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
rspec-0.2.0 | lib/spec/text_runner.rb |