disinnovate-greeneggs 0.0.7 → 0.0.8

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.
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