redgreen 1.2
Sign up to get free protection for your applications and to get access to all the features.
- data/README +17 -0
- data/bin/rg +4 -0
- data/lib/redgreen.rb +61 -0
- data/test/test_fake.rb +33 -0
- metadata +51 -0
data/README
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
== redgreen
|
2
|
+
|
3
|
+
redgreen is an expanded version of Pat Eyler's RedGreen. Use it as you would
|
4
|
+
the ruby interpreter when running your unit test.
|
5
|
+
|
6
|
+
Like so:
|
7
|
+
|
8
|
+
$ rg test/test_units.rb
|
9
|
+
|
10
|
+
Relevant bloggings:
|
11
|
+
- http://errtheblog.com/post/15
|
12
|
+
- http://on-ruby.blogspot.com/2006/05/red-and-green-for-ruby.html
|
13
|
+
|
14
|
+
Enjoy.
|
15
|
+
|
16
|
+
>> Chris Wanstrath
|
17
|
+
=> chris[at]ozmm[dot]org
|
data/bin/rg
ADDED
data/lib/redgreen.rb
ADDED
@@ -0,0 +1,61 @@
|
|
1
|
+
require 'Win32/Console/ANSI' if PLATFORM =~ /win32/
|
2
|
+
require 'test/unit'
|
3
|
+
require 'test/unit/ui/console/testrunner'
|
4
|
+
|
5
|
+
# cute.
|
6
|
+
module Color
|
7
|
+
COLORS = { :clear => 0, :red => 31, :green => 32, :yellow => 33 }
|
8
|
+
def self.method_missing(color_name, *args)
|
9
|
+
color(color_name) + args.first + color(:clear)
|
10
|
+
end
|
11
|
+
def self.color(color)
|
12
|
+
"\e[#{COLORS[color.to_sym]}m"
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
class Test::Unit::UI::Console::RedGreenTestRunner < Test::Unit::UI::Console::TestRunner
|
17
|
+
def output_single(something, level=NORMAL)
|
18
|
+
return unless (output?(level))
|
19
|
+
something = case something
|
20
|
+
when '.' then Color.green('.')
|
21
|
+
when 'F' then Color.red("F")
|
22
|
+
when 'E' then Color.yellow("E")
|
23
|
+
else something
|
24
|
+
end
|
25
|
+
@io.write(something)
|
26
|
+
@io.flush
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
class Test::Unit::AutoRunner
|
31
|
+
alias :old_initialize :initialize
|
32
|
+
def initialize(standalone)
|
33
|
+
old_initialize(standalone)
|
34
|
+
@runner = proc do |r|
|
35
|
+
Test::Unit::UI::Console::RedGreenTestRunner
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
class Test::Unit::TestResult
|
41
|
+
alias :old_to_s :to_s
|
42
|
+
def to_s
|
43
|
+
if old_to_s =~ /\d+ tests, \d+ assertions, (\d+) failures, (\d+) errors/
|
44
|
+
Color.send($1.to_i != 0 || $2.to_i != 0 ? :red : :green, $&)
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
class Test::Unit::Failure
|
50
|
+
alias :old_long_display :long_display
|
51
|
+
def long_display
|
52
|
+
old_long_display.sub('Failure', Color.red('Failure'))
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
class Test::Unit::Error
|
57
|
+
alias :old_long_display :long_display
|
58
|
+
def long_display
|
59
|
+
old_long_display.sub('Error', Color.yellow('Error'))
|
60
|
+
end
|
61
|
+
end
|
data/test/test_fake.rb
ADDED
@@ -0,0 +1,33 @@
|
|
1
|
+
require 'test/unit'
|
2
|
+
|
3
|
+
class TestFake < Test::Unit::TestCase
|
4
|
+
|
5
|
+
def test_true
|
6
|
+
assert true
|
7
|
+
end
|
8
|
+
|
9
|
+
def test_fail
|
10
|
+
assert false
|
11
|
+
end
|
12
|
+
|
13
|
+
def test_true_2
|
14
|
+
assert true
|
15
|
+
end
|
16
|
+
|
17
|
+
def test_true_3
|
18
|
+
assert true
|
19
|
+
end
|
20
|
+
|
21
|
+
def test_error
|
22
|
+
assert method_dont_exist
|
23
|
+
end
|
24
|
+
|
25
|
+
def test_true_4
|
26
|
+
assert true
|
27
|
+
end
|
28
|
+
|
29
|
+
def test_fail_again
|
30
|
+
assert false
|
31
|
+
end
|
32
|
+
|
33
|
+
end
|
metadata
ADDED
@@ -0,0 +1,51 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
rubygems_version: 0.9.0
|
3
|
+
specification_version: 1
|
4
|
+
name: redgreen
|
5
|
+
version: !ruby/object:Gem::Version
|
6
|
+
version: "1.2"
|
7
|
+
date: 2006-11-09 00:00:00 -08:00
|
8
|
+
summary: redgreen is an expanded version of Pat Eyler's RedGreen
|
9
|
+
require_paths:
|
10
|
+
- lib
|
11
|
+
email:
|
12
|
+
- chris@ozmm.org
|
13
|
+
- pat.eyler@gmail.com
|
14
|
+
homepage: http://errtheblog.com/post/15, http://on-ruby.blogspot.com/
|
15
|
+
rubyforge_project:
|
16
|
+
description: redgreen is an expanded version of Pat Eyler's RedGreen. It will install a 'rg' file in your bin directory. Use that as you would use 'ruby' when running a test.
|
17
|
+
autorequire: redgreen
|
18
|
+
default_executable:
|
19
|
+
bindir: bin
|
20
|
+
has_rdoc: false
|
21
|
+
required_ruby_version: !ruby/object:Gem::Version::Requirement
|
22
|
+
requirements:
|
23
|
+
- - ">"
|
24
|
+
- !ruby/object:Gem::Version
|
25
|
+
version: 0.0.0
|
26
|
+
version:
|
27
|
+
platform: ruby
|
28
|
+
signing_key:
|
29
|
+
cert_chain:
|
30
|
+
post_install_message:
|
31
|
+
authors:
|
32
|
+
- Chris Wanstrath and Pat Eyler
|
33
|
+
files:
|
34
|
+
- README
|
35
|
+
- bin/rg
|
36
|
+
- lib/redgreen.rb
|
37
|
+
- test/test_fake.rb
|
38
|
+
test_files: []
|
39
|
+
|
40
|
+
rdoc_options: []
|
41
|
+
|
42
|
+
extra_rdoc_files: []
|
43
|
+
|
44
|
+
executables:
|
45
|
+
- rg
|
46
|
+
extensions: []
|
47
|
+
|
48
|
+
requirements: []
|
49
|
+
|
50
|
+
dependencies: []
|
51
|
+
|