minitest-utils 0.4.4 → 0.4.8
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 +4 -4
- data/.github/FUNDING.yml +3 -0
- data/.rubocop.yml +10 -0
- data/Gemfile +3 -1
- data/Rakefile +6 -1
- data/bin/console +1 -0
- data/bin/rake +8 -6
- data/lib/minitest/utils/capybara/chrome_headless.rb +7 -2
- data/lib/minitest/utils/capybara/screenshot_on_failures.rb +6 -1
- data/lib/minitest/utils/extension.rb +17 -4
- data/lib/minitest/utils/rails/capybara.rb +10 -4
- data/lib/minitest/utils/rails/locale.rb +3 -2
- data/lib/minitest/utils/rails.rb +2 -0
- data/lib/minitest/utils/railtie.rb +2 -0
- data/lib/minitest/utils/reporter.rb +81 -50
- data/lib/minitest/utils/setup/database_cleaner.rb +2 -0
- data/lib/minitest/utils/setup/factory_bot.rb +2 -0
- data/lib/minitest/utils/setup/factory_girl.rb +2 -0
- data/lib/minitest/utils/setup/webmock.rb +2 -0
- data/lib/minitest/utils/test_notifier_reporter.rb +7 -6
- data/lib/minitest/utils/version.rb +3 -1
- data/lib/minitest/utils.rb +8 -10
- data/lib/minitest/utils_plugin.rb +10 -1
- data/minitest-utils.gemspec +11 -3
- metadata +52 -9
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 4d7d588847effe487b3ab88b95c74a3b34d250316c85237bc582cec41ba61925
|
|
4
|
+
data.tar.gz: 1ecbdd5dd3aae7dd35e84de745d0bc4573570c6bbe43773a54a77e645768cc6b
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: dc08883e75123eb2d6798aa2e48887f9071964da06439bdfd16d37ebc98319b7348d8135395566116c2319ce7577b66efd3ca1fa92829e8f4baf0f77a559f665
|
|
7
|
+
data.tar.gz: 1b01d7a4aeb7c3fd34badad48ed550cc1bc5c35b6d4c830b0bb3d26d6ac3cacbacc85746b1ab1611352fb5d05271889003b77488daf1dc8d77c17387a1151acb
|
data/.github/FUNDING.yml
ADDED
data/.rubocop.yml
ADDED
data/Gemfile
CHANGED
data/Rakefile
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
require "bundler/gem_tasks"
|
|
2
4
|
require "rake/testtask"
|
|
5
|
+
require "rubocop/rake_task"
|
|
3
6
|
|
|
4
7
|
Rake::TestTask.new(:test) do |t|
|
|
5
8
|
t.libs << "test"
|
|
@@ -8,4 +11,6 @@ Rake::TestTask.new(:test) do |t|
|
|
|
8
11
|
t.warning = false
|
|
9
12
|
end
|
|
10
13
|
|
|
11
|
-
|
|
14
|
+
RuboCop::RakeTask.new
|
|
15
|
+
|
|
16
|
+
task default: %i[test rubocop]
|
data/bin/console
CHANGED
data/bin/rake
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env ruby
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
2
4
|
#
|
|
3
5
|
# This file was generated by Bundler.
|
|
4
6
|
#
|
|
@@ -6,11 +8,11 @@
|
|
|
6
8
|
# this file is here to facilitate running it.
|
|
7
9
|
#
|
|
8
10
|
|
|
9
|
-
require
|
|
10
|
-
ENV[
|
|
11
|
-
|
|
11
|
+
require "pathname"
|
|
12
|
+
ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile",
|
|
13
|
+
Pathname.new(__FILE__).realpath)
|
|
12
14
|
|
|
13
|
-
require
|
|
14
|
-
require
|
|
15
|
+
require "rubygems"
|
|
16
|
+
require "bundler/setup"
|
|
15
17
|
|
|
16
|
-
load Gem.bin_path(
|
|
18
|
+
load Gem.bin_path("rake", "rake")
|
|
@@ -1,9 +1,14 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
gem "selenium-webdriver"
|
|
2
4
|
gem "chromedriver-helper"
|
|
3
5
|
|
|
4
6
|
Capybara.register_driver :chrome do |app|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
+
options = Selenium::WebDriver::Chrome::Options.new(
|
|
8
|
+
args: %w[headless disable-gpu]
|
|
9
|
+
)
|
|
10
|
+
|
|
11
|
+
Capybara::Selenium::Driver.new app, browser: :chrome, options: options
|
|
7
12
|
end
|
|
8
13
|
|
|
9
14
|
Capybara.javascript_driver = :chrome
|
|
@@ -1,10 +1,15 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
gem "launchy"
|
|
2
4
|
|
|
3
5
|
module Minitest
|
|
4
6
|
class Test
|
|
5
7
|
teardown do
|
|
6
8
|
next unless Capybara.current_driver == Capybara.javascript_driver
|
|
7
|
-
|
|
9
|
+
|
|
10
|
+
return unless failures.any?
|
|
11
|
+
|
|
12
|
+
save_and_open_screenshot # rubocop:disable Lint/Debugger
|
|
8
13
|
end
|
|
9
14
|
end
|
|
10
15
|
end
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
module Minitest
|
|
2
4
|
module Utils
|
|
3
5
|
module Assertions
|
|
@@ -17,7 +19,7 @@ module Minitest
|
|
|
17
19
|
include ::Minitest::Utils::Assertions
|
|
18
20
|
|
|
19
21
|
def self.test(name, &block)
|
|
20
|
-
test_name = "test_#{name.gsub(/\s+/,'_')}".to_sym
|
|
22
|
+
test_name = "test_#{name.gsub(/\s+/, '_')}".to_sym
|
|
21
23
|
defined = method_defined? test_name
|
|
22
24
|
|
|
23
25
|
raise "#{test_name} is already defined in #{self}" if defined
|
|
@@ -56,11 +58,22 @@ module Minitest
|
|
|
56
58
|
end
|
|
57
59
|
|
|
58
60
|
def self.let(name, &block)
|
|
59
|
-
target =
|
|
61
|
+
target = begin
|
|
62
|
+
instance_method(name)
|
|
63
|
+
rescue StandardError
|
|
64
|
+
nil
|
|
65
|
+
end
|
|
66
|
+
|
|
60
67
|
message = "Cannot define let(:#{name});"
|
|
61
68
|
|
|
62
|
-
|
|
63
|
-
|
|
69
|
+
if name.to_s.start_with?("test")
|
|
70
|
+
raise ArgumentError, "#{message} method cannot begin with 'test'."
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
if target
|
|
74
|
+
raise ArgumentError,
|
|
75
|
+
"#{message} method already defined by #{target.owner}."
|
|
76
|
+
end
|
|
64
77
|
|
|
65
78
|
define_method(name) do
|
|
66
79
|
@_memoized ||= {}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
require "capybara/rails"
|
|
2
4
|
|
|
3
5
|
module ActionDispatch
|
|
@@ -18,13 +20,17 @@ module ActionDispatch
|
|
|
18
20
|
next if failures.any?
|
|
19
21
|
next unless raise_on_javascript_errors
|
|
20
22
|
|
|
21
|
-
errors = page.driver.browser.manage.logs.get(:browser).select
|
|
23
|
+
errors = page.driver.browser.manage.logs.get(:browser).select do |log|
|
|
24
|
+
log.level == "SEVERE"
|
|
25
|
+
end
|
|
26
|
+
|
|
22
27
|
next unless errors.any?
|
|
23
28
|
|
|
24
29
|
messages = errors
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
30
|
+
.map(&:message)
|
|
31
|
+
.map {|message| message[/(\d+:\d+ .*?)$/, 1] }
|
|
32
|
+
.join("\n")
|
|
33
|
+
|
|
28
34
|
raise "JavaScript Errors\n#{messages}"
|
|
29
35
|
end
|
|
30
36
|
end
|
data/lib/minitest/utils/rails.rb
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
module Minitest
|
|
2
4
|
module Utils
|
|
3
5
|
class Reporter < Minitest::StatisticsReporter
|
|
@@ -6,14 +8,14 @@ module Minitest
|
|
|
6
8
|
"E" => :red,
|
|
7
9
|
"F" => :red,
|
|
8
10
|
"S" => :yellow
|
|
9
|
-
}
|
|
11
|
+
}.freeze
|
|
10
12
|
|
|
11
13
|
COLOR = {
|
|
12
14
|
red: 31,
|
|
13
15
|
green: 32,
|
|
14
16
|
yellow: 33,
|
|
15
17
|
blue: 34
|
|
16
|
-
}
|
|
18
|
+
}.freeze
|
|
17
19
|
|
|
18
20
|
def initialize(*)
|
|
19
21
|
super
|
|
@@ -45,29 +47,38 @@ module Minitest
|
|
|
45
47
|
color = :red if failing_results.any?
|
|
46
48
|
|
|
47
49
|
if failing_results.any? || skipped_results.any?
|
|
48
|
-
failing_results.each.with_index(1)
|
|
49
|
-
|
|
50
|
+
failing_results.each.with_index(1) do |result, index|
|
|
51
|
+
display_failing(result, index)
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
skipped_results
|
|
55
|
+
.each
|
|
56
|
+
.with_index(failing_results.size + 1) do |result, index|
|
|
57
|
+
display_skipped(result, index)
|
|
58
|
+
end
|
|
50
59
|
end
|
|
51
60
|
|
|
52
61
|
io.print "\n\n"
|
|
53
62
|
io.puts statistics
|
|
54
63
|
io.puts color(summary, color)
|
|
55
64
|
|
|
56
|
-
|
|
57
|
-
io.puts "\nFailed Tests:\n"
|
|
58
|
-
failing_results.each {|result| display_replay_command(result) }
|
|
59
|
-
io.puts "\n\n"
|
|
60
|
-
end
|
|
61
|
-
end
|
|
65
|
+
return unless failing_results.any?
|
|
62
66
|
|
|
63
|
-
|
|
67
|
+
io.puts "\nFailed Tests:\n"
|
|
68
|
+
failing_results.each {|result| display_replay_command(result) }
|
|
69
|
+
io.puts "\n\n"
|
|
70
|
+
end
|
|
64
71
|
|
|
65
|
-
def statistics
|
|
66
|
-
|
|
67
|
-
|
|
72
|
+
private def statistics
|
|
73
|
+
format(
|
|
74
|
+
"Finished in %.6fs, %.4f runs/s, %.4f assertions/s.",
|
|
75
|
+
total_time,
|
|
76
|
+
count / total_time,
|
|
77
|
+
assertions / total_time
|
|
78
|
+
)
|
|
68
79
|
end
|
|
69
80
|
|
|
70
|
-
def summary # :nodoc:
|
|
81
|
+
private def summary # :nodoc:
|
|
71
82
|
[
|
|
72
83
|
pluralize("run", count),
|
|
73
84
|
pluralize("assertion", assertions),
|
|
@@ -77,90 +88,95 @@ module Minitest
|
|
|
77
88
|
].join(", ")
|
|
78
89
|
end
|
|
79
90
|
|
|
80
|
-
def indent(text)
|
|
91
|
+
private def indent(text)
|
|
81
92
|
text.gsub(/^/, " ")
|
|
82
93
|
end
|
|
83
94
|
|
|
84
|
-
def display_failing(result, index)
|
|
95
|
+
private def display_failing(result, index)
|
|
85
96
|
backtrace = backtrace(result.failure.backtrace)
|
|
86
97
|
message = result.failure.message
|
|
87
98
|
message = message.lines.tap(&:pop).join.chomp if result.error?
|
|
88
99
|
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
io.print
|
|
100
|
+
output = ["\n\n"]
|
|
101
|
+
output << color(format("%4d) %s", index, result_name(result.name)))
|
|
102
|
+
output << "\n" << color(indent(message), :red)
|
|
103
|
+
output << "\n" << color(backtrace, :blue)
|
|
104
|
+
io.print output.join
|
|
94
105
|
end
|
|
95
106
|
|
|
96
|
-
def display_skipped(result, index)
|
|
107
|
+
private def display_skipped(result, index)
|
|
97
108
|
location = location(result.failure.location)
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
109
|
+
output = ["\n\n"]
|
|
110
|
+
output << color(
|
|
111
|
+
format("%4d) %s [SKIPPED]", index, result_name(result.name)), :yellow
|
|
112
|
+
)
|
|
113
|
+
output << "\n" << indent(color(location, :yellow))
|
|
114
|
+
io.print output.join
|
|
102
115
|
end
|
|
103
116
|
|
|
104
|
-
def display_replay_command(result)
|
|
117
|
+
private def display_replay_command(result)
|
|
105
118
|
location, line = find_test_file(result)
|
|
106
119
|
return if location.empty?
|
|
107
120
|
|
|
108
|
-
command =
|
|
109
|
-
%[bin/rails test #{location}:#{line}]
|
|
110
|
-
else
|
|
111
|
-
bundle = "bundle exec " if defined?(Bundler)
|
|
112
|
-
%[#{bundle}rake TEST=#{location} TESTOPTS="--name=#{result.name}"]
|
|
113
|
-
end
|
|
121
|
+
command = build_test_command(location, line, result)
|
|
114
122
|
|
|
115
|
-
|
|
116
|
-
|
|
123
|
+
output = ["\n"]
|
|
124
|
+
output << color(command, :red)
|
|
117
125
|
|
|
118
|
-
io.print
|
|
126
|
+
io.print output.join
|
|
119
127
|
end
|
|
120
128
|
|
|
121
|
-
def find_test_file(result)
|
|
129
|
+
private def find_test_file(result)
|
|
122
130
|
location, line = if result.respond_to?(:source_location)
|
|
123
131
|
result.source_location
|
|
124
132
|
else
|
|
125
133
|
result.method(result.name).source_location
|
|
126
134
|
end
|
|
127
135
|
|
|
128
|
-
location = location.gsub(%r
|
|
136
|
+
location = location.gsub(%r{^.*?/((?:test|spec)/.*?)$}, "\\1")
|
|
129
137
|
|
|
130
138
|
[location, line]
|
|
131
139
|
end
|
|
132
140
|
|
|
133
|
-
def backtrace(backtrace)
|
|
134
|
-
backtrace = filter_backtrace(backtrace).map
|
|
141
|
+
private def backtrace(backtrace)
|
|
142
|
+
backtrace = filter_backtrace(backtrace).map do |line|
|
|
143
|
+
location(line, true)
|
|
144
|
+
end
|
|
145
|
+
|
|
135
146
|
return if backtrace.empty?
|
|
147
|
+
|
|
136
148
|
indent(backtrace.join("\n")).gsub(/^(\s+)/, "\\1# ")
|
|
137
149
|
end
|
|
138
150
|
|
|
139
|
-
def location(location, include_line_number = false)
|
|
151
|
+
private def location(location, include_line_number = false) # rubocop:disable Style/OptionalBooleanParameter
|
|
152
|
+
matches = location.match(/^(<.*?>)/)
|
|
153
|
+
|
|
154
|
+
return matches[1] if matches
|
|
155
|
+
|
|
140
156
|
regex = include_line_number ? /^([^:]+:\d+)/ : /^([^:]+)/
|
|
141
157
|
location = File.expand_path(location[regex, 1])
|
|
142
158
|
|
|
143
159
|
return location unless location.start_with?(Dir.pwd)
|
|
144
160
|
|
|
145
|
-
location.gsub(%r
|
|
161
|
+
location.gsub(%r{^#{Regexp.escape(Dir.pwd)}/}, "")
|
|
146
162
|
end
|
|
147
163
|
|
|
148
|
-
def filter_backtrace(backtrace)
|
|
164
|
+
private def filter_backtrace(backtrace)
|
|
149
165
|
Minitest.backtrace_filter.filter(backtrace)
|
|
150
166
|
end
|
|
151
167
|
|
|
152
|
-
def result_name(name)
|
|
168
|
+
private def result_name(name)
|
|
153
169
|
name
|
|
154
170
|
.gsub(/^test(_\d+)?_/, "")
|
|
155
|
-
.
|
|
171
|
+
.tr("_", " ")
|
|
156
172
|
end
|
|
157
173
|
|
|
158
|
-
def print_result_code(result_code)
|
|
174
|
+
private def print_result_code(result_code)
|
|
159
175
|
result_code = color(result_code, COLOR_FOR_RESULT_CODE[result_code])
|
|
160
176
|
io.print result_code
|
|
161
177
|
end
|
|
162
178
|
|
|
163
|
-
def color(string, color = :default)
|
|
179
|
+
private def color(string, color = :default)
|
|
164
180
|
if color_enabled?
|
|
165
181
|
color = COLOR.fetch(color, 0)
|
|
166
182
|
"\e[#{color}m#{string}\e[0m"
|
|
@@ -169,11 +185,11 @@ module Minitest
|
|
|
169
185
|
end
|
|
170
186
|
end
|
|
171
187
|
|
|
172
|
-
def color_enabled?
|
|
188
|
+
private def color_enabled?
|
|
173
189
|
@color_enabled
|
|
174
190
|
end
|
|
175
191
|
|
|
176
|
-
def pluralize(word, count)
|
|
192
|
+
private def pluralize(word, count)
|
|
177
193
|
case count
|
|
178
194
|
when 0
|
|
179
195
|
"no #{word}s"
|
|
@@ -183,6 +199,21 @@ module Minitest
|
|
|
183
199
|
"#{count} #{word}s"
|
|
184
200
|
end
|
|
185
201
|
end
|
|
202
|
+
|
|
203
|
+
private def running_rails?
|
|
204
|
+
defined?(Rails) &&
|
|
205
|
+
Rails.respond_to?(:version) &&
|
|
206
|
+
Rails.version >= "5.0.0"
|
|
207
|
+
end
|
|
208
|
+
|
|
209
|
+
private def build_test_command(location, line, result)
|
|
210
|
+
if running_rails?
|
|
211
|
+
%[bin/rails test #{location}:#{line}]
|
|
212
|
+
else
|
|
213
|
+
bundle = "bundle exec " if defined?(Bundler)
|
|
214
|
+
%[#{bundle}rake TEST=#{location} TESTOPTS="--name=#{result.name}"]
|
|
215
|
+
end
|
|
216
|
+
end
|
|
186
217
|
end
|
|
187
218
|
end
|
|
188
219
|
end
|
|
@@ -1,15 +1,16 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
module Minitest
|
|
2
4
|
module Utils
|
|
3
5
|
class TestNotifierReporter < Minitest::StatisticsReporter
|
|
4
6
|
def report
|
|
5
7
|
super
|
|
6
8
|
|
|
7
|
-
stats = TestNotifier::Stats.new(:minitest,
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
})
|
|
9
|
+
stats = TestNotifier::Stats.new(:minitest,
|
|
10
|
+
count: count,
|
|
11
|
+
assertions: assertions,
|
|
12
|
+
failures: failures,
|
|
13
|
+
errors: errors)
|
|
13
14
|
|
|
14
15
|
TestNotifier.notify(status: stats.status, message: stats.message)
|
|
15
16
|
end
|
data/lib/minitest/utils.rb
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
module Minitest
|
|
2
4
|
module Utils
|
|
3
5
|
require "minitest"
|
|
@@ -7,18 +9,14 @@ module Minitest
|
|
|
7
9
|
require "minitest/utils/test_notifier_reporter"
|
|
8
10
|
|
|
9
11
|
load_lib = lambda do |path, &block|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
false
|
|
16
|
-
end
|
|
12
|
+
require path
|
|
13
|
+
block&.call
|
|
14
|
+
true
|
|
15
|
+
rescue LoadError
|
|
16
|
+
false
|
|
17
17
|
end
|
|
18
18
|
|
|
19
|
-
unless load_lib.call "mocha/minitest"
|
|
20
|
-
load_lib.call "mocha/mini_test"
|
|
21
|
-
end
|
|
19
|
+
load_lib.call "mocha/mini_test" unless load_lib.call "mocha/minitest"
|
|
22
20
|
|
|
23
21
|
load_lib.call "capybara"
|
|
24
22
|
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
require "minitest/utils/reporter"
|
|
2
4
|
require "minitest/utils/test_notifier_reporter"
|
|
3
5
|
|
|
@@ -6,6 +8,13 @@ module Minitest
|
|
|
6
8
|
reporters = Minitest.reporter.reporters
|
|
7
9
|
reporters.clear
|
|
8
10
|
reporters << Minitest::Utils::Reporter.new(options[:io], options)
|
|
9
|
-
|
|
11
|
+
|
|
12
|
+
begin
|
|
13
|
+
require "test_notifier"
|
|
14
|
+
reporters << Minitest::Utils::TestNotifierReporter.new(options[:io],
|
|
15
|
+
options)
|
|
16
|
+
rescue LoadError
|
|
17
|
+
# noop
|
|
18
|
+
end
|
|
10
19
|
end
|
|
11
20
|
end
|
data/minitest-utils.gemspec
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
require "./lib/minitest/utils/version"
|
|
2
4
|
|
|
3
5
|
Gem::Specification.new do |spec|
|
|
@@ -8,14 +10,20 @@ Gem::Specification.new do |spec|
|
|
|
8
10
|
spec.summary = "Some utilities for your Minitest day-to-day usage."
|
|
9
11
|
spec.description = spec.summary
|
|
10
12
|
spec.homepage = "http://github.com/fnando/minitest-utils"
|
|
13
|
+
spec.required_ruby_version = Gem::Requirement.new(">= 2.7.0")
|
|
11
14
|
|
|
12
|
-
spec.files = `git ls-files -z
|
|
15
|
+
spec.files = `git ls-files -z`
|
|
16
|
+
.split("\x0")
|
|
17
|
+
.reject {|f| f.match(%r{^(test|spec|features)/}) }
|
|
13
18
|
spec.bindir = "exe"
|
|
14
|
-
spec.executables = spec.files.grep(%r{^exe/}) {
|
|
19
|
+
spec.executables = spec.files.grep(%r{^exe/}) {|f| File.basename(f) }
|
|
15
20
|
spec.require_paths = ["lib"]
|
|
16
21
|
|
|
17
22
|
spec.add_dependency "minitest"
|
|
18
23
|
spec.add_development_dependency "bundler"
|
|
19
|
-
spec.add_development_dependency "rake"
|
|
20
24
|
spec.add_development_dependency "pry-meta"
|
|
25
|
+
spec.add_development_dependency "rake"
|
|
26
|
+
spec.add_development_dependency "rubocop"
|
|
27
|
+
spec.add_development_dependency "rubocop-fnando"
|
|
28
|
+
spec.add_development_dependency "test_notifier"
|
|
21
29
|
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: minitest-utils
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.4.
|
|
4
|
+
version: 0.4.8
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Nando Vieira
|
|
8
|
-
autorequire:
|
|
8
|
+
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2022-02-20 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: minitest
|
|
@@ -38,6 +38,20 @@ dependencies:
|
|
|
38
38
|
- - ">="
|
|
39
39
|
- !ruby/object:Gem::Version
|
|
40
40
|
version: '0'
|
|
41
|
+
- !ruby/object:Gem::Dependency
|
|
42
|
+
name: pry-meta
|
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
|
44
|
+
requirements:
|
|
45
|
+
- - ">="
|
|
46
|
+
- !ruby/object:Gem::Version
|
|
47
|
+
version: '0'
|
|
48
|
+
type: :development
|
|
49
|
+
prerelease: false
|
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
51
|
+
requirements:
|
|
52
|
+
- - ">="
|
|
53
|
+
- !ruby/object:Gem::Version
|
|
54
|
+
version: '0'
|
|
41
55
|
- !ruby/object:Gem::Dependency
|
|
42
56
|
name: rake
|
|
43
57
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -53,7 +67,35 @@ dependencies:
|
|
|
53
67
|
- !ruby/object:Gem::Version
|
|
54
68
|
version: '0'
|
|
55
69
|
- !ruby/object:Gem::Dependency
|
|
56
|
-
name:
|
|
70
|
+
name: rubocop
|
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
|
72
|
+
requirements:
|
|
73
|
+
- - ">="
|
|
74
|
+
- !ruby/object:Gem::Version
|
|
75
|
+
version: '0'
|
|
76
|
+
type: :development
|
|
77
|
+
prerelease: false
|
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
79
|
+
requirements:
|
|
80
|
+
- - ">="
|
|
81
|
+
- !ruby/object:Gem::Version
|
|
82
|
+
version: '0'
|
|
83
|
+
- !ruby/object:Gem::Dependency
|
|
84
|
+
name: rubocop-fnando
|
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
|
86
|
+
requirements:
|
|
87
|
+
- - ">="
|
|
88
|
+
- !ruby/object:Gem::Version
|
|
89
|
+
version: '0'
|
|
90
|
+
type: :development
|
|
91
|
+
prerelease: false
|
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
93
|
+
requirements:
|
|
94
|
+
- - ">="
|
|
95
|
+
- !ruby/object:Gem::Version
|
|
96
|
+
version: '0'
|
|
97
|
+
- !ruby/object:Gem::Dependency
|
|
98
|
+
name: test_notifier
|
|
57
99
|
requirement: !ruby/object:Gem::Requirement
|
|
58
100
|
requirements:
|
|
59
101
|
- - ">="
|
|
@@ -73,7 +115,9 @@ executables: []
|
|
|
73
115
|
extensions: []
|
|
74
116
|
extra_rdoc_files: []
|
|
75
117
|
files:
|
|
118
|
+
- ".github/FUNDING.yml"
|
|
76
119
|
- ".gitignore"
|
|
120
|
+
- ".rubocop.yml"
|
|
77
121
|
- Gemfile
|
|
78
122
|
- LICENSE.txt
|
|
79
123
|
- README.md
|
|
@@ -105,7 +149,7 @@ files:
|
|
|
105
149
|
homepage: http://github.com/fnando/minitest-utils
|
|
106
150
|
licenses: []
|
|
107
151
|
metadata: {}
|
|
108
|
-
post_install_message:
|
|
152
|
+
post_install_message:
|
|
109
153
|
rdoc_options: []
|
|
110
154
|
require_paths:
|
|
111
155
|
- lib
|
|
@@ -113,16 +157,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
113
157
|
requirements:
|
|
114
158
|
- - ">="
|
|
115
159
|
- !ruby/object:Gem::Version
|
|
116
|
-
version:
|
|
160
|
+
version: 2.7.0
|
|
117
161
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
118
162
|
requirements:
|
|
119
163
|
- - ">="
|
|
120
164
|
- !ruby/object:Gem::Version
|
|
121
165
|
version: '0'
|
|
122
166
|
requirements: []
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
signing_key:
|
|
167
|
+
rubygems_version: 3.3.7
|
|
168
|
+
signing_key:
|
|
126
169
|
specification_version: 4
|
|
127
170
|
summary: Some utilities for your Minitest day-to-day usage.
|
|
128
171
|
test_files: []
|