disinnovate-greeneggs 0.0.7 → 0.0.8

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.7
1
+ 0.0.8
@@ -2,11 +2,11 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = %q{greeneggs}
5
- s.version = "0.0.7"
5
+ s.version = "0.0.8"
6
6
 
7
7
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
8
8
  s.authors = ["Michael Fleet"]
9
- s.date = %q{2009-06-10}
9
+ s.date = %q{2009-06-14}
10
10
  s.email = %q{disinnovate@gmail.com}
11
11
  s.extra_rdoc_files = [
12
12
  "LICENSE",
@@ -9,57 +9,51 @@
9
9
 
10
10
  module Bacon
11
11
  class << self
12
- COLORS = {
13
- 'F' => "\e[1m\e[31m", # FAILED: red
14
- :fail => "\e[1m\e[31m", # FAILED: red
15
- 'E' => "\e[1m\e[35m", # ERROR: purple
16
- 'M' => "\e[1m\e[33m", # MISSING: yellow
17
- :ok => "\e[1m\e[32m" # PASSED/OK: green
18
- }
12
+ # ANSI terminal colors
13
+ COLORS = { 'F' => 31, 'E' => 35, 'M' => 33, :ok => 32 }
19
14
 
20
- alias_method :output_handle_requirement, :handle_requirement
21
- def handle_requirement(description)
22
- print(colorize_requirement { output_handle_requirement(description) { yield } })
23
- end
24
-
25
- alias_method :output_handle_summary, :handle_summary
26
- def handle_summary
27
- puts(colorize_summary { output_handle_summary })
28
- end
15
+ def colorize_string(text, color); "\e[1m\e[#{COLORS[color]}m#{text}\e[0m"; end
29
16
 
30
- private
31
- def capture_stdout
32
- s = StringIO.new
33
- oldstdout = $stdout
34
- $stdout = s
35
- yield
36
- s.string
37
- ensure
38
- $stdout = oldstdout
39
- end
40
-
41
- def colorize_requirement
42
- out = capture_stdout { yield }
17
+ def colorize_result(out)
18
+ return out if PLATFORM =~ /win32/
43
19
 
44
- color = case out
20
+ requirement_color = case out
45
21
  when /(FAILED|ERROR|MISSING)/ then $1[0..0] # SpecDox, Tap, Knock
46
22
  when /\A([FME])\Z/ then $1 # TestUnit
47
23
  else :ok
48
24
  end
49
25
 
50
- out.sub(/^(.|(ok|not ok|-) .+)$/, colorize('\0', color))
51
- end
52
-
53
- def colorize_summary
54
- line = capture_stdout { yield }
26
+ summary_color = out.match(/0 failures, 0 errors/).nil? ? 'F' : :ok
55
27
 
56
- color = line.match(/0 failures, 0 errors/).nil? ? :fail : :ok
57
- line.sub(/^.+\d+ failures, \d+ errors$/, colorize('\0', color))
28
+ out.sub(/^(.|(ok|not ok|-) .+)$/,
29
+ colorize_string('\0', requirement_color)).sub(/^.+\d+ failures, \d+ errors$/,
30
+ colorize_string('\0', summary_color))
58
31
  end
59
32
 
60
- def colorize(text, color)
61
- "#{COLORS[color]}#{text}\e[0m"
33
+ def puts(*args)
34
+ args.map! { |arg| arg.instance_of?(String) ? colorize_result(arg) : arg }
35
+ super(args)
62
36
  end
63
37
 
38
+ def print(*args)
39
+ args.map! { |arg| arg.instance_of?(String) ? colorize_result(arg) : arg }
40
+ super(args)
41
+ end
64
42
  end
43
+
44
+ module SpecDoxOutput
45
+ def handle_requirement(description)
46
+ error = yield
47
+ puts "- #{description}" << (error.empty? ? "" : " [#{error}]")
48
+ end
49
+ end
50
+
51
+ module TestUnitOutput
52
+ def handle_summary
53
+ puts "\n"
54
+ puts ErrorLog if Backtraces
55
+ puts "%d tests, %d assertions, %d failures, %d errors" %
56
+ Counter.values_at(:specifications, :requirements, :failed, :errors)
57
+ end
58
+ end
65
59
  end
@@ -1,18 +1,18 @@
1
- require 'spec_helper'
1
+ require File.join(File.dirname(__FILE__), 'spec_helper')
2
2
 
3
- describe 'Greeneggs' do
4
- it 'should display passing specs in green' do
3
+ describe 'GreenEggs terminal output' do
4
+ it 'should display this passing specs in green' do
5
5
  true.should.eql? true
6
6
  end
7
7
 
8
- it 'should display empty specs in yellow' do
8
+ it 'should display this empty spec in yellow' do
9
9
  end
10
10
 
11
- it 'should display err-raising specs in purple/magenta' do
11
+ it 'should display this error-raising spec in purple/magenta' do
12
12
  raise 'this is a dummy error'
13
13
  end
14
14
 
15
- it 'should display failed specs in red' do
15
+ it 'should display this failed spec in red' do
16
16
  should.flunk 'this is a dummy failure'
17
17
  end
18
18
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: disinnovate-greeneggs
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.7
4
+ version: 0.0.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michael Fleet
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-06-10 00:00:00 -07:00
12
+ date: 2009-06-14 00:00:00 -07:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency