shoulda-addons 0.1.1 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,3 +1,44 @@
1
+ module ShouldaAddons
2
+ module MiniTest
3
+ module Benchmark
4
+ def self.included(base)
5
+ base.class_eval do
6
+ alias :run_before_benchmark :run
7
+
8
+ def run args = []
9
+ result = run_before_benchmark
10
+ puts Shoulda.runtimes.collect{|name, total| [name, total]}.
11
+ sort{|runtime1, runtime2| runtime2[1] <=> runtime1[1]}[0...10].
12
+ collect{|name, total| "#{"%0.2f" % total} s: #{name.to_s.gsub(/test: /, "")}"}.<<("").join("\n")
13
+ result
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
20
+
21
+ if defined?(MiniTest::Unit)
22
+ module ::MiniTest
23
+ class Unit
24
+ include ShouldaAddons::MiniTest::Benchmark
25
+ end
26
+ end
27
+ else
28
+ module Test
29
+ module Unit
30
+ class TestResult
31
+ alias :to_old_s :to_s
32
+ def to_s
33
+ Shoulda.runtimes.collect{|name, total| [name, total]}.
34
+ sort{|runtime1, runtime2| runtime2[1] <=> runtime1[1]}[0...10].
35
+ collect{|name, total| "#{"%0.2f" % total} s: #{name.to_s.gsub(/test: /, "")}"}.<<("").<<(to_old_s).join("\n")
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
41
+
1
42
  module Test
2
43
  module Unit
3
44
  class TestCase
@@ -17,17 +58,6 @@ module Test
17
58
  end
18
59
  @ignoring_added_methods = false
19
60
  end
20
-
21
- end
22
-
23
- class TestResult
24
- alias :to_old_s :to_s
25
- def to_s
26
- puts Shoulda.runtimes.collect {|name, total| total}.inject(0) {|num, sum| num + sum}
27
- Shoulda.runtimes.collect{|name, total| [name, total]}.
28
- sort{|runtime1, runtime2| runtime2[1] <=> runtime1[1]}[0...10].
29
- collect{|name, total| "#{"%0.2f" % total} s: #{name.to_s.gsub(/test: /, "")}"}.<<("").<<(to_old_s).join("\n")
30
- end
31
61
  end
32
62
  end
33
63
  end
@@ -1,6 +1,3 @@
1
- require 'test/unit'
2
- require 'test/unit/ui/console/testrunner'
3
-
4
1
  module Color
5
2
  COLORS = { :clear => 0, :red => 31, :green => 32, :yellow => 33 }
6
3
  def self.method_missing(color_name, *args)
@@ -11,30 +8,51 @@ module Color
11
8
  end
12
9
  end
13
10
 
14
- module Test
15
- module Unit
16
- module UI
17
- module Console
18
- class TestRunner
19
- def test_finished(name)
20
- if is_fault?(name)
21
- puts Color.red(name.gsub(/test: /, ""))
22
- else
23
- puts Color.green(name.to_s.gsub(/test: /, ""))
24
- end
11
+ if defined?(MiniTest::Unit)
12
+ module MiniTest
13
+ class Unit
14
+ class TestCase
15
+ alias_method :run_before_shoulda_runner, :run
16
+
17
+ def run runner
18
+ result = run_before_shoulda_runner(runner)
19
+ if result == '.'
20
+ Color.green(name.gsub(/test: /, "")) + "\n"
21
+ else
22
+ Color.red(name.gsub(/test: /, "")) + "\n"
25
23
  end
24
+ end
25
+ end
26
+ end
27
+ end
28
+ else
29
+ require 'test/unit/ui/console/testrunner'
30
+
31
+ module Test
32
+ module Unit
33
+ module UI
34
+ module Console
35
+ class TestRunner
36
+ def test_finished(name)
37
+ if is_fault?(name)
38
+ puts Color.red(name.gsub(/test: /, ""))
39
+ else
40
+ puts Color.green(name.to_s.gsub(/test: /, ""))
41
+ end
42
+ end
26
43
 
27
- def is_fault?(name)
28
- !_faults_by_name[name].nil?
29
- end
44
+ def is_fault?(name)
45
+ !_faults_by_name[name].nil?
46
+ end
30
47
 
31
- def _faults_by_name
32
- @_faults_by_name ||= {}
33
- end
48
+ def _faults_by_name
49
+ @_faults_by_name ||= {}
50
+ end
34
51
 
35
- def add_fault(fault)
36
- @faults << fault
37
- _faults_by_name[fault.test_name] = fault
52
+ def add_fault(fault)
53
+ @faults << fault
54
+ _faults_by_name[fault.test_name] = fault
55
+ end
38
56
  end
39
57
  end
40
58
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: shoulda-addons
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mathias Meyer
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-10-17 00:00:00 +02:00
12
+ date: 2009-10-18 00:00:00 +02:00
13
13
  default_executable:
14
14
  dependencies: []
15
15