minitest-utils 0.4.4 → 0.4.5

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: a99a19ba55c65932adf23dbac70bb1c4dd9c5d6ac2873ac68ee4a16587a33a7b
4
- data.tar.gz: d8c351c71b8322a6aad1402495e74f5820a613f32982b9830f3d79fa398af51f
3
+ metadata.gz: cafac996d26a83dd52cab2251f1c2e2d7cae70ef30d382a72061945ab343f29f
4
+ data.tar.gz: ec09d038b0d0e95729038894f549fb81f440f86c21da502a05aca821f4924315
5
5
  SHA512:
6
- metadata.gz: a3dc2f9ba2a9fab1d7c631210d02a43f521ba6634d9d4cdc53f6e4f24ff9754cef17379eb7b6e9ca77627d249bf2b02436a32319a9f7086c4690bf427d5f78fd
7
- data.tar.gz: e6b70cdd8e30e1cf2019e3c439c0eaf258ec16578e27f1053bae3086ed3a0d7cba8d661aa7a453508cc406415703632cc463b7f72d832aedcc4ba2faa5e035a4
6
+ metadata.gz: eef226b50750e7ebc85861059679783dfbfce05a74909b8f15d0680ea59e930e4f580f976653d9759c3b6c3b66d0feb369f00e0688290754e61d0732be1fe080
7
+ data.tar.gz: 7ec28ba64bbf01f8bce06bbcb8c6010eb96070440f170c98de21454f61ffe45af620fec8a610a7a24b3e039ecfa7639e3068618f75aef81a93d8f6e9b392f091
data/.rubocop.yml ADDED
@@ -0,0 +1,17 @@
1
+ ---
2
+ inherit_gem:
3
+ rubocop-fnando: .rubocop.yml
4
+
5
+ AllCops:
6
+ TargetRubyVersion: 2.6
7
+
8
+ Metrics/LineLength:
9
+ Exclude:
10
+ - test/**/*
11
+
12
+ Metrics/AbcSize:
13
+ Enabled: false
14
+
15
+ Style/GlobalVars:
16
+ Exclude:
17
+ - test/minitest/utils/let_test.rb
data/Gemfile CHANGED
@@ -1,4 +1,6 @@
1
- source 'https://rubygems.org'
1
+ # frozen_string_literal: true
2
+
3
+ source "https://rubygems.org"
2
4
 
3
5
  # Specify your gem's dependencies in minitest-utils.gemspec
4
6
  gemspec
data/Rakefile CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "bundler/gem_tasks"
2
4
  require "rake/testtask"
3
5
 
@@ -8,4 +10,4 @@ Rake::TestTask.new(:test) do |t|
8
10
  t.warning = false
9
11
  end
10
12
 
11
- task :default => :test
13
+ task default: :test
data/bin/console CHANGED
@@ -1,4 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
2
3
 
3
4
  require "bundler/setup"
4
5
  require "minitest/utils"
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 'pathname'
10
- ENV['BUNDLE_GEMFILE'] ||= File.expand_path("../../Gemfile",
11
- Pathname.new(__FILE__).realpath)
11
+ require "pathname"
12
+ ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile",
13
+ Pathname.new(__FILE__).realpath)
12
14
 
13
- require 'rubygems'
14
- require 'bundler/setup'
15
+ require "rubygems"
16
+ require "bundler/setup"
15
17
 
16
- load Gem.bin_path('rake', 'rake')
18
+ load Gem.bin_path("rake", "rake")
@@ -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
- begin
11
- require path
12
- block.call if block
13
- true
14
- rescue LoadError
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,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
- Capybara::Selenium::Driver.new app, browser: :chrome,
6
- options: Selenium::WebDriver::Chrome::Options.new(args: %w[headless disable-gpu])
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
- save_and_open_screenshot if failures.any?
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
@@ -55,12 +57,23 @@ module Minitest
55
57
  include mod
56
58
  end
57
59
 
58
- def self.let(name, &block)
59
- target = instance_method(name) rescue nil
60
+ def self.let(name, &block) # rubocop:disable Metrics/MethodLength
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
- raise ArgumentError, "#{message} method cannot begin with 'test'." if name.to_s.start_with?("test")
63
- raise ArgumentError, "#{message} method already defined by #{target.owner}." if target
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
  module Minitest
2
4
  module Utils
3
5
  module UrlHelpers
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "capybara/rails"
2
4
 
3
5
  module ActionDispatch
@@ -9,7 +11,7 @@ module ActionDispatch
9
11
  Capybara.use_default_driver
10
12
  end
11
13
 
12
- def self.use_javascript!(raise_on_javascript_errors: true)
14
+ def self.use_javascript!(raise_on_javascript_errors: true) # rubocop:disable Metrics/MethodLength
13
15
  setup do
14
16
  Capybara.current_driver = Capybara.javascript_driver
15
17
  end
@@ -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 {|log| log.level == "SEVERE" }
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
- .map(&:message)
26
- .map {|message| message[/(\d+:\d+ .*?)$/, 1] }
27
- .join("\n")
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
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Minitest
2
4
  module Utils
3
5
  module Locale
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "rails/railtie"
2
4
 
3
5
  module Minitest
@@ -1,19 +1,21 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Minitest
2
4
  module Utils
3
- class Reporter < Minitest::StatisticsReporter
5
+ class Reporter < Minitest::StatisticsReporter # rubocop:disable Metrics/ClassLength
4
6
  COLOR_FOR_RESULT_CODE = {
5
7
  "." => :green,
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
@@ -33,7 +35,7 @@ module Minitest
33
35
  io.puts
34
36
  end
35
37
 
36
- def report
38
+ def report # rubocop:disable Metrics/MethodLength
37
39
  super
38
40
  io.sync = true
39
41
 
@@ -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) {|result, index| display_failing(result, index) }
49
- skipped_results.each.with_index(failing_results.size + 1) {|result, index| display_skipped(result, index) }
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
- if failing_results.any?
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
- private
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
- "Finished in %.6fs, %.4f runs/s, %.4f assertions/s." %
67
- [total_time, count / total_time, assertions / total_time]
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,40 +88,37 @@ 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
- str = "\n\n"
90
- str << color("%4d) %s" % [index, result_name(result.name)])
91
- str << "\n" << color(indent(message), :red)
92
- str << "\n" << color(backtrace, :blue)
93
- io.print str
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
109
  str = "\n\n"
99
- str << color("%4d) %s [SKIPPED]" % [index, result_name(result.name)], :yellow)
110
+ str << color(
111
+ format("%4d) %s [SKIPPED]", index, result_name(result.name)), :yellow
112
+ )
100
113
  str << "\n" << indent(color(location, :yellow))
101
114
  io.print str
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 = if defined?(Rails) && Rails.version >= "5.0.0"
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
123
  str = "\n"
116
124
  str << color(command, :red)
@@ -118,49 +126,53 @@ module Minitest
118
126
  io.print str
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[^.*?/((?:test|spec)/.*?)$], "\\1")
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 {|line| location(line, true) }
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)
140
152
  regex = include_line_number ? /^([^:]+:\d+)/ : /^([^:]+)/
141
153
  location = File.expand_path(location[regex, 1])
142
154
 
143
155
  return location unless location.start_with?(Dir.pwd)
144
156
 
145
- location.gsub(%r[^#{Regexp.escape(Dir.pwd)}/], "")
157
+ location.gsub(%r{^#{Regexp.escape(Dir.pwd)}/}, "")
146
158
  end
147
159
 
148
- def filter_backtrace(backtrace)
160
+ private def filter_backtrace(backtrace)
149
161
  Minitest.backtrace_filter.filter(backtrace)
150
162
  end
151
163
 
152
- def result_name(name)
164
+ private def result_name(name)
153
165
  name
154
166
  .gsub(/^test(_\d+)?_/, "")
155
167
  .gsub(/_/, " ")
156
168
  end
157
169
 
158
- def print_result_code(result_code)
170
+ private def print_result_code(result_code)
159
171
  result_code = color(result_code, COLOR_FOR_RESULT_CODE[result_code])
160
172
  io.print result_code
161
173
  end
162
174
 
163
- def color(string, color = :default)
175
+ private def color(string, color = :default)
164
176
  if color_enabled?
165
177
  color = COLOR.fetch(color, 0)
166
178
  "\e[#{color}m#{string}\e[0m"
@@ -169,11 +181,11 @@ module Minitest
169
181
  end
170
182
  end
171
183
 
172
- def color_enabled?
184
+ private def color_enabled?
173
185
  @color_enabled
174
186
  end
175
187
 
176
- def pluralize(word, count)
188
+ private def pluralize(word, count)
177
189
  case count
178
190
  when 0
179
191
  "no #{word}s"
@@ -183,6 +195,21 @@ module Minitest
183
195
  "#{count} #{word}s"
184
196
  end
185
197
  end
198
+
199
+ private def running_rails?
200
+ defined?(Rails) &&
201
+ Rails.respond_to?(:version) &&
202
+ Rails.version >= "5.0.0"
203
+ end
204
+
205
+ private def build_test_command(location, line, result)
206
+ if running_rails?
207
+ %[bin/rails test #{location}:#{line}]
208
+ else
209
+ bundle = "bundle exec " if defined?(Bundler)
210
+ %[#{bundle}rake TEST=#{location} TESTOPTS="--name=#{result.name}"]
211
+ end
212
+ end
186
213
  end
187
214
  end
188
215
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  DatabaseCleaner[:active_record].strategy = :truncation
2
4
 
3
5
  module Minitest
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Minitest
2
4
  class Test
3
5
  include FactoryBot::Syntax::Methods
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Minitest
2
4
  class Test
3
5
  include FactoryGirl::Syntax::Methods
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "webmock/minitest"
2
4
 
3
5
  WebMock.disable_net_connect!
@@ -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
- count: count,
9
- assertions: assertions,
10
- failures: failures,
11
- errors: errors
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
@@ -1,5 +1,7 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Minitest
2
4
  module Utils
3
- VERSION = "0.4.4".freeze
5
+ VERSION = "0.4.5"
4
6
  end
5
7
  end
@@ -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,9 @@ module Minitest
6
8
  reporters = Minitest.reporter.reporters
7
9
  reporters.clear
8
10
  reporters << Minitest::Utils::Reporter.new(options[:io], options)
9
- reporters << Minitest::Utils::TestNotifierReporter.new(options[:io], options) if defined?(TestNotifier)
11
+
12
+ return unless defined?(TestNotifier)
13
+
14
+ reporters << TestNotifierReporter.new(options[:io], options)
10
15
  end
11
16
  end
@@ -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|
@@ -9,13 +11,17 @@ Gem::Specification.new do |spec|
9
11
  spec.description = spec.summary
10
12
  spec.homepage = "http://github.com/fnando/minitest-utils"
11
13
 
12
- spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
14
+ spec.files = `git ls-files -z`
15
+ .split("\x0")
16
+ .reject {|f| f.match(%r{^(test|spec|features)/}) }
13
17
  spec.bindir = "exe"
14
- spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
18
+ spec.executables = spec.files.grep(%r{^exe/}) {|f| File.basename(f) }
15
19
  spec.require_paths = ["lib"]
16
20
 
17
21
  spec.add_dependency "minitest"
18
22
  spec.add_development_dependency "bundler"
19
- spec.add_development_dependency "rake"
20
23
  spec.add_development_dependency "pry-meta"
24
+ spec.add_development_dependency "rake"
25
+ spec.add_development_dependency "rubocop"
26
+ spec.add_development_dependency "rubocop-fnando"
21
27
  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
4
+ version: 0.4.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nando Vieira
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-10-03 00:00:00.000000000 Z
11
+ date: 2019-12-15 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,21 @@ dependencies:
53
67
  - !ruby/object:Gem::Version
54
68
  version: '0'
55
69
  - !ruby/object:Gem::Dependency
56
- name: pry-meta
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
57
85
  requirement: !ruby/object:Gem::Requirement
58
86
  requirements:
59
87
  - - ">="
@@ -74,6 +102,7 @@ extensions: []
74
102
  extra_rdoc_files: []
75
103
  files:
76
104
  - ".gitignore"
105
+ - ".rubocop.yml"
77
106
  - Gemfile
78
107
  - LICENSE.txt
79
108
  - README.md
@@ -120,8 +149,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
120
149
  - !ruby/object:Gem::Version
121
150
  version: '0'
122
151
  requirements: []
123
- rubyforge_project:
124
- rubygems_version: 2.7.6
152
+ rubygems_version: 3.0.3
125
153
  signing_key:
126
154
  specification_version: 4
127
155
  summary: Some utilities for your Minitest day-to-day usage.