test 0.2.1 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,211 +0,0 @@
1
- require 'test/reporters/abstract'
2
-
3
- module Test::Reporters
4
-
5
- #
6
- class Outline < Abstract
7
-
8
- #
9
- def begin_suite(suite)
10
- @tab = 0
11
- @start_time = Time.now
12
- @start_test_cache = {}
13
-
14
- timer_reset
15
- end
16
-
17
- #
18
- def begin_case(tc)
19
- lines = tc.to_s.split("\n")
20
- label = lines.shift
21
- if tc.respond_to?(:type)
22
- tabs "#{tc.type}: #{label}".ansi(:bold)
23
- tabs lines.join("\n"), 2 unless lines.empty?
24
- else
25
- tabs "#{label}".ansi(:bold)
26
- tabs lines.join("\n"), 2 unless lines.empty?
27
- end
28
- @tab += 2
29
- end
30
-
31
- #
32
- def begin_test(test)
33
- if test.respond_to?(:topic) && test.topic
34
- topic = test.topic.to_s
35
- @start_test_cache[topic] ||= (
36
- tabs "#{topic}"
37
- true
38
- )
39
- end
40
- timer_reset
41
- end
42
-
43
- #
44
- #
45
- def pass(test)
46
- tabs "#{test}".ansi(:green)
47
- end
48
-
49
- #
50
- def fail(test, exception)
51
- tabs "#{test}".ansi(:red)
52
-
53
- s = []
54
- s << "#{exception}"
55
- s << "#{file_and_line(exception)}"
56
- s << code(exception)
57
- #puts " #{exception.backtrace[0]}"
58
- tabs s.join("\n"), 4
59
- end
60
-
61
- #
62
- def error(test, exception)
63
- tabs "#{test}".ansi(:red, :bold)
64
-
65
- s = []
66
- s << "#{exception.class}"
67
- s << "#{exception}"
68
- s << "#{file_and_line(exception)}"
69
- s << code(exception)
70
- #s << trace.join("\n") unless trace.empty?
71
- tabs s.join("\n"), 4
72
- end
73
-
74
- #
75
- def todo(test, exception)
76
- tabs "#{test}".ansi(:yellow)
77
- tabs "#{file_and_line(exception)}", 4
78
- end
79
-
80
- #
81
- def omit(test, exception)
82
- tabs "#{test}".ansi(:cyan)
83
- end
84
-
85
- #
86
- def end_case(tcase)
87
- @tab -= 2
88
- end
89
-
90
- #
91
- def end_suite(suite)
92
- puts
93
-
94
- #unless record[:omit].empty?
95
- # puts "\nOMITTED:\n\n"
96
- # puts record[:omit].map{ |u| u.to_s }.sort.join(' ')
97
- # puts
98
- #end
99
-
100
- #unless record[:todo].empty?
101
- # puts "\nPENDING:\n\n"
102
- # record[:pending].each do |test, exception|
103
- # puts "#{test}".tabto(4)
104
- # puts "#{file_and_line(exception)}".tabto(4)
105
- # puts
106
- # end
107
- #end
108
-
109
- #unless record[:fail].empty?
110
- # puts "\nFAILURES:\n\n"
111
- # record[:fail].reverse_each do |test, exception|
112
- #
113
- # s = []
114
- # s << "#{test}".ansi(:red)
115
- # s << "#{file_and_line(exception)}".ansi(:bold)
116
- # s << "#{exception}"
117
- # s << code_snippet(exception)
118
- # #puts " #{exception.backtrace[0]}"
119
- # puts s.join("\n").tabto(4)
120
- # end
121
- #end
122
-
123
- #unless record[:error].empty?
124
- # puts "\nERRORS:\n\n"
125
- # record[:error].reverse_each do |test, exception|
126
- # trace = clean_backtrace(exception)[1..-1]
127
- #
128
- # s = []
129
- # s << "#{test}".ansi(:red, :bold)
130
- # s << "#{exception.class} @ #{file_and_line(exception)}".ansi(:bold)
131
- # s << "#{exception}"
132
- # s << code_snippet(exception)
133
- # #s << trace.join("\n") unless trace.empty?
134
- # puts s.join("\n").tabto(4)
135
- # end
136
- #end
137
-
138
- puts
139
- puts timestamp
140
- puts
141
- puts tally
142
- end
143
-
144
- #
145
- def clock
146
- secs = Time.now - @start_time
147
- return "%0.5fs" % [secs.to_s]
148
- end
149
-
150
- #
151
- def timer
152
- secs = Time.now - @time
153
- @time = Time.now
154
- return "%0.5fs" % [secs.to_s]
155
- end
156
-
157
- #
158
- def timer_reset
159
- @time = Time.now
160
- end
161
-
162
- #
163
- def tabs(str, indent=0)
164
- if str
165
- puts(str.tabto(@tab + indent))
166
- else
167
- puts
168
- end
169
- end
170
-
171
- end
172
-
173
- end
174
-
175
-
176
-
177
-
178
- =begin
179
- if cover?
180
-
181
- unless uncovered_cases.empty?
182
- unc = uncovered_cases.map do |mod|
183
- yellow(mod.name)
184
- end.join(", ")
185
- puts "\nUncovered Cases: " + unc
186
- end
187
-
188
- unless uncovered_units.empty?
189
- unc = uncovered_units.map do |unit|
190
- yellow(unit)
191
- end.join(", ")
192
- puts "\nUncovered Units: " + unc
193
- end
194
-
195
- #unless uncovered.empty?
196
- # unc = uncovered.map do |unit|
197
- # yellow(unit)
198
- # end.join(", ")
199
- # puts "\nUncovered: " + unc
200
- #end
201
-
202
- unless undefined_units.empty?
203
- unc = undefined_units.map do |unit|
204
- yellow(unit)
205
- end.join(", ")
206
- puts "\nUndefined Units: " + unc
207
- end
208
-
209
- end
210
- =end
211
-
@@ -1,197 +0,0 @@
1
- # encoding: UTF-8
2
-
3
- require 'test/reporters/abstract'
4
-
5
- module Test::Reporters
6
-
7
- # Progess reporter gives test counter, precentage and times.
8
- #
9
- class Progress < Abstract
10
-
11
- #
12
- def begin_suite(suite)
13
- @tab = 0
14
- @total_count = total_count(suite)
15
- @start_time = Time.now
16
- @test_cache = {}
17
- @count = 0
18
-
19
- max = @total_count.to_s.size
20
-
21
- @layout_head = " %3u%% %#{max}s %#{max}s %8s %11s %1s %s"
22
- @layout = " %3u%% %#{max}u/%#{max}u %8s %11s %1s %s"
23
-
24
- timer_reset
25
- end
26
-
27
- #
28
- def begin_case(tc)
29
- #tabs tc.to_s.ansi(:bold)
30
- show_header(' ', tc.to_s)
31
- @tab += 2
32
- end
33
-
34
- #
35
- def begin_test(test)
36
- if test.respond_to?(:topic) && test.topic
37
- topic = test.topic.to_s.rstrip
38
- @test_cache[topic] ||= (
39
- show_header(' ', topic) unless topic.empty?
40
- true
41
- )
42
- end
43
- timer_reset
44
- end
45
-
46
- #
47
- def pass(test)
48
- show_line(".", test, :green)
49
- end
50
-
51
- #
52
- def fail(test, exception)
53
- show_line("F", test, :red)
54
- end
55
-
56
- #
57
- def error(test, exception)
58
- show_line("E", test, :red)
59
- end
60
-
61
- #
62
- def todo(test, exception)
63
- show_line("P", test, :yellow)
64
- end
65
-
66
- #
67
- def omit(test, exception)
68
- show_line("O", test, :cyan)
69
- end
70
-
71
- #
72
- def end_case(tcase)
73
- @tab -= 2
74
- end
75
-
76
- #
77
- def end_suite(suite)
78
- puts
79
-
80
- if runner.verbose?
81
- unless record[:omit].empty?
82
- puts "OMISSIONS:\n\n"
83
- record[:omit].reverse_each do |test, exception|
84
- s = []
85
- s << "#{test}".ansi(:bold)
86
- s << "#{file_and_line(exception)}"
87
- puts s.join("\n").tabto(4)
88
- puts code(exception).to_s.tabto(7)
89
- puts
90
- end
91
- end
92
- end
93
-
94
- unless record[:todo].empty?
95
- puts "PENDING:\n\n"
96
- record[:todo].reverse_each do |test, exception|
97
- s = []
98
- s << "#{test}".ansi(:bold)
99
- s << "#{file_and_line(exception)}"
100
- puts s.join("\n").tabto(4)
101
- puts code(exception).to_s.tabto(7)
102
- puts
103
- end
104
- end
105
-
106
- unless record[:fail].empty?
107
- puts "FAILURES:\n\n"
108
- record[:fail].reverse_each do |test, exception|
109
- s = []
110
- s << "#{test}".ansi(:bold)
111
- s << "#{exception}".ansi(:red)
112
- s << "#{file_and_line(exception)}"
113
- puts s.join("\n").tabto(4)
114
- puts code(exception).to_s.tabto(7)
115
- #puts " #{exception.backtrace[0]}"
116
- puts
117
- end
118
- end
119
-
120
- unless record[:error].empty?
121
- puts "ERRORS:\n\n"
122
- record[:error].reverse_each do |test, exception|
123
- trace = clean_backtrace(exception)[1..-1].map{ |bt| bt.sub(Dir.pwd+'/', '') }
124
- s = []
125
- s << "#{test}".ansi(:bold)
126
- s << "#{exception.class}".ansi(:red)
127
- s << "#{exception}".ansi(:red)
128
- s << "#{file_and_line(exception)}"
129
- puts s.join("\n").tabto(4)
130
- puts code(exception).to_s.tabto(7)
131
- puts trace.join("\n").tabto(4) unless trace.empty?
132
- puts
133
- end
134
- end
135
-
136
- puts
137
- puts timestamp
138
- puts
139
- puts tally
140
- end
141
-
142
- private
143
-
144
- #
145
- def show_header(status, text)
146
- text = text[0..text.index("\n")||-1]
147
- data = [prcnt, ' ', ' ', clock, timer, status, (' ' * @tab) + text.to_s]
148
- #puts (" " * @tab) + (@layout_head % data)
149
- puts (@layout_head % data).ansi(:bold)
150
- end
151
-
152
- #
153
- def show_line(status, test, color)
154
- @count += 1
155
- data = [prcnt, @count, @total_count, clock, timer, status, (' ' * @tab) + test.to_s]
156
- #puts (" " * @tab) + (@layout % data)
157
- puts (@layout % data).ansi(color)
158
- end
159
-
160
- #
161
- def prcnt
162
- ((@count.to_f / @total_count) * 100).round.to_s
163
- end
164
-
165
- #
166
- def clock
167
- secs = Time.now - @start_time
168
- m, s = secs.divmod(60)
169
- #s, ms = s.divmod(1)
170
- #ms = ms * 1000
171
- return "%u:%02u" % [m, s]
172
- end
173
-
174
- #
175
- def timer
176
- secs = Time.now - @time
177
- @time = Time.now
178
- return "%0.5fs" % secs
179
- end
180
-
181
- #
182
- def timer_reset
183
- @time = Time.now
184
- end
185
-
186
- #
187
- def tabs(str=nil)
188
- if str
189
- puts(str.tabto(@tab))
190
- else
191
- puts
192
- end
193
- end
194
-
195
- end
196
-
197
- end
@@ -1,145 +0,0 @@
1
- require 'test/reporters/abstract'
2
-
3
- module Test::Reporters
4
-
5
- # Summary Reporter
6
- class Summary < Abstract
7
-
8
- #
9
- SEP = ' '
10
-
11
- #
12
- def begin_suite(suite)
13
- timer_reset
14
- @tc = []
15
- end
16
-
17
- #
18
- def begin_case(tc)
19
- @tc << tc.to_s.split("\n").first
20
- end
21
-
22
- #
23
- #def report_instance(instance)
24
- # puts
25
- # puts instance #"== #{concern.description}\n\n" unless concern.description.empty?
26
- # #timer_reset
27
- #end
28
-
29
- #
30
- #def begin_test(test)
31
- # context = test.context
32
- # if @instance != context
33
- # @context = context
34
- # puts
35
- # puts " #{context}"
36
- # puts
37
- # end
38
- #end
39
-
40
- #
41
- def pass(test)
42
- print "PASS ".ansi(:green, :bold)
43
- e = @tc + [test.to_s]
44
- puts e.join(SEP).ansi(:green)
45
- end
46
-
47
- #
48
- def fail(test, exception)
49
- print "FAIL ".ansi(:red, :bold)
50
- e = @tc + [test.to_s]
51
- puts e.join(SEP).ansi(:red)
52
- end
53
-
54
- #
55
- def error(test, exception)
56
- print "ERROR ".ansi(:red, :bold)
57
- e = @tc + [test.to_s]
58
- puts e.join(SEP).ansi(:red)
59
- end
60
-
61
- #
62
- def todo(test, exception)
63
- print "TODO ".ansi(:yellow, :bold)
64
- e = @tc + [test.to_s]
65
- puts e.join(SEP).ansi(:yellow)
66
- end
67
-
68
- #
69
- def omit(test)
70
- print "OMIT ".ansi(:cyan, :bold)
71
- e = @tc + [test.to_s]
72
- puts e.join(SEP).ansi(:cyan)
73
- end
74
-
75
- #
76
- def skip_test(test)
77
- print "SKIP ".ansi(:blue, :bold)
78
- e = @tc + [test.to_s]
79
- puts e.join(SEP).ansi(:blue)
80
- end
81
-
82
- #
83
- def end_case(test_case)
84
- @tc.pop
85
- end
86
-
87
- #
88
- def end_suite(suite)
89
- puts
90
-
91
- unless record[:pending].empty?
92
- puts "PENDING:\n\n"
93
- record[:pending].each do |test, exception|
94
- puts " #{test}"
95
- puts " #{file_and_line(exception)}"
96
- puts
97
- end
98
- end
99
-
100
- unless record[:fail].empty?
101
- puts "FAILURES:\n\n"
102
- record[:fail].each do |test, exception|
103
- puts " #{test}"
104
- puts " #{file_and_line(exception)}"
105
- puts " #{exception}"
106
- puts code(exception).to_s
107
- #puts " #{exception.backtrace[0]}"
108
- puts
109
- end
110
- end
111
-
112
- unless record[:error].empty?
113
- puts "ERRORS:\n\n"
114
- record[:error].each do |test, exception|
115
- puts " #{test}"
116
- puts " #{file_and_line(exception)}"
117
- puts " #{exception}"
118
- puts code(exception).to_s
119
- #puts " #{exception.backtrace[0]}"
120
- puts
121
- end
122
- end
123
-
124
- puts timestamp
125
- puts
126
- puts tally
127
- end
128
-
129
- private
130
-
131
- #
132
- def timer
133
- secs = Time.now - @time
134
- @time = Time.now
135
- return "%0.5fs" % [secs.to_s]
136
- end
137
-
138
- #
139
- def timer_reset
140
- @time = Time.now
141
- end
142
-
143
- end
144
-
145
- end