simple_cov-formatter-terminal 1.3.0 → 1.4.0

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
  SHA256:
3
- metadata.gz: ff0a8830c6b2de767299678ae7fbff95b236ae0d79de1f5f6abede949bb6f394
4
- data.tar.gz: 48d18ad9742d24dfa1b6a70fc77bd56ebd6574e8c429ab680e4ac6e823946297
3
+ metadata.gz: 43650ef3dfe9732f2c765db02861799b26a5778d33deb6deba359d623fccb52a
4
+ data.tar.gz: 05665a80df8b74e04e958ab657a5659c5b00f1cbf35f9dd86a69040f95c5f5dc
5
5
  SHA512:
6
- metadata.gz: 5477653a52035b2835c64273a3f0f415ba67d8c66aee98921f6d243b3d698282c4126375cddfc11d37ba58f608bb5600d583b51177e7dab9a4446e38868977e4
7
- data.tar.gz: 446961414ac5865814ed77700635c6243df80f0b064e9b38041bf4639e3cc776c5f2fac4e8d2c82afc5bd40ef8946e01c0afb8e18be45a24db1535027663117f
6
+ metadata.gz: 1f4c5f53d8c84c0d5ce852c6a695eaa3b6f707b2774ae3c0436f568dfec5f7f57968b50f41eda02c49a6d77680e1b551ebb5aadeabafcbb7c210d10603149318
7
+ data.tar.gz: a034211474448b76dc6ec8be2e4756f3d2b425e4acc40fc799e37c44b1906de3973ca000428c10560743a7204d111f240d80f2878c3e06b32bc9ba4c28fabda6
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 3.3.3
1
+ 3.3.4
data/CHANGELOG.md CHANGED
@@ -1,3 +1,6 @@
1
+ ## v1.4.0 (2024-07-21)
2
+ - Handle map-spec-file-to-app failure more elegantly (#229)
3
+
1
4
  ## v1.3.0 (2024-06-28)
2
5
  - Enforce only major and minor parts of required Ruby version (loosening the required Ruby version from 3.3.3 to 3.3.0)
3
6
 
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- simple_cov-formatter-terminal (1.3.0)
4
+ simple_cov-formatter-terminal (1.4.0)
5
5
  activesupport (>= 7.0.4, < 8)
6
6
  memo_wise (>= 1.7.0, < 2)
7
7
  rouge (>= 4.0.0, < 5)
@@ -39,10 +39,10 @@ GEM
39
39
  language_server-protocol (3.17.0.3)
40
40
  memo_wise (1.9.0)
41
41
  method_source (1.1.0)
42
- minitest (5.24.0)
42
+ minitest (5.24.1)
43
43
  mutex_m (0.2.0)
44
44
  parallel (1.25.1)
45
- parser (3.3.3.0)
45
+ parser (3.3.4.0)
46
46
  ast (~> 2.4.1)
47
47
  racc
48
48
  prism (0.30.0)
@@ -56,7 +56,7 @@ GEM
56
56
  rainbow (3.1.1)
57
57
  rake (13.2.1)
58
58
  regexp_parser (2.9.2)
59
- rexml (3.3.1)
59
+ rexml (3.3.2)
60
60
  strscan
61
61
  rouge (4.3.0)
62
62
  rspec (3.13.0)
@@ -72,13 +72,13 @@ GEM
72
72
  diff-lcs (>= 1.2.0, < 2.0)
73
73
  rspec-support (~> 3.13.0)
74
74
  rspec-support (3.13.1)
75
- rubocop (1.64.1)
75
+ rubocop (1.65.0)
76
76
  json (~> 2.3)
77
77
  language_server-protocol (>= 3.17.0)
78
78
  parallel (~> 1.10)
79
79
  parser (>= 3.3.0.2)
80
80
  rainbow (>= 2.2.2, < 4.0)
81
- regexp_parser (>= 1.8, < 3.0)
81
+ regexp_parser (>= 2.4, < 3.0)
82
82
  rexml (>= 3.2.5, < 4.0)
83
83
  rubocop-ast (>= 1.31.1, < 2.0)
84
84
  ruby-progressbar (~> 1.7)
@@ -88,17 +88,17 @@ GEM
88
88
  rubocop-performance (1.21.1)
89
89
  rubocop (>= 1.48.1, < 2.0)
90
90
  rubocop-ast (>= 1.31.1, < 2.0)
91
- rubocop-rspec (3.0.1)
91
+ rubocop-rspec (3.0.3)
92
92
  rubocop (~> 1.61)
93
93
  ruby-progressbar (1.13.0)
94
- runger_config (5.1.0)
94
+ runger_config (5.2.0)
95
95
  activesupport (>= 7.1.2)
96
- runger_release_assistant (0.8.0)
96
+ runger_release_assistant (0.10.0)
97
97
  activesupport (>= 6, < 8)
98
98
  memo_wise (>= 1.7, < 2)
99
99
  rainbow (>= 3.0, < 4)
100
100
  slop (~> 4.8)
101
- runger_style (2.8.0)
101
+ runger_style (2.12.0)
102
102
  prism (>= 0.24.0)
103
103
  rubocop (>= 1.38.0, < 2)
104
104
  simplecov (0.22.0)
@@ -136,7 +136,7 @@ DEPENDENCIES
136
136
  simplecov-cobertura
137
137
 
138
138
  RUBY VERSION
139
- ruby 3.3.3p89
139
+ ruby 3.3.4p94
140
140
 
141
141
  BUNDLED WITH
142
142
  2.5.11
@@ -25,14 +25,18 @@ class SimpleCov::Formatter::Terminal::FileDeterminer
25
25
  return env_variable_file
26
26
  end
27
27
 
28
- return nil if unmappable_spec_regexes.any? { executed_spec_file.match?(_1) }
28
+ return nil if unmappable_spec_file?
29
29
 
30
30
  spec_to_app_file_map.lazy.filter_map do |spec_file_regex, app_file_substitution|
31
31
  if executed_spec_file.match?(spec_file_regex)
32
32
  executed_spec_file.sub(spec_file_regex, app_file_substitution)
33
33
  end
34
- end.first&.sub(/_spec\.rb\z/, '.rb') ||
35
- raise("Could not map executed spec file #{executed_spec_file} to application file!")
34
+ end.first&.sub(/_spec\.rb\z/, '.rb')
35
+ end
36
+
37
+ memo_wise \
38
+ def unmappable_spec_file?
39
+ unmappable_spec_regexes.any? { executed_spec_file.match?(_1) }
36
40
  end
37
41
 
38
42
  memo_wise \
@@ -108,7 +108,7 @@ class SimpleCov::Formatter::Terminal::ResultPrinter
108
108
  puts('Not showing test coverage details because no specs were executed successfully.')
109
109
  end
110
110
 
111
- def print_info_for_undetermined_application_target
111
+ def print_info_for_undeterminable_application_target
112
112
  puts(<<~LOG.squish)
113
113
  Not showing test coverage details because "#{executed_spec_file}" cannot
114
114
  be mapped to a single application file.
@@ -118,6 +118,17 @@ class SimpleCov::Formatter::Terminal::ResultPrinter
118
118
  LOG
119
119
  end
120
120
 
121
+ def print_info_for_undetermined_application_target
122
+ puts(<<~LOG.squish)
123
+ Not showing test coverage details because we could not map "#{executed_spec_file}"
124
+ to an application file.
125
+ LOG
126
+ puts(<<~LOG.squish)
127
+ Tip: You can provide a mapping via
128
+ `SimpleCov::Formatter::Terminal.config.spec_to_app_file_map`.
129
+ LOG
130
+ end
131
+
121
132
  def print_info_for_nonexistent_application_target
122
133
  puts(<<~LOG.squish)
123
134
  Cannot show code coverage. Looked for application file "#{targeted_application_file}",
@@ -5,6 +5,6 @@ module SimpleCov::Formatter; end
5
5
 
6
6
  # rubocop:disable Style/StaticClass
7
7
  class SimpleCov::Formatter::Terminal
8
- VERSION = '1.3.0'
8
+ VERSION = '1.4.0'
9
9
  end
10
10
  # rubocop:enable Style/StaticClass
@@ -25,12 +25,14 @@ class SimpleCov::Formatter::Terminal
25
25
  :executed_spec_file,
26
26
  :executed_spec_files,
27
27
  :targeted_application_file,
28
+ :unmappable_spec_file?,
28
29
  )
29
30
  def_delegators(
30
31
  :result_printer,
31
32
  :print_coverage_info,
32
33
  :print_info_for_no_executed_specs,
33
34
  :print_info_for_nonexistent_application_target,
35
+ :print_info_for_undeterminable_application_target,
34
36
  :print_info_for_undetermined_application_target,
35
37
  )
36
38
 
@@ -46,6 +48,8 @@ class SimpleCov::Formatter::Terminal
46
48
  def format(result)
47
49
  if executed_spec_files.nil?
48
50
  print_info_for_no_executed_specs
51
+ elsif unmappable_spec_file?
52
+ print_info_for_undeterminable_application_target
49
53
  elsif targeted_application_file.nil?
50
54
  print_info_for_undetermined_application_target
51
55
  elsif File.exist?(targeted_application_file)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: simple_cov-formatter-terminal
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.0
4
+ version: 1.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Runger
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-06-28 00:00:00.000000000 Z
11
+ date: 2024-07-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -177,7 +177,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
177
177
  - !ruby/object:Gem::Version
178
178
  version: '0'
179
179
  requirements: []
180
- rubygems_version: 3.5.14
180
+ rubygems_version: 3.5.15
181
181
  signing_key:
182
182
  specification_version: 4
183
183
  summary: Print detailed code coverage info to the terminal