minitest-reporters 1.0.20 → 1.1.0.beta1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 57eec0a8ad1eb8c9b6b8075626b17ebea7d8c08c
4
- data.tar.gz: 4b0294b03a67e4ef5a2e71d7bf65da1908dd7982
3
+ metadata.gz: 453fd9a440eec05f750685b983f9ca37a4297462
4
+ data.tar.gz: f72150a110db58c7ce015395c5a17d20f7c7d4c2
5
5
  SHA512:
6
- metadata.gz: b1720be73c2f95f588b7a8414d58b7ca1ddc8b15a2d2749e27d5dcf5da5f760b20a65219bd347eac435a4fb4eba0038f1ab5fd35b9b73d665bdf7811e0cd9ef6
7
- data.tar.gz: c2076ff35c1d384d240d615445f97c5e450700a0c8e799d0a905cdd6297c2788bbb15327b505a2690cdc8fbf99cceb862f981f474a161ed8ef928f1ac93ba7b8
6
+ metadata.gz: c62c7392c5f919ca42c1c99605c3b080dc83c3864e779e88706205706a7eaec50b57852dada9bee2f8b82a03e40babccb3ec26d488bb6f88b7bc00f849ae1724
7
+ data.tar.gz: 947d6aad22baf0d49c5569672dc293ba6a84a2f705164c58270656651910bfc815f19421e25e056952d8aebb9552a04edb6134d12b23a2f5302c36e8f7d5ab24
@@ -1,33 +1,69 @@
1
1
  module Minitest
2
- class << self
3
- def plugin_minitest_reporter_init(options)
4
- if defined?(Minitest::Reporters) && Minitest::Reporters.reporters
5
- reporter.reporters = Minitest::Reporters.reporters + guard_reporter
6
- reporter.reporters.each do |reporter|
7
- reporter.io = options[:io]
8
- reporter.add_defaults(options.merge(:total_count => total_count(options))) if reporter.respond_to? :add_defaults
2
+ module Reporters
3
+ class DelegateReporter
4
+ def initialize(reporters, options = {})
5
+ @reporters = reporters
6
+ @options = options
7
+ @all_reporters = nil
8
+ end
9
+
10
+ def start
11
+ all_reporters.each(&:start)
12
+ end
13
+
14
+ def record(result)
15
+ all_reporters.each do |reporter|
16
+ reporter.record result
9
17
  end
10
18
  end
11
- end
12
19
 
13
- private
20
+ def report
21
+ all_reporters.each(&:report)
22
+ end
14
23
 
15
- # stolen from minitest self.run
16
- def total_count(options)
17
- filter = options[:filter] || '/./'
18
- filter = Regexp.new $1 if filter =~ /\/(.*)\//
24
+ def passed?
25
+ all_reporters.all?(&:passed?)
26
+ end
19
27
 
20
- Minitest::Runnable.runnables.map(&:runnable_methods).flatten.find_all { |m|
21
- filter === m || filter === "#{self}##{m}"
22
- }.size
23
- end
28
+ private
29
+ # stolen from minitest self.run
30
+ def total_count(options)
31
+ filter = options[:filter] || '/./'
32
+ filter = Regexp.new $1 if filter =~ /\/(.*)\//
24
33
 
25
- def guard_reporter
26
- guards = Array(reporter.reporters.detect { |r| r.class.name == "Guard::Minitest::Reporter" })
27
- return guards unless ENV['RM_INFO']
34
+ Minitest::Runnable.runnables.map(&:runnable_methods).flatten.find_all { |m|
35
+ filter === m || filter === "#{self}##{m}"
36
+ }.size
37
+ end
28
38
 
29
- warn 'RM_INFO is set thus guard reporter has been dropped' unless guards.empty?
30
- []
39
+ def guard_reporter(reporters)
40
+ guards = Array(reporters.detect { |r| r.class.name == "Guard::Minitest::Reporter" })
41
+ return guards unless ENV['RM_INFO']
42
+
43
+ warn 'RM_INFO is set thus guard reporter has been dropped' unless guards.empty?
44
+ []
45
+ end
46
+
47
+ def all_reporters
48
+ if @all_reporters.nil?
49
+ if Minitest::Reporters.reporters
50
+ @all_reporters = Minitest::Reporters.reporters + guard_reporter(@reporters)
51
+ @all_reporters.each do |reporter|
52
+ reporter.io = @options[:io]
53
+ reporter.add_defaults(@options.merge(:total_count => total_count(@options))) if reporter.respond_to? :add_defaults
54
+ end
55
+ else
56
+ @all_reporters = @reporters
57
+ end
58
+ end
59
+ @all_reporters
60
+ end
61
+ end
62
+ end
63
+
64
+ class << self
65
+ def plugin_minitest_reporter_init(options)
66
+ reporter.reporters = [Minitest::Reporters::DelegateReporter.new(reporter.reporters, options)]
31
67
  end
32
68
  end
33
69
  end
@@ -1,5 +1,5 @@
1
1
  module Minitest
2
2
  module Reporters
3
- VERSION = '1.0.20'
3
+ VERSION = '1.1.0.beta1'
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: minitest-reporters
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.20
4
+ version: 1.1.0.beta1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alexander Kern
@@ -155,9 +155,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
155
155
  version: 1.9.3
156
156
  required_rubygems_version: !ruby/object:Gem::Requirement
157
157
  requirements:
158
- - - ">="
158
+ - - ">"
159
159
  - !ruby/object:Gem::Version
160
- version: '0'
160
+ version: 1.3.1
161
161
  requirements: []
162
162
  rubyforge_project: minitest-reporters
163
163
  rubygems_version: 2.4.5