Sha256: 7d13601a2ee0a7ede384c25b7c20d85eadf19edd2fe6d1953bf783a797047694
Contents?: true
Size: 1.76 KB
Versions: 5
Compression:
Stored size: 1.76 KB
Contents
module Spec class TextRunner def initialize common_initialization @output = $stdout end def initialize(appendable) common_initialization @output = appendable end def common_initialization @failures = Array.new @specification_count = 0 @expectation_count = 0 @failure_count = 0 end def run(context_or_collection) 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"} @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
5 entries across 5 versions & 1 rubygems
Version | Path |
---|---|
rspec-0.1.3 | lib/spec/text_runner.rb |
rspec-0.1.2 | lib/spec/text_runner.rb |
rspec-0.1.4 | lib/spec/text_runner.rb |
rspec-0.1.5 | lib/spec/text_runner.rb |
rspec-0.1.6 | lib/spec/text_runner.rb |