minitest-line 0.5.0 → 0.6.0
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.
- checksums.yaml +7 -0
- data/lib/minitest/line_plugin.rb +34 -1
- data/test/test_line.rb +11 -1
- metadata +10 -14
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 033798121697d4db1518811cbaa39f16506138e9
|
4
|
+
data.tar.gz: 85dc3377cbe4c11ac24f93446d8fa7ceb0ede0b5
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: a26a3653509448ce99fd056be2f7a689f83cc76ae4912857f4bc119bdfda782064846c4a50d0f693a1990655f72547c59ae42f105dfcc2b6fb321aba5ee88fdf
|
7
|
+
data.tar.gz: 52f2cb63522584626a41796dfd879dac5a56c0add27e8a80b83afd4397f4d140212261a8c2281da9c9e36c0bc65f3397ba521c9fada3bb7400533a37d92dd252
|
data/lib/minitest/line_plugin.rb
CHANGED
@@ -6,7 +6,11 @@ module Minitest
|
|
6
6
|
end
|
7
7
|
|
8
8
|
def self.plugin_line_init(options)
|
9
|
-
|
9
|
+
exp_line = options[:line]
|
10
|
+
if !exp_line
|
11
|
+
reporter.reporters << LineReporter.new
|
12
|
+
return
|
13
|
+
end
|
10
14
|
|
11
15
|
methods = Runnable.runnables.flat_map do |runnable|
|
12
16
|
runnable.runnable_methods.map do |name|
|
@@ -32,5 +36,34 @@ module Minitest
|
|
32
36
|
|
33
37
|
options[:filter] = main_test
|
34
38
|
end
|
39
|
+
|
40
|
+
class LineReporter < Reporter
|
41
|
+
def initialize(*)
|
42
|
+
super
|
43
|
+
@failures = []
|
44
|
+
end
|
45
|
+
|
46
|
+
def record(result)
|
47
|
+
if !result.passed?
|
48
|
+
@failures << result
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
52
|
+
def report
|
53
|
+
return unless @failures.any?
|
54
|
+
io.puts
|
55
|
+
io.puts "Focus on failing tests:"
|
56
|
+
@failures.each do |res|
|
57
|
+
meth = res.method(res.name)
|
58
|
+
file, line = meth.source_location
|
59
|
+
if file
|
60
|
+
io.puts "$ ruby #{file} -l #{line}"
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
65
|
+
|
66
|
+
def self.plugin_line_inject_reporter
|
67
|
+
end
|
35
68
|
end
|
36
69
|
|
data/test/test_line.rb
CHANGED
@@ -13,6 +13,10 @@ class LineExample < Minitest::Test
|
|
13
13
|
def test_world
|
14
14
|
p :world
|
15
15
|
end
|
16
|
+
|
17
|
+
def test_failure
|
18
|
+
flunk
|
19
|
+
end
|
16
20
|
end
|
17
21
|
|
18
22
|
Minitest::Runnable.runnables.delete(LineExample)
|
@@ -35,7 +39,7 @@ class TestLine < Minitest::Test
|
|
35
39
|
refute_match /:world/, output
|
36
40
|
end
|
37
41
|
|
38
|
-
(13..
|
42
|
+
(13..16).each do |line|
|
39
43
|
output = run_class LineExample, ['--line', line.to_s]
|
40
44
|
assert_match /1 runs/, output
|
41
45
|
assert_match /:world/, output
|
@@ -43,6 +47,12 @@ class TestLine < Minitest::Test
|
|
43
47
|
end
|
44
48
|
end
|
45
49
|
|
50
|
+
def test_show_focus
|
51
|
+
output = run_class LineExample
|
52
|
+
assert_match /Focus on failing tests:/, output
|
53
|
+
assert_match /#{__FILE__} -l 17/, output
|
54
|
+
end
|
55
|
+
|
46
56
|
def test_before
|
47
57
|
assert_raises(RuntimeError) do
|
48
58
|
run_class LineExample, ['--line', '8']
|
metadata
CHANGED
@@ -1,30 +1,27 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: minitest-line
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
5
|
-
prerelease:
|
4
|
+
version: 0.6.0
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Magnus Holm
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2014-03-25 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: minitest
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
|
-
- - ~>
|
17
|
+
- - "~>"
|
20
18
|
- !ruby/object:Gem::Version
|
21
19
|
version: '5.0'
|
22
20
|
type: :runtime
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
|
-
- - ~>
|
24
|
+
- - "~>"
|
28
25
|
- !ruby/object:Gem::Version
|
29
26
|
version: '5.0'
|
30
27
|
description: Focused tests for Minitest
|
@@ -33,31 +30,30 @@ executables: []
|
|
33
30
|
extensions: []
|
34
31
|
extra_rdoc_files: []
|
35
32
|
files:
|
36
|
-
- test/test_line.rb
|
37
33
|
- lib/minitest/line_plugin.rb
|
34
|
+
- test/test_line.rb
|
38
35
|
homepage: https://github.com/judofyr/minitest-line
|
39
36
|
licenses: []
|
37
|
+
metadata: {}
|
40
38
|
post_install_message:
|
41
39
|
rdoc_options: []
|
42
40
|
require_paths:
|
43
41
|
- lib
|
44
42
|
required_ruby_version: !ruby/object:Gem::Requirement
|
45
|
-
none: false
|
46
43
|
requirements:
|
47
|
-
- -
|
44
|
+
- - ">="
|
48
45
|
- !ruby/object:Gem::Version
|
49
46
|
version: '0'
|
50
47
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
51
|
-
none: false
|
52
48
|
requirements:
|
53
|
-
- -
|
49
|
+
- - ">="
|
54
50
|
- !ruby/object:Gem::Version
|
55
51
|
version: '0'
|
56
52
|
requirements: []
|
57
53
|
rubyforge_project:
|
58
|
-
rubygems_version:
|
54
|
+
rubygems_version: 2.2.1
|
59
55
|
signing_key:
|
60
|
-
specification_version:
|
56
|
+
specification_version: 4
|
61
57
|
summary: Focused tests for Minitest
|
62
58
|
test_files:
|
63
59
|
- test/test_line.rb
|