minitest-heat 0.0.6 → 0.0.10

Sign up to get free protection for your applications and to get access to all the features.
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: minitest-heat
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 0.0.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Garrett Dimon
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-10-08 00:00:00.000000000 Z
11
+ date: 2021-10-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: minitest
@@ -143,9 +143,9 @@ files:
143
143
  - bin/setup
144
144
  - lib/minitest/heat.rb
145
145
  - lib/minitest/heat/backtrace.rb
146
+ - lib/minitest/heat/backtrace/line.rb
146
147
  - lib/minitest/heat/hit.rb
147
148
  - lib/minitest/heat/issue.rb
148
- - lib/minitest/heat/line.rb
149
149
  - lib/minitest/heat/location.rb
150
150
  - lib/minitest/heat/map.rb
151
151
  - lib/minitest/heat/output.rb
@@ -158,6 +158,7 @@ files:
158
158
  - lib/minitest/heat/output/token.rb
159
159
  - lib/minitest/heat/results.rb
160
160
  - lib/minitest/heat/source.rb
161
+ - lib/minitest/heat/timer.rb
161
162
  - lib/minitest/heat/version.rb
162
163
  - lib/minitest/heat_plugin.rb
163
164
  - lib/minitest/heat_reporter.rb
@@ -1,74 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'forwardable'
4
-
5
- module Minitest
6
- module Heat
7
- # Represents a line of code from the project and provides convenient access to information about
8
- # the line for displaying in test results
9
- class Line
10
- attr_accessor :pathname, :number, :container
11
- alias line_number number
12
-
13
- def initialize(pathname:, number:, container: nil)
14
- @pathname = Pathname(pathname)
15
- @number = number.to_i
16
- @container = container.to_s
17
- end
18
-
19
- # Convenient interface to read a line from a backtrace convert it to usable components
20
- def self.parse_backtrace(raw_text)
21
- raw_pathname, raw_line_number, raw_container = raw_text.split(':')
22
- raw_container = raw_container.delete_prefix('in `').delete_suffix("'")
23
-
24
- new(pathname: raw_pathname, number: raw_line_number, container: raw_container)
25
- end
26
-
27
- def to_s
28
- "#{location} in `#{container}`"
29
- end
30
-
31
- def path
32
- pathname.exist? ? pathname.dirname : UNRECOGNIZED
33
- end
34
-
35
- def file
36
- pathname.exist? ? pathname.basename : UNRECOGNIZED
37
- end
38
-
39
- def mtime
40
- pathname.exist? ? pathname.mtime : UNKNOWN_MODIFICATION_TIME
41
- end
42
-
43
- def age_in_seconds
44
- pathname.exist? ? seconds_ago : UNKNOWN_MODIFICATION_SECONDS
45
- end
46
-
47
- def location
48
- "#{pathname}:#{number}"
49
- end
50
-
51
- def short_location
52
- "#{file}:#{number}"
53
- end
54
-
55
- def source_code(max_line_count: 1)
56
- Minitest::Heat::Source.new(
57
- pathname.to_s,
58
- line_number: line_number,
59
- max_line_count: max_line_count
60
- )
61
- end
62
-
63
- private
64
-
65
- UNRECOGNIZED = '(Unrecognized File)'
66
- UNKNOWN_MODIFICATION_TIME = Time.at(0)
67
- UNKNOWN_MODIFICATION_SECONDS = -1
68
-
69
- def seconds_ago
70
- (Time.now - mtime).to_i
71
- end
72
- end
73
- end
74
- end