Skip to content

Commit 0b146c4

Browse files
authored
Merge pull request #2761 from ruby/update-minitest
Update minitest
2 parents d7812b7 + 0cf442c commit 0b146c4

File tree

4 files changed

+42
-23
lines changed

4 files changed

+42
-23
lines changed

Gemfile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ gem 'pstore'
5252

5353
group :minitest do
5454
gem "minitest"
55+
gem "minitest-mock"
5556
end
5657

5758
group :typecheck_test do

Gemfile.lock

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,9 @@ GEM
6969
marcel (1.1.0)
7070
memory_profiler (1.1.0)
7171
mini_portile2 (2.8.9)
72-
minitest (5.27.0)
72+
minitest (6.0.0)
73+
prism (~> 1.5)
74+
minitest-mock (5.27.0)
7375
mutex_m (0.3.0)
7476
net-protocol (0.2.2)
7577
timeout
@@ -206,6 +208,7 @@ DEPENDENCIES
206208
json-schema
207209
memory_profiler
208210
minitest
211+
minitest-mock
209212
mutex_m
210213
net-smtp
211214
nkf

test/rbs/test/runtime_test_test.rb

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,7 @@ def world: () -> void
142142
end
143143

144144
def test_minitest
145+
omit unless has_gem?("minitest-mock") && has_gem?("minitest")
145146
omit if skip_minitest?
146147

147148
assert_test_success(other_env: { 'RBS_TEST_TARGET' => 'Foo', 'RBS_TEST_DOUBLE_SUITE' => 'minitest' }, rbs_content: <<RBS, ruby_content: <<RUBY)
@@ -156,6 +157,7 @@ def foo(integer)
156157
end
157158
158159
require "minitest/autorun"
160+
require "minitest/mock"
159161
160162
class FooTest < Minitest::Test
161163
def test_foo_mock

test/rbs/test/type_check_test.rb

Lines changed: 35 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -625,22 +625,11 @@ def test_typecheck_args
625625
end
626626
end
627627

628-
def test_is_double
629-
omit unless has_gem?("rspec")
630-
omit if skip_minitest?
631-
628+
def test_is_double__rspec
632629
require "rspec/mocks/standalone"
633-
require "minitest/mock"
634630

635631
SignatureManager.new do |manager|
636632
manager.build do |env|
637-
minitest_typecheck = Test::TypeCheck.new(
638-
self_class: Integer,
639-
builder: DefinitionBuilder.new(env: env),
640-
sample_size: 100,
641-
unchecked_classes: ['Minitest::Mock']
642-
)
643-
644633
rspec_typecheck = Test::TypeCheck.new(
645634
self_class: Integer,
646635
builder: DefinitionBuilder.new(env: env),
@@ -655,26 +644,50 @@ def test_is_double
655644
unchecked_classes: []
656645
)
657646

658-
minitest_mock = ::Minitest::Mock.new
659647
rspec_mock = RSPEC_MOCK[]
660648

661-
assert minitest_typecheck.is_double? minitest_mock
662649
assert rspec_typecheck.is_double? rspec_mock
663-
664-
refute minitest_typecheck.is_double? rspec_mock
665-
refute rspec_typecheck.is_double? minitest_mock
666-
667-
refute minitest_typecheck.is_double? 1
668-
refute minitest_typecheck.is_double? 'hi'
669-
refute minitest_typecheck.is_double? nil
650+
refute no_mock_typecheck.is_double? rspec_mock
670651

671652
refute rspec_typecheck.is_double? 1
672653
refute rspec_typecheck.is_double? 'hi'
673654
refute rspec_typecheck.is_double? nil
655+
end
656+
end
657+
end
674658

675-
refute no_mock_typecheck.is_double? minitest_mock
659+
def test_is_double__minitest
660+
# Minitest is optional dependency to make ruby-lsp-test-discovery work correctly.
661+
# Omit this test when minitest is unavailable, or `NO_MINITEST` env var is set.
662+
omit unless has_gem?("minitest-mock") && has_gem?("minitest")
663+
omit if skip_minitest?
664+
665+
require "minitest/mock"
666+
667+
SignatureManager.new do |manager|
668+
manager.build do |env|
669+
minitest_typecheck = Test::TypeCheck.new(
670+
self_class: Integer,
671+
builder: DefinitionBuilder.new(env: env),
672+
sample_size: 100,
673+
unchecked_classes: ['Minitest::Mock']
674+
)
675+
676+
no_mock_typecheck = Test::TypeCheck.new(
677+
self_class: Integer,
678+
builder: DefinitionBuilder.new(env: env),
679+
sample_size: 100,
680+
unchecked_classes: []
681+
)
682+
683+
minitest_mock = ::Minitest::Mock.new
684+
685+
assert minitest_typecheck.is_double? minitest_mock
676686
refute no_mock_typecheck.is_double? minitest_mock
677687

688+
refute minitest_typecheck.is_double? 1
689+
refute minitest_typecheck.is_double? 'hi'
690+
refute minitest_typecheck.is_double? nil
678691
end
679692
end
680693
end

0 commit comments

Comments
 (0)