shoulda-addons 0.2.2 → 0.2.3
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/shoulda_benchmark.rb +8 -1
- data/lib/shoulda_list_runner.rb +19 -12
- data/test/shoulda_benchmark_minitest_test.rb +27 -0
- data/test/shoulda_benchmark_test_unit_1x_test.rb +22 -0
- data/test/shoulda_benchmark_test_unit_2x_test.rb +22 -0
- data/test/shoulda_list_runner_minitest_test.rb +23 -0
- data/test/shoulda_list_runner_test_unit_1x_test.rb +18 -0
- data/test/shoulda_list_runner_test_unit_2x_test.rb +18 -0
- metadata +29 -9
data/lib/shoulda_benchmark.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
require 'benchmark'
|
2
|
+
|
1
3
|
module ShouldaAddons
|
2
4
|
module MiniTest
|
3
5
|
module Benchmark
|
@@ -47,6 +49,11 @@ module Test
|
|
47
49
|
def self.method_added(name)
|
48
50
|
return if @ignoring_added_methods
|
49
51
|
|
52
|
+
test_name = if respond_to?(:name)
|
53
|
+
name
|
54
|
+
elsif respond_to?(:__name__)
|
55
|
+
__name__
|
56
|
+
end
|
50
57
|
@__instrumented_methods ||= {}
|
51
58
|
return unless name.to_s.match(/^test:/) || @__instrumented_methods[name]
|
52
59
|
@ignoring_added_methods = true
|
@@ -56,7 +63,7 @@ module Test
|
|
56
63
|
runtime = Benchmark.realtime do
|
57
64
|
send(" #{name}")
|
58
65
|
end
|
59
|
-
Shoulda.runtimes[
|
66
|
+
Shoulda.runtimes[test_name] = runtime
|
60
67
|
end
|
61
68
|
@ignoring_added_methods = false
|
62
69
|
end
|
data/lib/shoulda_list_runner.rb
CHANGED
@@ -1,10 +1,12 @@
|
|
1
|
-
module
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
1
|
+
module ShouldaAddons
|
2
|
+
module Color
|
3
|
+
@@colors = { :clear => 0, :red => 31, :green => 32, :yellow => 33 }
|
4
|
+
def self.method_missing(color_name, *args)
|
5
|
+
color(color_name) + args.first + color(:clear)
|
6
|
+
end
|
7
|
+
def self.color(color)
|
8
|
+
"\e[#{@@colors[color.to_sym]}m"
|
9
|
+
end
|
8
10
|
end
|
9
11
|
end
|
10
12
|
|
@@ -15,11 +17,16 @@ if defined?(MiniTest::Unit)
|
|
15
17
|
alias_method :run_before_shoulda_runner, :run
|
16
18
|
|
17
19
|
def run runner
|
20
|
+
test_name = if respond_to?(:name)
|
21
|
+
name
|
22
|
+
elsif respond_to?(:__name__)
|
23
|
+
__name__
|
24
|
+
end
|
18
25
|
result = run_before_shoulda_runner(runner)
|
19
26
|
if result == '.'
|
20
|
-
Color.green(
|
27
|
+
ShouldaAddons::Color.green(test_name.gsub(/test: /, "")) + "\n"
|
21
28
|
else
|
22
|
-
Color.red(
|
29
|
+
ShouldaAddons::Color.red(test_name.gsub(/test: /, "")) + "\n"
|
23
30
|
end
|
24
31
|
end
|
25
32
|
end
|
@@ -42,9 +49,9 @@ else
|
|
42
49
|
end
|
43
50
|
else
|
44
51
|
if is_fault?(name)
|
45
|
-
output(Color.red(name.gsub(/test: /, "")))
|
52
|
+
output(ShouldaAddons::Color.red(name.gsub(/test: /, "")))
|
46
53
|
else
|
47
|
-
output(Color.green(name.to_s.gsub(/test: /, "")))
|
54
|
+
output(ShouldaAddons::Color.green(name.to_s.gsub(/test: /, "")))
|
48
55
|
end
|
49
56
|
end
|
50
57
|
end
|
@@ -66,4 +73,4 @@ else
|
|
66
73
|
end
|
67
74
|
end
|
68
75
|
end
|
69
|
-
end
|
76
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
unless RUBY_VERSION >= '1.9'
|
2
|
+
puts 'Meant to run on Ruby 1.9'
|
3
|
+
exit
|
4
|
+
end
|
5
|
+
|
6
|
+
puts 'Running test for Minitest on Ruby 1.9'
|
7
|
+
|
8
|
+
require 'rubygems'
|
9
|
+
require 'test/unit'
|
10
|
+
require 'shoulda'
|
11
|
+
require File.dirname(__FILE__) + '/../lib/shoulda_benchmark'
|
12
|
+
|
13
|
+
class ShouldaBenchmarkMinitestTest < Test::Unit::TestCase
|
14
|
+
context 'Vrooom, vroom' do
|
15
|
+
should 'be slow' do
|
16
|
+
sleep 0.2
|
17
|
+
end
|
18
|
+
|
19
|
+
should 'be faster' do
|
20
|
+
sleep 0.1
|
21
|
+
end
|
22
|
+
|
23
|
+
should 'be wicked fast' do
|
24
|
+
# first!
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
puts 'Running test for Test::Unit 1.x'
|
2
|
+
|
3
|
+
require 'test/unit'
|
4
|
+
require 'rubygems'
|
5
|
+
require 'shoulda'
|
6
|
+
require File.dirname(__FILE__) + '/../lib/shoulda_benchmark'
|
7
|
+
|
8
|
+
class ShouldaBenchmarkTestUnit1xTest < Test::Unit::TestCase
|
9
|
+
context 'Vrooom, vroom' do
|
10
|
+
should 'be slow' do
|
11
|
+
sleep 0.2
|
12
|
+
end
|
13
|
+
|
14
|
+
should 'be faster' do
|
15
|
+
sleep 0.1
|
16
|
+
end
|
17
|
+
|
18
|
+
should 'be wicked fast' do
|
19
|
+
# first!
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
puts 'Running test for Test::Unit 2.x'
|
2
|
+
|
3
|
+
require 'rubygems'
|
4
|
+
gem 'test-unit'
|
5
|
+
require 'shoulda'
|
6
|
+
require File.dirname(__FILE__) + '/../lib/shoulda_benchmark'
|
7
|
+
|
8
|
+
class ShouldaBenchmarkTestUnit2xTest < Test::Unit::TestCase
|
9
|
+
context 'Vrooom, vroom' do
|
10
|
+
should 'be slow' do
|
11
|
+
sleep 0.2
|
12
|
+
end
|
13
|
+
|
14
|
+
should 'be faster' do
|
15
|
+
sleep 0.1
|
16
|
+
end
|
17
|
+
|
18
|
+
should 'be wicked fast' do
|
19
|
+
# first!
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
unless RUBY_VERSION >= '1.9'
|
2
|
+
puts 'Meant to run on Ruby 1.9'
|
3
|
+
exit
|
4
|
+
end
|
5
|
+
|
6
|
+
puts 'Running test for Minitest'
|
7
|
+
|
8
|
+
require 'test/unit'
|
9
|
+
require 'rubygems'
|
10
|
+
require File.dirname(__FILE__) + '/../lib/shoulda_list_runner'
|
11
|
+
require 'shoulda'
|
12
|
+
|
13
|
+
class ShouldaBenchmarkTestUnit1xTest < Test::Unit::TestCase
|
14
|
+
context 'I' do
|
15
|
+
should 'be green' do
|
16
|
+
assert true
|
17
|
+
end
|
18
|
+
|
19
|
+
should 'be red' do
|
20
|
+
assert false
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
puts 'Running test for Test::Unit 1.x'
|
2
|
+
|
3
|
+
require 'test/unit'
|
4
|
+
require 'rubygems'
|
5
|
+
require 'shoulda'
|
6
|
+
require File.dirname(__FILE__) + '/../lib/shoulda_list_runner'
|
7
|
+
|
8
|
+
class ShouldaBenchmarkTestUnit1xTest < Test::Unit::TestCase
|
9
|
+
context 'Vrooom, vroom' do
|
10
|
+
should 'be green' do
|
11
|
+
assert true
|
12
|
+
end
|
13
|
+
|
14
|
+
should 'be red' do
|
15
|
+
assert false
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
puts 'Running test for Test::Unit 2.x'
|
2
|
+
|
3
|
+
require 'rubygems'
|
4
|
+
gem 'test-unit'
|
5
|
+
require File.dirname(__FILE__) + '/../lib/shoulda_list_runner'
|
6
|
+
require 'shoulda'
|
7
|
+
|
8
|
+
class ShouldaBenchmarkTestUnit1xTest < Test::Unit::TestCase
|
9
|
+
context 'I' do
|
10
|
+
should 'be green' do
|
11
|
+
assert true
|
12
|
+
end
|
13
|
+
|
14
|
+
should 'be red' do
|
15
|
+
assert false
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,12 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: shoulda-addons
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
4
|
+
prerelease: false
|
5
|
+
segments:
|
6
|
+
- 0
|
7
|
+
- 2
|
8
|
+
- 3
|
9
|
+
version: 0.2.3
|
5
10
|
platform: ruby
|
6
11
|
authors:
|
7
12
|
- Mathias Meyer
|
@@ -9,7 +14,7 @@ autorequire:
|
|
9
14
|
bindir: bin
|
10
15
|
cert_chain: []
|
11
16
|
|
12
|
-
date:
|
17
|
+
date: 2010-11-28 00:00:00 +01:00
|
13
18
|
default_executable:
|
14
19
|
dependencies: []
|
15
20
|
|
@@ -26,33 +31,48 @@ files:
|
|
26
31
|
- lib/shoulda_addons.rb
|
27
32
|
- lib/shoulda_benchmark.rb
|
28
33
|
- lib/shoulda_list_runner.rb
|
34
|
+
- test/shoulda_benchmark_minitest_test.rb
|
35
|
+
- test/shoulda_benchmark_test_unit_1x_test.rb
|
36
|
+
- test/shoulda_benchmark_test_unit_2x_test.rb
|
37
|
+
- test/shoulda_list_runner_minitest_test.rb
|
38
|
+
- test/shoulda_list_runner_test_unit_1x_test.rb
|
39
|
+
- test/shoulda_list_runner_test_unit_2x_test.rb
|
29
40
|
has_rdoc: true
|
30
41
|
homepage: http://github.com/mattmatt/shoulda-addons
|
31
42
|
licenses: []
|
32
43
|
|
33
44
|
post_install_message:
|
34
|
-
rdoc_options:
|
35
|
-
|
45
|
+
rdoc_options: []
|
46
|
+
|
36
47
|
require_paths:
|
37
48
|
- lib
|
38
49
|
required_ruby_version: !ruby/object:Gem::Requirement
|
50
|
+
none: false
|
39
51
|
requirements:
|
40
52
|
- - ">="
|
41
53
|
- !ruby/object:Gem::Version
|
54
|
+
segments:
|
55
|
+
- 0
|
42
56
|
version: "0"
|
43
|
-
version:
|
44
57
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
58
|
+
none: false
|
45
59
|
requirements:
|
46
60
|
- - ">="
|
47
61
|
- !ruby/object:Gem::Version
|
62
|
+
segments:
|
63
|
+
- 0
|
48
64
|
version: "0"
|
49
|
-
version:
|
50
65
|
requirements: []
|
51
66
|
|
52
67
|
rubyforge_project:
|
53
|
-
rubygems_version: 1.3.
|
68
|
+
rubygems_version: 1.3.7
|
54
69
|
signing_key:
|
55
70
|
specification_version: 3
|
56
71
|
summary: Neat addons for Shoulda, because Shoulda is neat.
|
57
|
-
test_files:
|
58
|
-
|
72
|
+
test_files:
|
73
|
+
- test/shoulda_benchmark_minitest_test.rb
|
74
|
+
- test/shoulda_benchmark_test_unit_1x_test.rb
|
75
|
+
- test/shoulda_benchmark_test_unit_2x_test.rb
|
76
|
+
- test/shoulda_list_runner_minitest_test.rb
|
77
|
+
- test/shoulda_list_runner_test_unit_1x_test.rb
|
78
|
+
- test/shoulda_list_runner_test_unit_2x_test.rb
|