1 # Colorising Bacon's output.
5 def color(text, color_val)
6 "#{color_val}#{text}\e[0m"
9 def green(text); color(text, "\e[32m"); end
10 def red(text); color(text, "\e[31m"); end
11 def magenta(text); color(text, "\e[35m"); end
12 def yellow(text); color(text, "\e[33m"); end
13 def blue(text); color(text, "\e[34m"); end
14 # colors but default to black on false
15 def green!(text,test); return green(text) if test; text; end
16 def red!(text,test); return red(text) if test; text; end
17 def magenta!(text,test); return magenta(text) if test; text; end
18 def yellow!(text,test); return yellow(text) if test; text; end
19 def blue!(text,test); return blue(text) if test; text; end
24 # Colorizes the SpecDox output
26 include OutputColorizer
27 def handle_specification(name)
32 def handle_requirement(description)
35 puts green("- #{description}")
37 case label = error[0..0]
39 puts red("- #{description} [#{error}]")
41 puts magenta("- #{description} [#{error}]")
46 specs, reqs, failed, errors = Counter.values_at(:specifications, :requirements, :failed, :errors)
48 msg = green("%d tests, %d assertions, %d failures, %d errors") unless failed > 0 || errors > 0
49 msg = "%d tests, %d assertions, #{red!("%d failures",failed>0)}, #{magenta!("%d errors",errors>0)}"
50 puts msg % Counter.values_at(:specifications, :requirements, :failed, :errors)
54 # Colorizes the TestUnit output
55 module CTestUnitOutput
56 include OutputColorizer
57 def handle_specification(name) yield end
58 def handle_requirement(description)
63 case label = error[0..0]
72 specs, reqs, failed, errors = Counter.values_at(:specifications, :requirements, :failed, :errors)
74 msg = green("%d tests, %d assertions, %d failures, %d errors") unless failed > 0 || errors > 0
75 msg = "%d tests, %d assertions, #{red!("%d failures",failed>0)}, #{magenta!("%d errors",errors>0)}"
76 puts msg % Counter.values_at(:specifications, :requirements, :failed, :errors)