guard-minitest 0.3.0 → 0.4.0.rc1

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/README.rdoc CHANGED
@@ -1,7 +1,7 @@
1
1
  = Guard::Minitest
2
2
 
3
3
  Minitest guard allows to automatically & intelligently launch tests with
4
- {minitest framework}[http://http://github.com/seattlerb/minitest] when files are modified.
4
+ {minitest framework}[http://github.com/seattlerb/minitest] when files are modified.
5
5
 
6
6
  - Compatible with MiniTest 1.7.x
7
7
  - Tested on Ruby 1.8.6, 1.8.7 & 1.9.2.
@@ -8,8 +8,22 @@ module Guard
8
8
  autoload :Runner, 'guard/minitest/runner'
9
9
  autoload :Inspector, 'guard/minitest/inspector'
10
10
 
11
- def start
11
+ def initialize(watchers = [], options = {})
12
+ super
13
+
12
14
  @runner ||= Runner.new(options)
15
+ end
16
+
17
+ def start
18
+ UI.info "Guard running MiniTest #{@runner.version}"
19
+ true
20
+ end
21
+
22
+ def stop
23
+ true
24
+ end
25
+
26
+ def reload
13
27
  true
14
28
  end
15
29
 
@@ -12,11 +12,18 @@ module Guard
12
12
  end
13
13
 
14
14
  def initialize(options = {})
15
+ minitest_version = begin
16
+ MiniTest::Unit.const_defined?(:VERSION) && MiniTest::Unit::VERSION =~ /^1/ ? 1 : 2
17
+ rescue
18
+ 2
19
+ end
20
+
15
21
  @options = {
16
- :verbose => false,
17
- :notify => true,
18
- :bundler => File.exist?("#{Dir.pwd}/Gemfile"),
19
- :rubygems => false
22
+ :verbose => false,
23
+ :notify => true,
24
+ :bundler => File.exist?("#{Dir.pwd}/Gemfile"),
25
+ :rubygems => false,
26
+ :version => minitest_version
20
27
  }.merge(options)
21
28
  end
22
29
 
@@ -46,6 +53,10 @@ module Guard
46
53
  !bundler? && @options[:rubygems]
47
54
  end
48
55
 
56
+ def version
57
+ @options[:version].to_i
58
+ end
59
+
49
60
  private
50
61
 
51
62
  def minitest_command(paths)
@@ -57,7 +68,11 @@ module Guard
57
68
  paths.each do |path|
58
69
  cmd_parts << "-r #{path}"
59
70
  end
60
- cmd_parts << "-r #{File.expand_path('../runners/default_runner.rb', __FILE__)}"
71
+ if version == 1
72
+ cmd_parts << "-r #{File.expand_path('../runners/version_1_runner.rb', __FILE__)}"
73
+ else
74
+ cmd_parts << "-r #{File.expand_path('../runners/version_2_runner.rb', __FILE__)}"
75
+ end
61
76
  if notify?
62
77
  cmd_parts << '-e \'GUARD_NOTIFY=true; MiniTest::Unit.autorun\''
63
78
  else
@@ -0,0 +1,17 @@
1
+ # encoding: utf-8
2
+ require 'minitest/unit'
3
+ require 'guard/minitest/notifier'
4
+
5
+ module MiniTest
6
+ class MiniTest::Unit
7
+
8
+ alias_method :run_without_guard, :run
9
+ def run(args = [])
10
+ start = Time.now
11
+ run_without_guard(args)
12
+ duration = Time.now - start
13
+ Guard::MinitestNotifier.notify(test_count, assertion_count, failures, errors, skips, duration) if GUARD_NOTIFY
14
+ end
15
+
16
+ end
17
+ end
@@ -0,0 +1,22 @@
1
+ # encoding: utf-8
2
+ require 'minitest/unit'
3
+ require 'guard/minitest/notifier'
4
+
5
+ module MiniTest
6
+ class MiniTest::Unit
7
+
8
+ begin
9
+ alias_method :_run_anything_without_guard, :_run_anything
10
+ def _run_anything(type)
11
+ start = Time.now
12
+ _run_anything_without_guard(type)
13
+ duration = Time.now - start
14
+ Guard::MinitestNotifier.notify(test_count, assertion_count, failures, errors, skips, duration) if GUARD_NOTIFY
15
+ end
16
+ rescue NameError
17
+ puts "*** WARN: if you use MiniTest 1, please add version option in your 'Guardfile`."
18
+ raise
19
+ end
20
+
21
+ end
22
+ end
@@ -1,11 +1,11 @@
1
1
  guard 'minitest' do
2
2
  # with Minitest::Unit
3
- watch('^test/test_(.*).rb')
4
- watch('^lib/(.*)([^/]+)\.rb') { |m| "test/#{m[1]}test_#{m[2]}.rb" }
5
- watch('^test/test_helper.rb') { "test" }
3
+ watch(%r|^test/test_(.*).rb|)
4
+ watch(%r|^lib/(.*)([^/]+)\.rb|) { |m| "test/#{m[1]}test_#{m[2]}.rb" }
5
+ watch(%r|^test/test_helper.rb|) { "test" }
6
6
 
7
7
  # with Minitest::Spec
8
- # watch('^spec/(.*)_spec.rb')
9
- # watch('^lib/(.*)\.rb') { |m| "spec/#{m[1]}_spec.rb" }
10
- # watch('^spec/spec_helper.rb') { "spec" }
8
+ # watch(%r|^spec/(.*)_spec.rb|)
9
+ # watch(%r|^lib/(.*)\.rb|) { |m| "spec/#{m[1]}_spec.rb" }
10
+ # watch(%r|^spec/spec_helper.rb|) { "spec" }
11
11
  end
@@ -1,6 +1,6 @@
1
1
  # encoding: utf-8
2
2
  module Guard
3
3
  module MinitestVersion
4
- VERSION = '0.3.0'
4
+ VERSION = '0.4.0.rc1'
5
5
  end
6
6
  end
metadata CHANGED
@@ -1,13 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: guard-minitest
3
3
  version: !ruby/object:Gem::Version
4
- hash: 19
5
- prerelease: false
4
+ hash: 15424087
5
+ prerelease: 6
6
6
  segments:
7
7
  - 0
8
- - 3
8
+ - 4
9
9
  - 0
10
- version: 0.3.0
10
+ - rc
11
+ - 1
12
+ version: 0.4.0.rc1
11
13
  platform: ruby
12
14
  authors:
13
15
  - Yann Lugrin
@@ -15,7 +17,7 @@ autorequire:
15
17
  bindir: bin
16
18
  cert_chain: []
17
19
 
18
- date: 2010-10-27 00:00:00 +02:00
20
+ date: 2011-05-23 00:00:00 +02:00
19
21
  default_executable:
20
22
  dependencies:
21
23
  - !ruby/object:Gem::Dependency
@@ -35,35 +37,35 @@ dependencies:
35
37
  type: :runtime
36
38
  version_requirements: *id001
37
39
  - !ruby/object:Gem::Dependency
38
- name: bundler
40
+ name: minitest
39
41
  prerelease: false
40
42
  requirement: &id002 !ruby/object:Gem::Requirement
41
43
  none: false
42
44
  requirements:
43
- - - ~>
45
+ - - ">="
44
46
  - !ruby/object:Gem::Version
45
- hash: 19
47
+ hash: 15
46
48
  segments:
47
- - 1
48
- - 0
49
49
  - 2
50
- version: 1.0.2
50
+ - 0
51
+ - 0
52
+ version: 2.0.0
51
53
  type: :development
52
54
  version_requirements: *id002
53
55
  - !ruby/object:Gem::Dependency
54
- name: minitest
56
+ name: bundler
55
57
  prerelease: false
56
58
  requirement: &id003 !ruby/object:Gem::Requirement
57
59
  none: false
58
60
  requirements:
59
- - - ~>
61
+ - - ">="
60
62
  - !ruby/object:Gem::Version
61
- hash: 15
63
+ hash: 19
62
64
  segments:
63
65
  - 1
64
- - 7
66
+ - 0
65
67
  - 2
66
- version: 1.7.2
68
+ version: 1.0.2
67
69
  type: :development
68
70
  version_requirements: *id003
69
71
  - !ruby/object:Gem::Dependency
@@ -72,7 +74,7 @@ dependencies:
72
74
  requirement: &id004 !ruby/object:Gem::Requirement
73
75
  none: false
74
76
  requirements:
75
- - - ~>
77
+ - - ">="
76
78
  - !ruby/object:Gem::Version
77
79
  hash: 43
78
80
  segments:
@@ -92,7 +94,8 @@ extensions: []
92
94
  extra_rdoc_files: []
93
95
 
94
96
  files:
95
- - lib/guard/minitest/runners/default_runner.rb
97
+ - lib/guard/minitest/runners/version_1_runner.rb
98
+ - lib/guard/minitest/runners/version_2_runner.rb
96
99
  - lib/guard/minitest/inspector.rb
97
100
  - lib/guard/minitest/templates/Guardfile
98
101
  - lib/guard/minitest/notifier.rb
@@ -135,7 +138,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
135
138
  requirements: []
136
139
 
137
140
  rubyforge_project: guard-minitest
138
- rubygems_version: 1.3.7
141
+ rubygems_version: 1.6.2
139
142
  signing_key:
140
143
  specification_version: 3
141
144
  summary: Guard gem for MiniTest framework
@@ -1,63 +0,0 @@
1
- # encoding: utf-8
2
- require 'minitest/unit'
3
- require 'guard/minitest/notifier'
4
-
5
- module MiniTest
6
- class Unit
7
-
8
- # Compatibility with version 1.7
9
- if VERSION <= '1.7.2'
10
- attr_accessor :options, :help
11
-
12
- def run(args = [])
13
- self.options = process_args(args)
14
-
15
- unless options[:seed] then
16
- srand
17
- options[:seed] = srand % 0xFFFF
18
- end
19
-
20
- self.help = ['--seed', options[:seed].to_s]
21
- self.help << ['--verbose'] if options[:verbose]
22
- self.help = self.help.join(' ')
23
-
24
- run_all_tests
25
-
26
- return failures + errors if @test_count > 0 # or return nil...
27
- rescue Interrupt
28
- abort 'Interrupted'
29
- end
30
-
31
- def drive_tests(filters = /./)
32
- run_test_suites(filters)
33
- end
34
- end
35
-
36
- # Rewrite default runner to use notification
37
- def run_all_tests
38
- @@out.puts "Test run options: #{help}"
39
- @@out.puts
40
- @@out.puts 'Started'
41
-
42
- start = Time.now
43
- drive_tests(/./)
44
- duration = Time.now - start
45
-
46
- @@out.puts
47
- @@out.puts "Finished in %.6f seconds, %.4f tests/s, %.4f assertions/s." %
48
- [duration, test_count / duration, assertion_count / duration]
49
-
50
- report.each_with_index do |msg, i|
51
- @@out.puts "\n%3d) %s" % [i + 1, msg]
52
- end
53
-
54
- @@out.puts
55
-
56
- status
57
- Guard::MinitestNotifier.notify(test_count, assertion_count, failures, errors, skips, duration) if GUARD_NOTIFY
58
-
59
- @@out.puts
60
- @@out.puts "Test run options: #{help}"
61
- end
62
- end
63
- end