minitest-utils 0.6.3 → 0.6.5

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 17d94a9022a755b8792cfd445718e67547a7090cf16f2355320c9b89ae225e32
4
- data.tar.gz: 7e2f7eb222ae4a000493f388a3e5a814b5fd419d44c42d01398fda4787acb088
3
+ metadata.gz: 44367be1237b4e5f4e5b0230f5650b646a9edffe0fcbdaca4a422104543a33c0
4
+ data.tar.gz: 3a77f6fcc7b2000742483260695ef3ca19902f9222360ffbb1bab1b3cd96d1b9
5
5
  SHA512:
6
- metadata.gz: 5d739413224b4e2fc86603ec8d95e5d8c5d83b5b8339b6f5d9be9f7af8078ae628c2f5ae667481b2b646c006bcd42385dad1ab14e7f98b8ad0b06d074a5cbb1b
7
- data.tar.gz: 902bfb2db3d7f3ceefd3ab28646ae0d97a47d50a1f9c9748a723f6cf6c7a27410d1a2f0d76ad5b235cde23dc1125c1203fd1753763f7d728df8109ddf53d3ef3
6
+ metadata.gz: 4d26c13ae7ddab46cccee79bb38fcd47f198e380e090bb29d1a332b3cc2363a93206a6c31963853b3bb4d23711e47ad2d75087bc9c5723829f82eb2853e32996
7
+ data.tar.gz: ada644bc3f3609b8bc60ff02961b205b592ff63f211bbf3356e7a8b79b2aef8c92dba167fb7d54acca4f47357c495c9a193012673279118c75ea8e6c5c51477d
data/Gemfile CHANGED
@@ -4,3 +4,4 @@ source "https://rubygems.org"
4
4
 
5
5
  # Specify your gem's dependencies in minitest-utils.gemspec
6
6
  gemspec
7
+ gem "test_notifier"
data/README.md CHANGED
@@ -155,7 +155,7 @@ starting with `#` are ignored.
155
155
  test/fixtures
156
156
  ```
157
157
 
158
- > ![NOTE]
158
+ > [!NOTE]
159
159
  >
160
160
  > This command is also available as the long form `minitest`, for linux users.
161
161
  > Linux has a `mt` command for managing magnetic tapes.
@@ -0,0 +1,33 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "minitest/utils"
4
+
5
+ load_lib = lambda do |path, &block|
6
+ require path
7
+ block&.call
8
+ true
9
+ rescue LoadError
10
+ false
11
+ end
12
+
13
+ load_lib.call "mocha/mini_test" unless load_lib.call "mocha/minitest"
14
+
15
+ load_lib.call "capybara"
16
+
17
+ load_lib.call "webmock" do
18
+ require_relative "utils/setup/webmock"
19
+ end
20
+
21
+ load_lib.call "database_cleaner" do
22
+ require_relative "utils/setup/database_cleaner"
23
+ end
24
+
25
+ load_lib.call "factory_girl" do
26
+ require_relative "utils/setup/factory_girl"
27
+ end
28
+
29
+ load_lib.call "factory_bot" do
30
+ require_relative "utils/setup/factory_bot"
31
+ end
32
+
33
+ require_relative "utils/railtie" if defined?(Rails)
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  gem "selenium-webdriver"
4
- gem "chromedriver-helper"
4
+ gem "webdrivers"
5
5
 
6
6
  Capybara.register_driver :chrome do |app|
7
7
  options = Selenium::WebDriver::Chrome::Options.new(
@@ -113,7 +113,7 @@ module Minitest
113
113
 
114
114
  bundler = "bundle exec " if self.class.loaded_via_bundle_exec
115
115
 
116
- ENV["MT_TEST_COMMAND"] =
116
+ ENV["MT_TEST_COMMAND"] ||=
117
117
  "#{bundler}mt %{location}:%{line} #{color('# %{description}', :blue)}"
118
118
 
119
119
  ARGV.clear
@@ -374,7 +374,7 @@ module Minitest
374
374
  io << "\n"
375
375
 
376
376
  matches.each do |match|
377
- match => { short:, long:, description: }
377
+ match => {short:, long:, description:}
378
378
 
379
379
  io << " "
380
380
  io << (" " * (short_size - short.to_s.size))
@@ -17,7 +17,7 @@ module Minitest
17
17
  module Utils
18
18
  class Reporter < Minitest::StatisticsReporter
19
19
  def self.filters
20
- @filters ||= []
20
+ @filters ||= [%r{/vendor/}]
21
21
  end
22
22
 
23
23
  COLOR_FOR_RESULT_CODE = {
@@ -115,7 +115,7 @@ module Minitest
115
115
  results
116
116
  .each
117
117
  .with_index(initial_index + 1) do |result, index|
118
- display_skipped(result, index)
118
+ display_skipped(result, index)
119
119
  end
120
120
  end
121
121
 
@@ -239,10 +239,12 @@ module Minitest
239
239
  end
240
240
 
241
241
  private def backtrace(backtrace)
242
- backtrace = filter_backtrace(backtrace).map do |line|
243
- location(line, true)
242
+ unless Minitest.options[:backtrace]
243
+ backtrace = filter_backtrace(backtrace)
244
244
  end
245
245
 
246
+ backtrace = backtrace.map {|line| location(line, true) }
247
+
246
248
  return if backtrace.empty?
247
249
 
248
250
  indent(backtrace.join("\n")).gsub(/^(\s+)/, "\\1# ")
@@ -291,8 +293,8 @@ module Minitest
291
293
 
292
294
  private def running_rails?
293
295
  defined?(Rails) &&
294
- Rails.respond_to?(:version) &&
295
- Rails.version >= "5.0.0"
296
+ Rails.respond_to?(:version) &&
297
+ Rails.version >= "5.0.0"
296
298
  end
297
299
 
298
300
  def bundler
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Minitest
4
4
  module Utils
5
- VERSION = "0.6.3"
5
+ VERSION = "0.6.5"
6
6
  end
7
7
  end
@@ -13,7 +13,6 @@ module Minitest
13
13
  require_relative "utils/version"
14
14
  require_relative "utils/reporter"
15
15
  require_relative "utils/extension"
16
- require_relative "utils/test_notifier_reporter"
17
16
 
18
17
  COLOR = {
19
18
  red: 31,
@@ -65,5 +64,7 @@ module Minitest
65
64
  end
66
65
 
67
66
  require_relative "utils/railtie" if defined?(Rails)
67
+
68
+ Minitest.load(:utils)
68
69
  end
69
70
  end
@@ -1,7 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require_relative "utils/reporter"
4
- require_relative "utils/test_notifier_reporter"
5
4
 
6
5
  module Minitest
7
6
  def self.plugin_utils_options(opts, options)
@@ -11,6 +10,10 @@ module Minitest
11
10
  options[:slow] = true
12
11
  end
13
12
 
13
+ opts.on("--backtrace", "Show full backtrace") do
14
+ options[:backtrace] = true
15
+ end
16
+
14
17
  opts.on("--no-color", "Disable colored output") do
15
18
  options[:no_color] = true
16
19
  end
@@ -32,10 +35,6 @@ module Minitest
32
35
 
33
36
  begin
34
37
  require "test_notifier"
35
- reporters << Minitest::Utils::TestNotifierReporter.new(
36
- options[:io],
37
- options
38
- )
39
38
  rescue LoadError
40
39
  # noop
41
40
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: minitest-utils
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.3
4
+ version: 0.6.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nando Vieira
8
8
  bindir: exe
9
9
  cert_chain: []
10
- date: 2025-03-16 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
13
  name: listen
@@ -144,8 +144,8 @@ files:
144
144
  - exe/minitest
145
145
  - exe/mt
146
146
  - lib/minitest/utils.rb
147
+ - lib/minitest/utils/autoload.rb
147
148
  - lib/minitest/utils/capybara/chrome_headless.rb
148
- - lib/minitest/utils/capybara/screenshot_on_failures.rb
149
149
  - lib/minitest/utils/cli.rb
150
150
  - lib/minitest/utils/extension.rb
151
151
  - lib/minitest/utils/rails.rb
@@ -157,7 +157,6 @@ files:
157
157
  - lib/minitest/utils/setup/factory_bot.rb
158
158
  - lib/minitest/utils/setup/factory_girl.rb
159
159
  - lib/minitest/utils/setup/webmock.rb
160
- - lib/minitest/utils/test_notifier_reporter.rb
161
160
  - lib/minitest/utils/version.rb
162
161
  - lib/minitest/utils_plugin.rb
163
162
  - minitest-utils.gemspec
@@ -183,7 +182,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
183
182
  - !ruby/object:Gem::Version
184
183
  version: '0'
185
184
  requirements: []
186
- rubygems_version: 3.6.2
185
+ rubygems_version: 4.0.3
187
186
  specification_version: 4
188
187
  summary: Some utilities for your Minitest day-to-day usage.
189
188
  test_files: []
@@ -1,15 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- gem "launchy"
4
-
5
- module Minitest
6
- class Test
7
- teardown do
8
- next unless Capybara.current_driver == Capybara.javascript_driver
9
-
10
- return unless failures.any?
11
-
12
- save_and_open_screenshot # rubocop:disable Lint/Debugger
13
- end
14
- end
15
- end
@@ -1,19 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Minitest
4
- module Utils
5
- class TestNotifierReporter < Minitest::StatisticsReporter
6
- def report
7
- super
8
-
9
- stats = TestNotifier::Stats.new(:minitest,
10
- count: count,
11
- assertions: assertions,
12
- failures: failures,
13
- errors: errors)
14
-
15
- TestNotifier.notify(status: stats.status, message: stats.message)
16
- end
17
- end
18
- end
19
- end