Class Test::Unit::UI::SpecDox::TestRunner
In: lib/test/spec/dox.rb
Parent: Test::Unit::UI::Console::TestRunner

Methods

Protected Instance methods

[Source]

    # File lib/test/spec/dox.rb, line 11
11:       def add_fault(fault)
12:         if fault.kind_of? Test::Spec::Disabled
13:           @disabled += 1
14:           output_no_nl " (disabled)"
15:         else
16:           @faults << fault
17:           word = fault.class.name[/(.*::)?(.*)/, 2].upcase
18:           output_no_nl " (#{word} - #{@faults.size})"
19:         end
20:       end

[Source]

    # File lib/test/spec/dox.rb, line 30
30:       def finished(elapsed_time)
31:         nl
32:         output "Finished in #{elapsed_time} seconds."
33:         @faults.each_with_index do |fault, index|
34:           nl
35:           output("%3d) %s" % [index + 1, fault.long_display])
36:         end
37:         nl
38:         output_result
39:       end

[Source]

     # File lib/test/spec/dox.rb, line 116
116:       def indent(depth)
117:         @indent = depth
118:         @prefix = "  " * depth
119:       end

[Source]

    # File lib/test/spec/dox.rb, line 95
95:       def output_heading(heading)
96:         output "#{@prefix}#{heading}"
97:       end

[Source]

    # File lib/test/spec/dox.rb, line 91
91:       def output_item(item)
92:         output_no_nl "#{@prefix}- #{item}"
93:       end

[Source]

    # File lib/test/spec/dox.rb, line 86
86:       def output_no_nl(something, level=NORMAL)
87:         @io.write(something) if (output?(level))
88:         @io.flush
89:       end

[Source]

    # File lib/test/spec/dox.rb, line 41
41:       def output_result
42:         if @disabled > 0
43:           disabled = ", #{@disabled} disabled"
44:         else
45:           disabled = ""
46:         end
47: 
48:         r = "%d specifications#{disabled} (%d requirements), %d failures" % [
49:           @result.run_count, @result.assertion_count, @result.failure_count]
50:         r << ", #{@result.error_count} errors"  if @result.error_count > 0
51:         output r
52:       end

[Source]

   # File lib/test/spec/dox.rb, line 7
7:       def setup_mediator
8:         @mediator = create_mediator(@suite)
9:       end

[Source]

    # File lib/test/spec/dox.rb, line 22
22:       def started(result)
23:         @result = result
24:         @context = nil
25:         @contexts = []
26:         @disabled = 0
27:         indent 0
28:       end

[Source]

    # File lib/test/spec/dox.rb, line 81
81:       def test_finished(name)
82:         # Don't let empty contexts clutter up the output.
83:         nl  unless name =~ /\Adefault_test\(/
84:       end

[Source]

    # File lib/test/spec/dox.rb, line 54
54:       def test_started(name)
55:         contextname, specname = unmangle name
56:         return  if contextname.nil? || specname.nil?
57: 
58:         if @context != contextname
59:           @context = contextname
60: 
61:           @old_contexts = @contexts
62:           @contexts = @context.split("\t")
63: 
64:           common = 0
65:           @contexts.zip(@old_contexts) { |a, b|
66:             break  if a != b
67:             common += 1
68:           }
69: 
70:           nl  if common == 0
71: 
72:           @contexts[common..-1].each_with_index { |head, i|
73:             indent common + i
74:             output_heading head
75:           }
76:         end
77:         
78:         output_item specname
79:       end

[Source]

     # File lib/test/spec/dox.rb, line 99
 99:       def unmangle(name)
100:         if name =~ /\Atest_spec \{(.*?)\} \d+ \[(.*)\]/
101:           contextname = $1
102:           specname = $2
103:         elsif name =~ /test_(.*?)\((.*)\)$/
104:           specname = $1
105:           contextname = $2
106: 
107:           contextname.gsub!(/^Test\B|\BTest$/, '')
108:           specname.gsub!(/_/, ' ')
109:         else
110:           contextname = specname = nil
111:         end
112: 
113:         [contextname, specname]
114:       end

[Validate]