rbs 2.5.1 → 2.6.0

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.
Files changed (84) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/comments.yml +1 -1
  3. data/.github/workflows/ruby.yml +3 -3
  4. data/CHANGELOG.md +44 -0
  5. data/Gemfile.lock +5 -5
  6. data/Rakefile +6 -38
  7. data/Steepfile +6 -2
  8. data/core/constants.rbs +1 -1
  9. data/core/env.rbs +1 -1323
  10. data/core/global_variables.rbs +1 -1
  11. data/core/hash.rbs +3 -3
  12. data/core/kernel.rbs +2 -2
  13. data/core/random.rbs +5 -220
  14. data/core/rational.rbs +3 -3
  15. data/core/rbs/unnamed/argf.rbs +965 -0
  16. data/core/rbs/unnamed/env_class.rbs +1325 -0
  17. data/core/rbs/unnamed/random.rbs +270 -0
  18. data/core/regexp.rbs +2 -3
  19. data/docs/CONTRIBUTING.md +2 -2
  20. data/ext/rbs_extension/lexer.c +1343 -1353
  21. data/ext/rbs_extension/lexer.re +2 -2
  22. data/ext/rbs_extension/rbs_extension.h +1 -1
  23. data/ext/rbs_extension/unescape.c +17 -10
  24. data/lib/rbs/ast/members.rb +6 -3
  25. data/lib/rbs/cli.rb +2 -0
  26. data/lib/rbs/factory.rb +2 -0
  27. data/lib/rbs/prototype/helpers.rb +1 -5
  28. data/lib/rbs/prototype/rb.rb +105 -56
  29. data/lib/rbs/prototype/rbi.rb +65 -30
  30. data/lib/rbs/prototype/runtime.rb +4 -3
  31. data/lib/rbs/test/setup_helper.rb +6 -1
  32. data/lib/rbs/version.rb +1 -1
  33. data/schema/members.json +4 -1
  34. data/sig/collection/config.rbs +3 -0
  35. data/sig/factory.rbs +5 -0
  36. data/sig/prototype/helpers.rbs +23 -0
  37. data/sig/prototype/rb.rbs +84 -0
  38. data/sig/prototype/rbi.rbs +73 -0
  39. data/sig/shims/abstract_syntax_tree.rbs +25 -0
  40. data/sig/shims/enumerable.rbs +5 -0
  41. data/sig/shims/pp.rbs +3 -0
  42. data/sig/shims/ripper.rbs +8 -0
  43. data/stdlib/cgi/0/manifest.yaml +2 -0
  44. data/stdlib/date/0/time.rbs +26 -0
  45. data/stdlib/etc/0/etc.rbs +745 -0
  46. data/stdlib/minitest/0/kernel.rbs +42 -0
  47. data/stdlib/minitest/0/manifest.yaml +2 -0
  48. data/stdlib/minitest/0/minitest/abstract_reporter.rbs +49 -0
  49. data/stdlib/minitest/0/minitest/assertion.rbs +16 -0
  50. data/stdlib/minitest/0/minitest/assertions.rbs +545 -0
  51. data/stdlib/minitest/0/minitest/backtrace_filter.rbs +16 -0
  52. data/stdlib/minitest/0/minitest/bench_spec.rbs +102 -0
  53. data/stdlib/minitest/0/minitest/benchmark.rbs +258 -0
  54. data/stdlib/minitest/0/minitest/composite_reporter.rbs +25 -0
  55. data/stdlib/minitest/0/minitest/expectation.rbs +2 -0
  56. data/stdlib/minitest/0/minitest/expectations.rbs +21 -0
  57. data/stdlib/minitest/0/minitest/guard.rbs +64 -0
  58. data/stdlib/minitest/0/minitest/mock.rbs +60 -0
  59. data/stdlib/minitest/0/minitest/parallel/executor.rbs +42 -0
  60. data/stdlib/minitest/0/minitest/parallel/test/class_methods.rbs +6 -0
  61. data/stdlib/minitest/0/minitest/parallel/test.rbs +3 -0
  62. data/stdlib/minitest/0/minitest/parallel.rbs +2 -0
  63. data/stdlib/minitest/0/minitest/pride_io.rbs +54 -0
  64. data/stdlib/minitest/0/minitest/pride_lol.rbs +17 -0
  65. data/stdlib/minitest/0/minitest/progress_reporter.rbs +11 -0
  66. data/stdlib/minitest/0/minitest/reportable.rbs +51 -0
  67. data/stdlib/minitest/0/minitest/reporter.rbs +5 -0
  68. data/stdlib/minitest/0/minitest/result.rbs +28 -0
  69. data/stdlib/minitest/0/minitest/runnable.rbs +131 -0
  70. data/stdlib/minitest/0/minitest/skip.rbs +6 -0
  71. data/stdlib/minitest/0/minitest/spec/dsl/instance_methods.rbs +48 -0
  72. data/stdlib/minitest/0/minitest/spec/dsl.rbs +125 -0
  73. data/stdlib/minitest/0/minitest/spec.rbs +11 -0
  74. data/stdlib/minitest/0/minitest/statistics_reporter.rbs +76 -0
  75. data/stdlib/minitest/0/minitest/summary_reporter.rbs +25 -0
  76. data/stdlib/minitest/0/minitest/test/lifecycle_hooks.rbs +92 -0
  77. data/stdlib/minitest/0/minitest/test.rbs +76 -0
  78. data/stdlib/minitest/0/minitest/unexpected_error.rbs +10 -0
  79. data/stdlib/minitest/0/minitest/unit/test_case.rbs +3 -0
  80. data/stdlib/minitest/0/minitest/unit.rbs +5 -0
  81. data/stdlib/minitest/0/minitest.rbs +966 -0
  82. data/stdlib/rubygems/0/errors.rbs +113 -0
  83. metadata +54 -4
  84. data/lib/rbs/char_scanner.rb +0 -20
@@ -0,0 +1,42 @@
1
+ %a{annotate:rdoc:skip}
2
+ module Kernel : ::BasicObject
3
+ # <!--
4
+ # rdoc-file=lib/minitest/spec.rb
5
+ # - describe(desc, *additional_desc, &block)
6
+ # -->
7
+ # Describe a series of expectations for a given target `desc`.
8
+ #
9
+ # Defines a test class subclassing from either Minitest::Spec or from the
10
+ # surrounding describe's class. The surrounding class may subclass
11
+ # Minitest::Spec manually in order to easily share code:
12
+ #
13
+ # class MySpec < Minitest::Spec
14
+ # # ... shared code ...
15
+ # end
16
+ #
17
+ # class TestStuff < MySpec
18
+ # it "does stuff" do
19
+ # # shared code available here
20
+ # end
21
+ # describe "inner stuff" do
22
+ # it "still does stuff" do
23
+ # # ...and here
24
+ # end
25
+ # end
26
+ # end
27
+ #
28
+ # For more information on getting started with writing specs, see:
29
+ #
30
+ # http://www.rubyinside.com/a-minitestspec-tutorial-elegant-spec-style-testing-t
31
+ # hat-comes-with-ruby-5354.html
32
+ #
33
+ # For some suggestions on how to improve your specs, try:
34
+ #
35
+ # http://betterspecs.org
36
+ #
37
+ # but do note that several items there are debatable or specific to rspec.
38
+ #
39
+ # For more information about expectations, see Minitest::Expectations.
40
+ #
41
+ private def describe: (untyped desc, *untyped additional_desc) ?{ () -> untyped } -> untyped
42
+ end
@@ -0,0 +1,2 @@
1
+ dependencies:
2
+ - name: mutex_m
@@ -0,0 +1,49 @@
1
+ # <!-- rdoc-file=lib/minitest.rb -->
2
+ # Defines the API for Reporters. Subclass this and override whatever you want.
3
+ # Go nuts.
4
+ #
5
+ class Minitest::AbstractReporter
6
+ # <!--
7
+ # rdoc-file=lib/minitest.rb
8
+ # - start()
9
+ # -->
10
+ # Starts reporting on the run.
11
+ #
12
+ def start: () -> nil
13
+
14
+ # <!--
15
+ # rdoc-file=lib/minitest.rb
16
+ # - prerecord(klass, name)
17
+ # -->
18
+ # About to start running a test. This allows a reporter to show that it is
19
+ # starting or that we are in the middle of a test run.
20
+ #
21
+ def prerecord: (untyped klass, untyped name) -> nil
22
+
23
+ # <!--
24
+ # rdoc-file=lib/minitest.rb
25
+ # - record(result)
26
+ # -->
27
+ # Output and record the result of the test. Call
28
+ # [result#result_code](rdoc-ref:Runnable#result_code) to get the result
29
+ # character string. Stores the result of the run if the run did not pass.
30
+ #
31
+ def record: (untyped result) -> nil
32
+
33
+ # <!--
34
+ # rdoc-file=lib/minitest.rb
35
+ # - report()
36
+ # -->
37
+ # Outputs the summary of the run.
38
+ #
39
+ def report: () -> nil
40
+
41
+ # <!--
42
+ # rdoc-file=lib/minitest.rb
43
+ # - passed?()
44
+ # -->
45
+ # Did this run pass?
46
+ #
47
+ def passed?: () -> true
48
+ include Mutex_m
49
+ end
@@ -0,0 +1,16 @@
1
+ # <!-- rdoc-file=lib/minitest.rb -->
2
+ # Represents run failures.
3
+ #
4
+ class Minitest::Assertion < ::Exception
5
+ def error: () -> self
6
+
7
+ # <!--
8
+ # rdoc-file=lib/minitest.rb
9
+ # - location()
10
+ # -->
11
+ # Where was this run before an assertion was raised?
12
+ #
13
+ def location: () -> untyped
14
+ def result_code: () -> untyped
15
+ def result_label: () -> "Failure"
16
+ end
@@ -0,0 +1,545 @@
1
+ # <!-- rdoc-file=lib/minitest/assertions.rb -->
2
+ # Minitest Assertions. All assertion methods accept a `msg` which is printed if
3
+ # the assertion fails.
4
+ #
5
+ # Protocol: Nearly everything here boils up to `assert`, which expects to be
6
+ # able to increment an instance accessor named `assertions`. This is not
7
+ # provided by Assertions and must be provided by the thing including Assertions.
8
+ # See Minitest::Runnable for an example.
9
+ #
10
+ module Minitest::Assertions
11
+ def self.inspect: () -> "UNDEFINED"
12
+
13
+ # <!--
14
+ # rdoc-file=lib/minitest/assertions.rb
15
+ # - diff()
16
+ # -->
17
+ # Returns the diff command to use in #diff. Tries to intelligently figure out
18
+ # what diff to use.
19
+ #
20
+ def self.diff: () -> untyped
21
+
22
+ # <!--
23
+ # rdoc-file=lib/minitest/assertions.rb
24
+ # - diff=(o)
25
+ # -->
26
+ # Set the diff command to use in #diff.
27
+ #
28
+ def self.diff=: (untyped o) -> untyped
29
+
30
+ # <!--
31
+ # rdoc-file=lib/minitest/assertions.rb
32
+ # - diff(exp, act)
33
+ # -->
34
+ # Returns a diff between `exp` and `act`. If there is no known diff command or
35
+ # if it doesn't make sense to diff the output (single line, short output), then
36
+ # it simply returns a basic comparison between the two.
37
+ #
38
+ # See `things_to_diff` for more info.
39
+ #
40
+ def diff: (untyped exp, untyped act) -> (::String | untyped)
41
+
42
+ # <!--
43
+ # rdoc-file=lib/minitest/assertions.rb
44
+ # - things_to_diff(exp, act)
45
+ # -->
46
+ # Returns things to diff [expect, butwas], or [nil, nil] if nothing to diff.
47
+ #
48
+ # Criterion:
49
+ #
50
+ # 1. Strings include newlines or escaped newlines, but not both.
51
+ # 2. or: String lengths are > 30 characters.
52
+ # 3. or: Strings are equal to each other (but maybe different encodings?).
53
+ # 4. and: we found a diff executable.
54
+ #
55
+ def things_to_diff: (untyped exp, untyped act) -> untyped
56
+
57
+ # <!--
58
+ # rdoc-file=lib/minitest/assertions.rb
59
+ # - mu_pp(obj)
60
+ # -->
61
+ # This returns a human-readable version of `obj`. By default #inspect is called.
62
+ # You can override this to use #pretty_inspect if you want.
63
+ #
64
+ # See Minitest::Test.make_my_diffs_pretty!
65
+ #
66
+ def mu_pp: (untyped obj) -> untyped
67
+
68
+ # <!--
69
+ # rdoc-file=lib/minitest/assertions.rb
70
+ # - mu_pp_for_diff(obj)
71
+ # -->
72
+ # This returns a diff-able more human-readable version of `obj`. This differs
73
+ # from the regular mu_pp because it expands escaped newlines and makes
74
+ # hex-values (like object_ids) generic. This uses mu_pp to do the first pass and
75
+ # then cleans it up.
76
+ #
77
+ def mu_pp_for_diff: (untyped obj) -> untyped
78
+
79
+ # <!--
80
+ # rdoc-file=lib/minitest/assertions.rb
81
+ # - assert(test, msg = nil)
82
+ # -->
83
+ # Fails unless `test` is truthy.
84
+ #
85
+ def assert: (untyped test, ?untyped? msg) -> true
86
+
87
+ def _synchronize: () { () -> untyped } -> untyped
88
+
89
+ # <!--
90
+ # rdoc-file=lib/minitest/assertions.rb
91
+ # - assert_empty(obj, msg = nil)
92
+ # -->
93
+ # Fails unless `obj` is empty.
94
+ #
95
+ def assert_empty: (untyped obj, ?untyped? msg) -> untyped
96
+
97
+ # <!--
98
+ # rdoc-file=lib/minitest/assertions.rb
99
+ # - assert_equal(exp, act, msg = nil)
100
+ # -->
101
+ # Fails unless `exp == act` printing the difference between the two, if
102
+ # possible.
103
+ #
104
+ # If there is no visible difference but the assertion fails, you should suspect
105
+ # that your #== is buggy, or your inspect output is missing crucial details.
106
+ # For nicer structural diffing, set Minitest::Test.make_my_diffs_pretty!
107
+ #
108
+ # For floats use assert_in_delta.
109
+ #
110
+ # See also: Minitest::Assertions.diff
111
+ #
112
+ def assert_equal: (untyped exp, untyped act, ?untyped? msg) -> untyped
113
+
114
+ # <!--
115
+ # rdoc-file=lib/minitest/assertions.rb
116
+ # - assert_in_delta(exp, act, delta = 0.001, msg = nil)
117
+ # -->
118
+ # For comparing Floats. Fails unless `exp` and `act` are within `delta` of each
119
+ # other.
120
+ #
121
+ # assert_in_delta Math::PI, (22.0 / 7.0), 0.01
122
+ #
123
+ def assert_in_delta: (untyped exp, untyped act, ?::Float delta, ?untyped? msg) -> untyped
124
+
125
+ # <!--
126
+ # rdoc-file=lib/minitest/assertions.rb
127
+ # - assert_in_epsilon(exp, act, epsilon = 0.001, msg = nil)
128
+ # -->
129
+ # For comparing Floats. Fails unless `exp` and `act` have a relative error less
130
+ # than `epsilon`.
131
+ #
132
+ def assert_in_epsilon: (untyped exp, untyped act, ?::Float epsilon, ?untyped? msg) -> untyped
133
+
134
+ # <!--
135
+ # rdoc-file=lib/minitest/assertions.rb
136
+ # - assert_includes(collection, obj, msg = nil)
137
+ # -->
138
+ # Fails unless `collection` includes `obj`.
139
+ #
140
+ def assert_includes: (untyped collection, untyped obj, ?untyped? msg) -> untyped
141
+
142
+ # <!--
143
+ # rdoc-file=lib/minitest/assertions.rb
144
+ # - assert_instance_of(cls, obj, msg = nil)
145
+ # -->
146
+ # Fails unless `obj` is an instance of `cls`.
147
+ #
148
+ def assert_instance_of: (untyped cls, untyped obj, ?untyped? msg) -> untyped
149
+
150
+ # <!--
151
+ # rdoc-file=lib/minitest/assertions.rb
152
+ # - assert_kind_of(cls, obj, msg = nil)
153
+ # -->
154
+ # Fails unless `obj` is a kind of `cls`.
155
+ #
156
+ def assert_kind_of: (untyped cls, untyped obj, ?untyped? msg) -> untyped
157
+
158
+ # <!--
159
+ # rdoc-file=lib/minitest/assertions.rb
160
+ # - assert_match(matcher, obj, msg = nil)
161
+ # -->
162
+ # Fails unless `matcher` `=~` `obj`.
163
+ #
164
+ def assert_match: (untyped matcher, untyped obj, ?untyped? msg) -> untyped
165
+
166
+ # <!--
167
+ # rdoc-file=lib/minitest/assertions.rb
168
+ # - assert_nil(obj, msg = nil)
169
+ # -->
170
+ # Fails unless `obj` is nil
171
+ #
172
+ def assert_nil: (untyped obj, ?untyped? msg) -> untyped
173
+
174
+ # <!--
175
+ # rdoc-file=lib/minitest/assertions.rb
176
+ # - assert_operator(o1, op, o2 = UNDEFINED, msg = nil)
177
+ # -->
178
+ # For testing with binary operators. Eg:
179
+ #
180
+ # assert_operator 5, :<=, 4
181
+ #
182
+ def assert_operator: (untyped o1, untyped op, ?untyped o2, ?untyped? msg) -> untyped
183
+
184
+ # <!--
185
+ # rdoc-file=lib/minitest/assertions.rb
186
+ # - assert_output(stdout = nil, stderr = nil) { || ... }
187
+ # -->
188
+ # Fails if stdout or stderr do not output the expected results. Pass in nil if
189
+ # you don't care about that streams output. Pass in "" if you require it to be
190
+ # silent. Pass in a regexp if you want to pattern match.
191
+ #
192
+ # assert_output(/hey/) { method_with_output }
193
+ #
194
+ # NOTE: this uses #capture_io, not #capture_subprocess_io.
195
+ #
196
+ # See also: #assert_silent
197
+ #
198
+ def assert_output: (?untyped? stdout, ?untyped? stderr) { () -> untyped } -> untyped
199
+
200
+ # <!--
201
+ # rdoc-file=lib/minitest/assertions.rb
202
+ # - assert_path_exists(path, msg = nil)
203
+ # -->
204
+ # Fails unless `path` exists.
205
+ #
206
+ def assert_path_exists: (untyped path, ?untyped? msg) -> untyped
207
+
208
+ # <!--
209
+ # rdoc-file=lib/minitest/assertions.rb
210
+ # - assert_predicate(o1, op, msg = nil)
211
+ # -->
212
+ # For testing with predicates. Eg:
213
+ #
214
+ # assert_predicate str, :empty?
215
+ #
216
+ # This is really meant for specs and is front-ended by assert_operator:
217
+ #
218
+ # str.must_be :empty?
219
+ #
220
+ def assert_predicate: (untyped o1, untyped op, ?untyped? msg) -> untyped
221
+
222
+ # <!--
223
+ # rdoc-file=lib/minitest/assertions.rb
224
+ # - assert_raises(*exp) { || ... }
225
+ # -->
226
+ # Fails unless the block raises one of `exp`. Returns the exception matched so
227
+ # you can check the message, attributes, etc.
228
+ #
229
+ # `exp` takes an optional message on the end to help explain failures and
230
+ # defaults to StandardError if no exception class is passed. Eg:
231
+ #
232
+ # assert_raises(CustomError) { method_with_custom_error }
233
+ #
234
+ # With custom error message:
235
+ #
236
+ # assert_raises(CustomError, 'This should have raised CustomError') { method_with_custom_error }
237
+ #
238
+ # Using the returned object:
239
+ #
240
+ # error = assert_raises(CustomError) do
241
+ # raise CustomError, 'This is really bad'
242
+ # end
243
+ #
244
+ # assert_equal 'This is really bad', error.message
245
+ #
246
+ def assert_raises: (*untyped exp) { () -> untyped } -> untyped
247
+
248
+ # <!--
249
+ # rdoc-file=lib/minitest/assertions.rb
250
+ # - assert_respond_to(obj, meth, msg = nil)
251
+ # -->
252
+ # Fails unless `obj` responds to `meth`.
253
+ #
254
+ def assert_respond_to: (untyped obj, untyped meth, ?untyped? msg) -> untyped
255
+
256
+ # <!--
257
+ # rdoc-file=lib/minitest/assertions.rb
258
+ # - assert_same(exp, act, msg = nil)
259
+ # -->
260
+ # Fails unless `exp` and `act` are #equal?
261
+ #
262
+ def assert_same: (untyped exp, untyped act, ?untyped? msg) -> untyped
263
+
264
+ # <!--
265
+ # rdoc-file=lib/minitest/assertions.rb
266
+ # - assert_send(send_ary, m = nil)
267
+ # -->
268
+ # `send_ary` is a receiver, message and arguments.
269
+ #
270
+ # Fails unless the call returns a true value
271
+ #
272
+ def assert_send: (untyped send_ary, ?untyped? m) -> untyped
273
+
274
+ # <!--
275
+ # rdoc-file=lib/minitest/assertions.rb
276
+ # - assert_silent() { || ... }
277
+ # -->
278
+ # Fails if the block outputs anything to stderr or stdout.
279
+ #
280
+ # See also: #assert_output
281
+ #
282
+ def assert_silent: () { () -> untyped } -> untyped
283
+
284
+ # <!--
285
+ # rdoc-file=lib/minitest/assertions.rb
286
+ # - assert_throws(sym, msg = nil) { || ... }
287
+ # -->
288
+ # Fails unless the block throws `sym`
289
+ #
290
+ def assert_throws: (untyped sym, ?untyped? msg) { () -> untyped } -> untyped
291
+
292
+ # <!--
293
+ # rdoc-file=lib/minitest/assertions.rb
294
+ # - capture_io() { || ... }
295
+ # -->
296
+ # Captures $stdout and $stderr into strings:
297
+ #
298
+ # out, err = capture_io do
299
+ # puts "Some info"
300
+ # warn "You did a bad thing"
301
+ # end
302
+ #
303
+ # assert_match %r%info%, out
304
+ # assert_match %r%bad%, err
305
+ #
306
+ # NOTE: For efficiency, this method uses StringIO and does not capture IO for
307
+ # subprocesses. Use #capture_subprocess_io for that.
308
+ #
309
+ def capture_io: () { () -> untyped } -> untyped
310
+
311
+ # <!--
312
+ # rdoc-file=lib/minitest/assertions.rb
313
+ # - capture_subprocess_io() { || ... }
314
+ # -->
315
+ # Captures $stdout and $stderr into strings, using Tempfile to ensure that
316
+ # subprocess IO is captured as well.
317
+ #
318
+ # out, err = capture_subprocess_io do
319
+ # system "echo Some info"
320
+ # system "echo You did a bad thing 1>&2"
321
+ # end
322
+ #
323
+ # assert_match %r%info%, out
324
+ # assert_match %r%bad%, err
325
+ #
326
+ # NOTE: This method is approximately 10x slower than #capture_io so only use it
327
+ # when you need to test the output of a subprocess.
328
+ #
329
+ def capture_subprocess_io: () { () -> untyped } -> untyped
330
+
331
+ # <!--
332
+ # rdoc-file=lib/minitest/assertions.rb
333
+ # - exception_details(e, msg)
334
+ # -->
335
+ # Returns details for exception `e`
336
+ #
337
+ def exception_details: (untyped e, untyped msg) -> untyped
338
+
339
+ # <!--
340
+ # rdoc-file=lib/minitest/assertions.rb
341
+ # - fail_after(y,m,d,msg)
342
+ # -->
343
+ # Fails after a given date (in the local time zone). This allows you to put
344
+ # time-bombs in your tests if you need to keep something around until a later
345
+ # date lest you forget about it.
346
+ #
347
+ def fail_after: (untyped y, untyped m, untyped d, untyped msg) -> (untyped | nil)
348
+
349
+ # <!--
350
+ # rdoc-file=lib/minitest/assertions.rb
351
+ # - flunk(msg = nil)
352
+ # -->
353
+ # Fails with `msg`.
354
+ #
355
+ def flunk: (?untyped? msg) -> untyped
356
+
357
+ # <!--
358
+ # rdoc-file=lib/minitest/assertions.rb
359
+ # - message(msg = nil, ending = nil, &default)
360
+ # -->
361
+ # Returns a proc that will output `msg` along with the default message.
362
+ #
363
+ def message: (?untyped? msg, ?untyped? ending) ?{ () -> untyped } -> untyped
364
+
365
+ # <!--
366
+ # rdoc-file=lib/minitest/assertions.rb
367
+ # - pass(_msg = nil)
368
+ # -->
369
+ # used for counting assertions
370
+ #
371
+ def pass: (?untyped? _msg) -> untyped
372
+
373
+ # <!--
374
+ # rdoc-file=lib/minitest/assertions.rb
375
+ # - refute(test, msg = nil)
376
+ # -->
377
+ # Fails if `test` is truthy.
378
+ #
379
+ def refute: (untyped test, ?untyped? msg) -> untyped
380
+
381
+ # <!--
382
+ # rdoc-file=lib/minitest/assertions.rb
383
+ # - refute_empty(obj, msg = nil)
384
+ # -->
385
+ # Fails if `obj` is empty.
386
+ #
387
+ def refute_empty: (untyped obj, ?untyped? msg) -> untyped
388
+
389
+ # <!--
390
+ # rdoc-file=lib/minitest/assertions.rb
391
+ # - refute_equal(exp, act, msg = nil)
392
+ # -->
393
+ # Fails if `exp == act`.
394
+ #
395
+ # For floats use refute_in_delta.
396
+ #
397
+ def refute_equal: (untyped exp, untyped act, ?untyped? msg) -> untyped
398
+
399
+ # <!--
400
+ # rdoc-file=lib/minitest/assertions.rb
401
+ # - refute_in_delta(exp, act, delta = 0.001, msg = nil)
402
+ # -->
403
+ # For comparing Floats. Fails if `exp` is within `delta` of `act`.
404
+ #
405
+ # refute_in_delta Math::PI, (22.0 / 7.0)
406
+ #
407
+ def refute_in_delta: (untyped exp, untyped act, ?::Float delta, ?untyped? msg) -> untyped
408
+
409
+ # <!--
410
+ # rdoc-file=lib/minitest/assertions.rb
411
+ # - refute_in_epsilon(a, b, epsilon = 0.001, msg = nil)
412
+ # -->
413
+ # For comparing Floats. Fails if `exp` and `act` have a relative error less
414
+ # than `epsilon`.
415
+ #
416
+ def refute_in_epsilon: (untyped a, untyped b, ?::Float epsilon, ?untyped? msg) -> untyped
417
+
418
+ # <!--
419
+ # rdoc-file=lib/minitest/assertions.rb
420
+ # - refute_includes(collection, obj, msg = nil)
421
+ # -->
422
+ # Fails if `collection` includes `obj`.
423
+ #
424
+ def refute_includes: (untyped collection, untyped obj, ?untyped? msg) -> untyped
425
+
426
+ # <!--
427
+ # rdoc-file=lib/minitest/assertions.rb
428
+ # - refute_instance_of(cls, obj, msg = nil)
429
+ # -->
430
+ # Fails if `obj` is an instance of `cls`.
431
+ #
432
+ def refute_instance_of: (untyped cls, untyped obj, ?untyped? msg) -> untyped
433
+
434
+ # <!--
435
+ # rdoc-file=lib/minitest/assertions.rb
436
+ # - refute_kind_of(cls, obj, msg = nil)
437
+ # -->
438
+ # Fails if `obj` is a kind of `cls`.
439
+ #
440
+ def refute_kind_of: (untyped cls, untyped obj, ?untyped? msg) -> untyped
441
+
442
+ # <!--
443
+ # rdoc-file=lib/minitest/assertions.rb
444
+ # - refute_match(matcher, obj, msg = nil)
445
+ # -->
446
+ # Fails if `matcher` `=~` `obj`.
447
+ #
448
+ def refute_match: (untyped matcher, untyped obj, ?untyped? msg) -> untyped
449
+
450
+ # <!--
451
+ # rdoc-file=lib/minitest/assertions.rb
452
+ # - refute_nil(obj, msg = nil)
453
+ # -->
454
+ # Fails if `obj` is nil.
455
+ #
456
+ def refute_nil: (untyped obj, ?untyped? msg) -> untyped
457
+
458
+ # <!--
459
+ # rdoc-file=lib/minitest/assertions.rb
460
+ # - refute_operator(o1, op, o2 = UNDEFINED, msg = nil)
461
+ # -->
462
+ # Fails if `o1` is not `op` `o2`. Eg:
463
+ #
464
+ # refute_operator 1, :>, 2 #=> pass
465
+ # refute_operator 1, :<, 2 #=> fail
466
+ #
467
+ def refute_operator: (untyped o1, untyped op, ?untyped o2, ?untyped? msg) -> untyped
468
+
469
+ # <!--
470
+ # rdoc-file=lib/minitest/assertions.rb
471
+ # - refute_path_exists(path, msg = nil)
472
+ # -->
473
+ # Fails if `path` exists.
474
+ #
475
+ def refute_path_exists: (untyped path, ?untyped? msg) -> untyped
476
+
477
+ # <!--
478
+ # rdoc-file=lib/minitest/assertions.rb
479
+ # - refute_predicate(o1, op, msg = nil)
480
+ # -->
481
+ # For testing with predicates.
482
+ #
483
+ # refute_predicate str, :empty?
484
+ #
485
+ # This is really meant for specs and is front-ended by refute_operator:
486
+ #
487
+ # str.wont_be :empty?
488
+ #
489
+ def refute_predicate: (untyped o1, untyped op, ?untyped? msg) -> untyped
490
+
491
+ # <!--
492
+ # rdoc-file=lib/minitest/assertions.rb
493
+ # - refute_respond_to(obj, meth, msg = nil)
494
+ # -->
495
+ # Fails if `obj` responds to the message `meth`.
496
+ #
497
+ def refute_respond_to: (untyped obj, untyped meth, ?untyped? msg) -> untyped
498
+
499
+ # <!--
500
+ # rdoc-file=lib/minitest/assertions.rb
501
+ # - refute_same(exp, act, msg = nil)
502
+ # -->
503
+ # Fails if `exp` is the same (by object identity) as `act`.
504
+ #
505
+ def refute_same: (untyped exp, untyped act, ?untyped? msg) -> untyped
506
+
507
+ # <!--
508
+ # rdoc-file=lib/minitest/assertions.rb
509
+ # - skip(msg = nil, bt = caller)
510
+ # -->
511
+ # Skips the current run. If run in verbose-mode, the skipped run gets listed at
512
+ # the end of the run but doesn't cause a failure exit code.
513
+ #
514
+ def skip: (?untyped? msg, ?untyped bt) -> untyped
515
+
516
+ # <!--
517
+ # rdoc-file=lib/minitest/assertions.rb
518
+ # - skip_until(y,m,d,msg)
519
+ # -->
520
+ # Skips the current run until a given date (in the local time zone). This allows
521
+ # you to put some fixes on hold until a later date, but still holds you
522
+ # accountable and prevents you from forgetting it.
523
+ #
524
+ def skip_until: (untyped y, untyped m, untyped d, untyped msg) -> untyped
525
+
526
+ # <!--
527
+ # rdoc-file=lib/minitest/assertions.rb
528
+ # - skipped?()
529
+ # -->
530
+ # Was this testcase skipped? Meant for #teardown.
531
+ #
532
+ def skipped?: () -> untyped
533
+
534
+ # <!--
535
+ # rdoc-file=lib/minitest/mock.rb
536
+ # - assert_mock(mock)
537
+ # -->
538
+ # Assert that the mock verifies correctly.
539
+ #
540
+ def assert_mock: (untyped mock) -> untyped
541
+
542
+ E: String
543
+
544
+ UNDEFINED: Object
545
+ end
@@ -0,0 +1,16 @@
1
+ # <!-- rdoc-file=lib/minitest.rb -->
2
+ # The standard backtrace filter for minitest.
3
+ #
4
+ # See Minitest.backtrace_filter=.
5
+ #
6
+ class Minitest::BacktraceFilter
7
+ # <!--
8
+ # rdoc-file=lib/minitest.rb
9
+ # - filter(bt)
10
+ # -->
11
+ # Filter `bt` to something useful. Returns the whole thing if $DEBUG (ruby) or
12
+ # $MT_DEBUG (env).
13
+ #
14
+ def filter: (untyped bt) -> (::Array["No backtrace"] | untyped)
15
+ MT_RE: Regexp
16
+ end