pretty_test 0.0.6 → 0.0.7

Sign up to get free protection for your applications and to get access to all the features.
data/lib/pretty_test.rb CHANGED
@@ -1,4 +1,4 @@
1
1
  require "pretty_test/version"
2
2
  require "pretty_test/tap"
3
3
 
4
- MiniTest::Unit.runner = PrettyTest::Tap.new
4
+ MiniTest::Unit.runner = PrettyTest::Tap.new if STDOUT.tty?
@@ -40,14 +40,20 @@ module PrettyTest
40
40
  end
41
41
 
42
42
  def tapout_failure(suite, test, test_runner)
43
- tapout_error(suite, test, test_runner, FAILURE_FORMAT)
43
+ @progress += 1
44
+ error = test_runner.exception
45
+ test_name = pretty_test_name(test)
46
+ index = find_assertion_index(error)
47
+ trace = pretty_trace(error, index)
48
+ print_error FAILURE_FORMAT, suite_name, test_name, error.class, error.message, trace
44
49
  end
45
50
 
46
- def tapout_error(suite, test, test_runner, format = ERROR_FORMAT)
51
+ def tapout_error(suite, test, test_runner)
47
52
  @progress += 1
48
53
  error = test_runner.exception
49
54
  test_name = pretty_test_name(test)
50
- trace = pretty_trace(error)
55
+ index = find_exception_index(error)
56
+ trace = pretty_trace(error, index)
51
57
  print_error ERROR_FORMAT, suite_name, test_name, error.class, error.message, trace
52
58
  end
53
59
 
@@ -92,15 +98,18 @@ module PrettyTest
92
98
  clean_trace_line("\e[1m-> ", path, line)
93
99
  end
94
100
 
95
- def pretty_trace(e)
96
- assertion_index = e.backtrace.rindex { |trace| trace =~ /:in .(assert|refute|flunk|pass|fail|raise|must|wont)/ }
97
- location_index = if assertion_index
98
- assertion_index + 1
99
- else
100
- e.backtrace.index { |trace_line| trace_line.index(Dir.pwd) }
101
- end
101
+ def find_assertion_index(error)
102
+ index = error.backtrace.index { |trace| trace =~ /:in .(assert|refute|flunk|pass|fail|raise|must|wont)/ }
103
+ index ? index + 1 : find_exception_index(error)
104
+ end
105
+
106
+ def find_exception_index(error)
107
+ error.backtrace.index { |trace| trace.index(Dir.pwd) }
108
+ end
109
+
110
+ def pretty_trace(error, location_index)
102
111
  lines = []
103
- e.backtrace.each_with_index do |trace, index|
112
+ error.backtrace.each_with_index do |trace, index|
104
113
  prefix = index == location_index ? "\e[1m-> " : " "
105
114
  trace_file, trace_line = trace.sub(/:in .*$/, "").split(":")
106
115
  lines << clean_trace_line(prefix, trace_file, trace_line)
@@ -1,3 +1,3 @@
1
1
  module PrettyTest
2
- VERSION = "0.0.6"
2
+ VERSION = "0.0.7"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pretty_test
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 0.0.7
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-01-13 00:00:00.000000000Z
12
+ date: 2012-01-16 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: minitest
16
- requirement: &70207780914120 !ruby/object:Gem::Requirement
16
+ requirement: &70144707253360 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '2.6'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70207780914120
24
+ version_requirements: *70144707253360
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: minitap
27
- requirement: &70207780913080 !ruby/object:Gem::Requirement
27
+ requirement: &70144707252840 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,7 +32,7 @@ dependencies:
32
32
  version: '0.3'
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *70207780913080
35
+ version_requirements: *70144707252840
36
36
  description: Minitest patch for pretty (and useful) output.
37
37
  email:
38
38
  - vladimir@tuzinsky.com