lunchmoney 0.10.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (142) hide show
  1. checksums.yaml +7 -0
  2. data/.DS_Store +0 -0
  3. data/.github/dependabot.yml +18 -0
  4. data/.github/workflows/build_and_publish_yard_docs.yml +47 -0
  5. data/.github/workflows/ci.yml +58 -0
  6. data/.github/workflows/dependabot-rbi-updater.yml +43 -0
  7. data/.github/workflows/publish_gem.yml +31 -0
  8. data/.gitignore +62 -0
  9. data/.rubocop.yml +45 -0
  10. data/.ruby-version +1 -0
  11. data/.toys/.toys.rb +10 -0
  12. data/.toys/ci.rb +22 -0
  13. data/.toys/rbi.rb +60 -0
  14. data/.toys/rubocop.rb +10 -0
  15. data/.toys/spoom.rb +15 -0
  16. data/.toys/typecheck.rb +5 -0
  17. data/.yardopts +2 -0
  18. data/Appraisals +22 -0
  19. data/Gemfile +25 -0
  20. data/Gemfile.lock +174 -0
  21. data/LICENSE +21 -0
  22. data/README.md +57 -0
  23. data/bin/console +16 -0
  24. data/bin/rubocop +27 -0
  25. data/bin/setup +8 -0
  26. data/bin/spoom +27 -0
  27. data/bin/srb +27 -0
  28. data/bin/tapioca +27 -0
  29. data/bin/toys +27 -0
  30. data/bin/yard +27 -0
  31. data/lib/lunchmoney/api.rb +147 -0
  32. data/lib/lunchmoney/api_call.rb +109 -0
  33. data/lib/lunchmoney/assets/asset.rb +89 -0
  34. data/lib/lunchmoney/assets/asset_calls.rb +96 -0
  35. data/lib/lunchmoney/budget/budget.rb +74 -0
  36. data/lib/lunchmoney/budget/budget_calls.rb +82 -0
  37. data/lib/lunchmoney/budget/config.rb +38 -0
  38. data/lib/lunchmoney/budget/data.rb +42 -0
  39. data/lib/lunchmoney/categories/category/category.rb +52 -0
  40. data/lib/lunchmoney/categories/category/child_category.rb +42 -0
  41. data/lib/lunchmoney/categories/category_calls.rb +195 -0
  42. data/lib/lunchmoney/configuration.rb +26 -0
  43. data/lib/lunchmoney/crypto/crypto/crypto.rb +43 -0
  44. data/lib/lunchmoney/crypto/crypto/crypto_base.rb +65 -0
  45. data/lib/lunchmoney/crypto/crypto_calls.rb +49 -0
  46. data/lib/lunchmoney/data_object.rb +25 -0
  47. data/lib/lunchmoney/errors.rb +19 -0
  48. data/lib/lunchmoney/exceptions.rb +19 -0
  49. data/lib/lunchmoney/plaid_accounts/plaid_account.rb +73 -0
  50. data/lib/lunchmoney/plaid_accounts/plaid_account_calls.rb +38 -0
  51. data/lib/lunchmoney/recurring_expenses/recurring_expense/recurring_expense.rb +65 -0
  52. data/lib/lunchmoney/recurring_expenses/recurring_expense/recurring_expense_base.rb +29 -0
  53. data/lib/lunchmoney/recurring_expenses/recurring_expense_calls.rb +28 -0
  54. data/lib/lunchmoney/tags/tag/tag.rb +20 -0
  55. data/lib/lunchmoney/tags/tag/tag_base.rb +21 -0
  56. data/lib/lunchmoney/tags/tag_calls.rb +20 -0
  57. data/lib/lunchmoney/transactions/transaction/child_transaction.rb +31 -0
  58. data/lib/lunchmoney/transactions/transaction/split.rb +24 -0
  59. data/lib/lunchmoney/transactions/transaction/transaction.rb +156 -0
  60. data/lib/lunchmoney/transactions/transaction/transaction_base.rb +52 -0
  61. data/lib/lunchmoney/transactions/transaction/transaction_modification_base.rb +30 -0
  62. data/lib/lunchmoney/transactions/transaction/update_transaction.rb +43 -0
  63. data/lib/lunchmoney/transactions/transaction_calls.rb +218 -0
  64. data/lib/lunchmoney/user/user.rb +36 -0
  65. data/lib/lunchmoney/user/user_calls.rb +19 -0
  66. data/lib/lunchmoney/validators.rb +43 -0
  67. data/lib/lunchmoney/version.rb +7 -0
  68. data/lib/lunchmoney.rb +54 -0
  69. data/lunchmoney.gemspec +34 -0
  70. data/sorbet/config +5 -0
  71. data/sorbet/rbi/annotations/.gitattributes +1 -0
  72. data/sorbet/rbi/annotations/activesupport.rbi +410 -0
  73. data/sorbet/rbi/annotations/faraday.rbi +17 -0
  74. data/sorbet/rbi/annotations/mocha.rbi +34 -0
  75. data/sorbet/rbi/annotations/rainbow.rbi +269 -0
  76. data/sorbet/rbi/annotations/webmock.rbi +9 -0
  77. data/sorbet/rbi/dsl/.gitattributes +1 -0
  78. data/sorbet/rbi/dsl/active_support/callbacks.rbi +22 -0
  79. data/sorbet/rbi/gems/.gitattributes +1 -0
  80. data/sorbet/rbi/gems/activesupport@7.1.3.rbi +18004 -0
  81. data/sorbet/rbi/gems/addressable@2.8.6.rbi +1993 -0
  82. data/sorbet/rbi/gems/appraisal@2.5.0.rbi +621 -0
  83. data/sorbet/rbi/gems/ast@2.4.2.rbi +584 -0
  84. data/sorbet/rbi/gems/base64@0.2.0.rbi +508 -0
  85. data/sorbet/rbi/gems/bigdecimal@3.1.6.rbi +77 -0
  86. data/sorbet/rbi/gems/coderay@1.1.3.rbi +3426 -0
  87. data/sorbet/rbi/gems/concurrent-ruby@1.2.3.rbi +11590 -0
  88. data/sorbet/rbi/gems/connection_pool@2.4.1.rbi +8 -0
  89. data/sorbet/rbi/gems/crack@0.4.5.rbi +144 -0
  90. data/sorbet/rbi/gems/dotenv@2.8.1.rbi +234 -0
  91. data/sorbet/rbi/gems/drb@2.2.0.rbi +1346 -0
  92. data/sorbet/rbi/gems/erubi@1.12.0.rbi +145 -0
  93. data/sorbet/rbi/gems/faraday-net_http@3.1.0.rbi +146 -0
  94. data/sorbet/rbi/gems/faraday@2.9.0.rbi +2911 -0
  95. data/sorbet/rbi/gems/hashdiff@1.1.0.rbi +352 -0
  96. data/sorbet/rbi/gems/i18n@1.14.1.rbi +2325 -0
  97. data/sorbet/rbi/gems/json@2.7.1.rbi +1561 -0
  98. data/sorbet/rbi/gems/language_server-protocol@3.17.0.3.rbi +14237 -0
  99. data/sorbet/rbi/gems/method_source@1.0.0.rbi +272 -0
  100. data/sorbet/rbi/gems/minitest@5.21.2.rbi +2197 -0
  101. data/sorbet/rbi/gems/mocha@2.1.0.rbi +3934 -0
  102. data/sorbet/rbi/gems/mutex_m@0.2.0.rbi +93 -0
  103. data/sorbet/rbi/gems/net-http@0.4.1.rbi +4068 -0
  104. data/sorbet/rbi/gems/netrc@0.11.0.rbi +158 -0
  105. data/sorbet/rbi/gems/parallel@1.24.0.rbi +280 -0
  106. data/sorbet/rbi/gems/parser@3.3.0.5.rbi +5472 -0
  107. data/sorbet/rbi/gems/prettier_print@1.2.1.rbi +951 -0
  108. data/sorbet/rbi/gems/prism@0.19.0.rbi +29883 -0
  109. data/sorbet/rbi/gems/pry-sorbet@0.2.1.rbi +966 -0
  110. data/sorbet/rbi/gems/pry@0.14.2.rbi +10077 -0
  111. data/sorbet/rbi/gems/public_suffix@5.0.4.rbi +935 -0
  112. data/sorbet/rbi/gems/racc@1.7.3.rbi +161 -0
  113. data/sorbet/rbi/gems/rack@3.0.8.rbi +5183 -0
  114. data/sorbet/rbi/gems/rainbow@3.1.1.rbi +402 -0
  115. data/sorbet/rbi/gems/rake@13.1.0.rbi +3027 -0
  116. data/sorbet/rbi/gems/rbi@0.1.6.rbi +2922 -0
  117. data/sorbet/rbi/gems/regexp_parser@2.9.0.rbi +3771 -0
  118. data/sorbet/rbi/gems/rexml@3.2.6.rbi +4781 -0
  119. data/sorbet/rbi/gems/rubocop-ast@1.30.0.rbi +7117 -0
  120. data/sorbet/rbi/gems/rubocop-minitest@0.34.5.rbi +2576 -0
  121. data/sorbet/rbi/gems/rubocop-rails@2.23.1.rbi +9175 -0
  122. data/sorbet/rbi/gems/rubocop-shopify@2.14.0.rbi +8 -0
  123. data/sorbet/rbi/gems/rubocop-sorbet@0.7.6.rbi +1510 -0
  124. data/sorbet/rbi/gems/rubocop@1.60.1.rbi +57356 -0
  125. data/sorbet/rbi/gems/ruby-progressbar@1.13.0.rbi +1317 -0
  126. data/sorbet/rbi/gems/ruby2_keywords@0.0.5.rbi +8 -0
  127. data/sorbet/rbi/gems/spoom@1.2.4.rbi +3777 -0
  128. data/sorbet/rbi/gems/syntax_tree@6.2.0.rbi +23136 -0
  129. data/sorbet/rbi/gems/tapioca@0.12.0.rbi +3506 -0
  130. data/sorbet/rbi/gems/thor@1.3.0.rbi +4312 -0
  131. data/sorbet/rbi/gems/toys-core@0.15.4.rbi +9462 -0
  132. data/sorbet/rbi/gems/toys@0.15.4.rbi +243 -0
  133. data/sorbet/rbi/gems/tzinfo@2.0.6.rbi +5917 -0
  134. data/sorbet/rbi/gems/unicode-display_width@2.5.0.rbi +65 -0
  135. data/sorbet/rbi/gems/uri@0.13.0.rbi +2327 -0
  136. data/sorbet/rbi/gems/vcr@6.2.0.rbi +3036 -0
  137. data/sorbet/rbi/gems/webmock@3.19.1.rbi +1768 -0
  138. data/sorbet/rbi/gems/yard-sorbet@0.8.1.rbi +428 -0
  139. data/sorbet/rbi/gems/yard@0.9.34.rbi +18084 -0
  140. data/sorbet/shims/module.rbi +6 -0
  141. data/sorbet/tapioca/require.rb +10 -0
  142. metadata +228 -0
@@ -0,0 +1,2197 @@
1
+ # typed: true
2
+
3
+ # DO NOT EDIT MANUALLY
4
+ # This is an autogenerated file for types exported from the `minitest` gem.
5
+ # Please instead update this file by running `bin/tapioca gem minitest`.
6
+
7
+ # Kernel extensions for minitest
8
+ #
9
+ # source://minitest//lib/minitest/spec.rb#46
10
+ module Kernel
11
+ private
12
+
13
+ # Describe a series of expectations for a given target +desc+.
14
+ #
15
+ # Defines a test class subclassing from either Minitest::Spec or
16
+ # from the surrounding describe's class. The surrounding class may
17
+ # subclass Minitest::Spec manually in order to easily share code:
18
+ #
19
+ # class MySpec < Minitest::Spec
20
+ # # ... shared code ...
21
+ # end
22
+ #
23
+ # class TestStuff < MySpec
24
+ # it "does stuff" do
25
+ # # shared code available here
26
+ # end
27
+ # describe "inner stuff" do
28
+ # it "still does stuff" do
29
+ # # ...and here
30
+ # end
31
+ # end
32
+ # end
33
+ #
34
+ # For more information on getting started with writing specs, see:
35
+ #
36
+ # http://www.rubyinside.com/a-minitestspec-tutorial-elegant-spec-style-testing-that-comes-with-ruby-5354.html
37
+ #
38
+ # For some suggestions on how to improve your specs, try:
39
+ #
40
+ # https://betterspecs.org
41
+ #
42
+ # but do note that several items there are debatable or specific to
43
+ # rspec.
44
+ #
45
+ # For more information about expectations, see Minitest::Expectations.
46
+ #
47
+ # source://minitest//lib/minitest/spec.rb#82
48
+ def describe(desc, *additional_desc, &block); end
49
+ end
50
+
51
+ # :include: README.rdoc
52
+ #
53
+ # source://minitest//lib/minitest/parallel.rb#1
54
+ module Minitest
55
+ class << self
56
+ # Internal run method. Responsible for telling all Runnable
57
+ # sub-classes to run.
58
+ #
59
+ # source://minitest//lib/minitest.rb#176
60
+ def __run(reporter, options); end
61
+
62
+ # A simple hook allowing you to run a block of code after everything
63
+ # is done running. Eg:
64
+ #
65
+ # Minitest.after_run { p $debugging_info }
66
+ #
67
+ # source://minitest//lib/minitest.rb#97
68
+ def after_run(&block); end
69
+
70
+ # source://minitest//lib/minitest.rb#19
71
+ def allow_fork; end
72
+
73
+ # source://minitest//lib/minitest.rb#19
74
+ def allow_fork=(_arg0); end
75
+
76
+ # Registers Minitest to run at process exit
77
+ #
78
+ # source://minitest//lib/minitest.rb#69
79
+ def autorun; end
80
+
81
+ # source://minitest//lib/minitest.rb#19
82
+ def backtrace_filter; end
83
+
84
+ # source://minitest//lib/minitest.rb#19
85
+ def backtrace_filter=(_arg0); end
86
+
87
+ # source://minitest//lib/minitest.rb#18
88
+ def cattr_accessor(name); end
89
+
90
+ # source://minitest//lib/minitest.rb#1134
91
+ def clock_time; end
92
+
93
+ # source://minitest//lib/minitest.rb#19
94
+ def extensions; end
95
+
96
+ # source://minitest//lib/minitest.rb#19
97
+ def extensions=(_arg0); end
98
+
99
+ # source://minitest//lib/minitest.rb#271
100
+ def filter_backtrace(bt); end
101
+
102
+ # source://minitest//lib/minitest.rb#19
103
+ def info_signal; end
104
+
105
+ # source://minitest//lib/minitest.rb#19
106
+ def info_signal=(_arg0); end
107
+
108
+ # source://minitest//lib/minitest.rb#101
109
+ def init_plugins(options); end
110
+
111
+ # source://minitest//lib/minitest.rb#108
112
+ def load_plugins; end
113
+
114
+ # source://minitest//lib/minitest.rb#19
115
+ def parallel_executor; end
116
+
117
+ # source://minitest//lib/minitest.rb#19
118
+ def parallel_executor=(_arg0); end
119
+
120
+ # source://minitest//lib/minitest.rb#189
121
+ def process_args(args = T.unsafe(nil)); end
122
+
123
+ # source://minitest//lib/minitest.rb#19
124
+ def reporter; end
125
+
126
+ # source://minitest//lib/minitest.rb#19
127
+ def reporter=(_arg0); end
128
+
129
+ # This is the top-level run method. Everything starts from here. It
130
+ # tells each Runnable sub-class to run, and each of those are
131
+ # responsible for doing whatever they do.
132
+ #
133
+ # The overall structure of a run looks like this:
134
+ #
135
+ # Minitest.autorun
136
+ # Minitest.run(args)
137
+ # Minitest.__run(reporter, options)
138
+ # Runnable.runnables.each
139
+ # runnable.run(reporter, options)
140
+ # self.runnable_methods.each
141
+ # self.run_one_method(self, runnable_method, reporter)
142
+ # Minitest.run_one_method(klass, runnable_method)
143
+ # klass.new(runnable_method).run
144
+ #
145
+ # source://minitest//lib/minitest.rb#143
146
+ def run(args = T.unsafe(nil)); end
147
+
148
+ # source://minitest//lib/minitest.rb#1125
149
+ def run_one_method(klass, method_name); end
150
+
151
+ # source://minitest//lib/minitest.rb#19
152
+ def seed; end
153
+
154
+ # source://minitest//lib/minitest.rb#19
155
+ def seed=(_arg0); end
156
+ end
157
+ end
158
+
159
+ # Defines the API for Reporters. Subclass this and override whatever
160
+ # you want. Go nuts.
161
+ #
162
+ # source://minitest//lib/minitest.rb#627
163
+ class Minitest::AbstractReporter
164
+ # @return [AbstractReporter] a new instance of AbstractReporter
165
+ #
166
+ # source://minitest//lib/minitest.rb#629
167
+ def initialize; end
168
+
169
+ # Did this run pass?
170
+ #
171
+ # @return [Boolean]
172
+ #
173
+ # source://minitest//lib/minitest.rb#664
174
+ def passed?; end
175
+
176
+ # About to start running a test. This allows a reporter to show
177
+ # that it is starting or that we are in the middle of a test run.
178
+ #
179
+ # source://minitest//lib/minitest.rb#643
180
+ def prerecord(klass, name); end
181
+
182
+ # Output and record the result of the test. Call
183
+ # {result#result_code}[rdoc-ref:Runnable#result_code] to get the
184
+ # result character string. Stores the result of the run if the run
185
+ # did not pass.
186
+ #
187
+ # source://minitest//lib/minitest.rb#652
188
+ def record(result); end
189
+
190
+ # Outputs the summary of the run.
191
+ #
192
+ # source://minitest//lib/minitest.rb#658
193
+ def report; end
194
+
195
+ # Starts reporting on the run.
196
+ #
197
+ # source://minitest//lib/minitest.rb#636
198
+ def start; end
199
+
200
+ # source://minitest//lib/minitest.rb#668
201
+ def synchronize(&block); end
202
+ end
203
+
204
+ # Represents run failures.
205
+ #
206
+ # source://minitest//lib/minitest.rb#951
207
+ class Minitest::Assertion < ::Exception
208
+ # source://minitest//lib/minitest.rb#954
209
+ def error; end
210
+
211
+ # Where was this run before an assertion was raised?
212
+ #
213
+ # source://minitest//lib/minitest.rb#961
214
+ def location; end
215
+
216
+ # source://minitest//lib/minitest.rb#968
217
+ def result_code; end
218
+
219
+ # source://minitest//lib/minitest.rb#972
220
+ def result_label; end
221
+ end
222
+
223
+ # source://minitest//lib/minitest.rb#952
224
+ Minitest::Assertion::RE = T.let(T.unsafe(nil), Regexp)
225
+
226
+ # Minitest Assertions. All assertion methods accept a +msg+ which is
227
+ # printed if the assertion fails.
228
+ #
229
+ # Protocol: Nearly everything here boils up to +assert+, which
230
+ # expects to be able to increment an instance accessor named
231
+ # +assertions+. This is not provided by Assertions and must be
232
+ # provided by the thing including Assertions. See Minitest::Runnable
233
+ # for an example.
234
+ #
235
+ # source://minitest//lib/minitest/assertions.rb#18
236
+ module Minitest::Assertions
237
+ # source://minitest//lib/minitest/assertions.rb#188
238
+ def _synchronize; end
239
+
240
+ # source://minitest//lib/minitest/assertions.rb#201
241
+ def _where; end
242
+
243
+ # Fails unless +test+ is truthy.
244
+ #
245
+ # source://minitest//lib/minitest/assertions.rb#178
246
+ def assert(test, msg = T.unsafe(nil)); end
247
+
248
+ # Fails unless +obj+ is empty.
249
+ #
250
+ # source://minitest//lib/minitest/assertions.rb#195
251
+ def assert_empty(obj, msg = T.unsafe(nil)); end
252
+
253
+ # Fails unless <tt>exp == act</tt> printing the difference between
254
+ # the two, if possible.
255
+ #
256
+ # If there is no visible difference but the assertion fails, you
257
+ # should suspect that your #== is buggy, or your inspect output is
258
+ # missing crucial details. For nicer structural diffing, set
259
+ # Minitest::Test.make_my_diffs_pretty!
260
+ #
261
+ # For floats use assert_in_delta.
262
+ #
263
+ # See also: Minitest::Assertions.diff
264
+ #
265
+ # source://minitest//lib/minitest/assertions.rb#221
266
+ def assert_equal(exp, act, msg = T.unsafe(nil)); end
267
+
268
+ # For comparing Floats. Fails unless +exp+ and +act+ are within +delta+
269
+ # of each other.
270
+ #
271
+ # assert_in_delta Math::PI, (22.0 / 7.0), 0.01
272
+ #
273
+ # source://minitest//lib/minitest/assertions.rb#242
274
+ def assert_in_delta(exp, act, delta = T.unsafe(nil), msg = T.unsafe(nil)); end
275
+
276
+ # For comparing Floats. Fails unless +exp+ and +act+ have a relative
277
+ # error less than +epsilon+.
278
+ #
279
+ # source://minitest//lib/minitest/assertions.rb#254
280
+ def assert_in_epsilon(exp, act, epsilon = T.unsafe(nil), msg = T.unsafe(nil)); end
281
+
282
+ # Fails unless +collection+ includes +obj+.
283
+ #
284
+ # source://minitest//lib/minitest/assertions.rb#261
285
+ def assert_includes(collection, obj, msg = T.unsafe(nil)); end
286
+
287
+ # Fails unless +obj+ is an instance of +cls+.
288
+ #
289
+ # source://minitest//lib/minitest/assertions.rb#272
290
+ def assert_instance_of(cls, obj, msg = T.unsafe(nil)); end
291
+
292
+ # Fails unless +obj+ is a kind of +cls+.
293
+ #
294
+ # source://minitest//lib/minitest/assertions.rb#283
295
+ def assert_kind_of(cls, obj, msg = T.unsafe(nil)); end
296
+
297
+ # Fails unless +matcher+ <tt>=~</tt> +obj+.
298
+ #
299
+ # source://minitest//lib/minitest/assertions.rb#293
300
+ def assert_match(matcher, obj, msg = T.unsafe(nil)); end
301
+
302
+ # Assert that the mock verifies correctly.
303
+ #
304
+ # source://minitest//lib/minitest/mock.rb#250
305
+ def assert_mock(mock); end
306
+
307
+ # Fails unless +obj+ is nil
308
+ #
309
+ # source://minitest//lib/minitest/assertions.rb#305
310
+ def assert_nil(obj, msg = T.unsafe(nil)); end
311
+
312
+ # For testing with binary operators. Eg:
313
+ #
314
+ # assert_operator 5, :<=, 4
315
+ #
316
+ # source://minitest//lib/minitest/assertions.rb#315
317
+ def assert_operator(o1, op, o2 = T.unsafe(nil), msg = T.unsafe(nil)); end
318
+
319
+ # Fails if stdout or stderr do not output the expected results.
320
+ # Pass in nil if you don't care about that streams output. Pass in
321
+ # "" if you require it to be silent. Pass in a regexp if you want
322
+ # to pattern match.
323
+ #
324
+ # assert_output(/hey/) { method_with_output }
325
+ #
326
+ # NOTE: this uses #capture_io, not #capture_subprocess_io.
327
+ #
328
+ # See also: #assert_silent
329
+ #
330
+ # source://minitest//lib/minitest/assertions.rb#333
331
+ def assert_output(stdout = T.unsafe(nil), stderr = T.unsafe(nil)); end
332
+
333
+ # Fails unless +path+ exists.
334
+ #
335
+ # source://minitest//lib/minitest/assertions.rb#357
336
+ def assert_path_exists(path, msg = T.unsafe(nil)); end
337
+
338
+ # For testing with pattern matching (only supported with Ruby 3.0 and later)
339
+ #
340
+ # # pass
341
+ # assert_pattern { [1,2,3] => [Integer, Integer, Integer] }
342
+ #
343
+ # # fail "length mismatch (given 3, expected 1)"
344
+ # assert_pattern { [1,2,3] => [Integer] }
345
+ #
346
+ # The bare <tt>=></tt> pattern will raise a NoMatchingPatternError on failure, which would
347
+ # normally be counted as a test error. This assertion rescues NoMatchingPatternError and
348
+ # generates a test failure. Any other exception will be raised as normal and generate a test
349
+ # error.
350
+ #
351
+ # @raise [NotImplementedError]
352
+ #
353
+ # source://minitest//lib/minitest/assertions.rb#376
354
+ def assert_pattern; end
355
+
356
+ # For testing with predicates. Eg:
357
+ #
358
+ # assert_predicate str, :empty?
359
+ #
360
+ # This is really meant for specs and is front-ended by assert_operator:
361
+ #
362
+ # str.must_be :empty?
363
+ #
364
+ # source://minitest//lib/minitest/assertions.rb#397
365
+ def assert_predicate(o1, op, msg = T.unsafe(nil)); end
366
+
367
+ # Fails unless the block raises one of +exp+. Returns the
368
+ # exception matched so you can check the message, attributes, etc.
369
+ #
370
+ # +exp+ takes an optional message on the end to help explain
371
+ # failures and defaults to StandardError if no exception class is
372
+ # passed. Eg:
373
+ #
374
+ # assert_raises(CustomError) { method_with_custom_error }
375
+ #
376
+ # With custom error message:
377
+ #
378
+ # assert_raises(CustomError, 'This should have raised CustomError') { method_with_custom_error }
379
+ #
380
+ # Using the returned object:
381
+ #
382
+ # error = assert_raises(CustomError) do
383
+ # raise CustomError, 'This is really bad'
384
+ # end
385
+ #
386
+ # assert_equal 'This is really bad', error.message
387
+ #
388
+ # source://minitest//lib/minitest/assertions.rb#424
389
+ def assert_raises(*exp); end
390
+
391
+ # Fails unless +obj+ responds to +meth+.
392
+ # include_all defaults to false to match Object#respond_to?
393
+ #
394
+ # source://minitest//lib/minitest/assertions.rb#456
395
+ def assert_respond_to(obj, meth, msg = T.unsafe(nil), include_all: T.unsafe(nil)); end
396
+
397
+ # Fails unless +exp+ and +act+ are #equal?
398
+ #
399
+ # source://minitest//lib/minitest/assertions.rb#466
400
+ def assert_same(exp, act, msg = T.unsafe(nil)); end
401
+
402
+ # +send_ary+ is a receiver, message and arguments.
403
+ #
404
+ # Fails unless the call returns a true value
405
+ #
406
+ # source://minitest//lib/minitest/assertions.rb#479
407
+ def assert_send(send_ary, m = T.unsafe(nil)); end
408
+
409
+ # Fails if the block outputs anything to stderr or stdout.
410
+ #
411
+ # See also: #assert_output
412
+ #
413
+ # source://minitest//lib/minitest/assertions.rb#493
414
+ def assert_silent; end
415
+
416
+ # Fails unless the block throws +sym+
417
+ #
418
+ # source://minitest//lib/minitest/assertions.rb#502
419
+ def assert_throws(sym, msg = T.unsafe(nil)); end
420
+
421
+ # Captures $stdout and $stderr into strings:
422
+ #
423
+ # out, err = capture_io do
424
+ # puts "Some info"
425
+ # warn "You did a bad thing"
426
+ # end
427
+ #
428
+ # assert_match %r%info%, out
429
+ # assert_match %r%bad%, err
430
+ #
431
+ # NOTE: For efficiency, this method uses StringIO and does not
432
+ # capture IO for subprocesses. Use #capture_subprocess_io for
433
+ # that.
434
+ #
435
+ # source://minitest//lib/minitest/assertions.rb#543
436
+ def capture_io; end
437
+
438
+ # Captures $stdout and $stderr into strings, using Tempfile to
439
+ # ensure that subprocess IO is captured as well.
440
+ #
441
+ # out, err = capture_subprocess_io do
442
+ # system "echo Some info"
443
+ # system "echo You did a bad thing 1>&2"
444
+ # end
445
+ #
446
+ # assert_match %r%info%, out
447
+ # assert_match %r%bad%, err
448
+ #
449
+ # NOTE: This method is approximately 10x slower than #capture_io so
450
+ # only use it when you need to test the output of a subprocess.
451
+ #
452
+ # source://minitest//lib/minitest/assertions.rb#576
453
+ def capture_subprocess_io; end
454
+
455
+ # Returns a diff between +exp+ and +act+. If there is no known
456
+ # diff command or if it doesn't make sense to diff the output
457
+ # (single line, short output), then it simply returns a basic
458
+ # comparison between the two.
459
+ #
460
+ # See +things_to_diff+ for more info.
461
+ #
462
+ # source://minitest//lib/minitest/assertions.rb#59
463
+ def diff(exp, act); end
464
+
465
+ # Returns details for exception +e+
466
+ #
467
+ # source://minitest//lib/minitest/assertions.rb#608
468
+ def exception_details(e, msg); end
469
+
470
+ # Fails after a given date (in the local time zone). This allows
471
+ # you to put time-bombs in your tests if you need to keep
472
+ # something around until a later date lest you forget about it.
473
+ #
474
+ # source://minitest//lib/minitest/assertions.rb#624
475
+ def fail_after(y, m, d, msg); end
476
+
477
+ # Fails with +msg+.
478
+ #
479
+ # source://minitest//lib/minitest/assertions.rb#631
480
+ def flunk(msg = T.unsafe(nil)); end
481
+
482
+ # Returns a proc that will output +msg+ along with the default message.
483
+ #
484
+ # source://minitest//lib/minitest/assertions.rb#639
485
+ def message(msg = T.unsafe(nil), ending = T.unsafe(nil), &default); end
486
+
487
+ # This returns a human-readable version of +obj+. By default
488
+ # #inspect is called. You can override this to use #pretty_inspect
489
+ # if you want.
490
+ #
491
+ # See Minitest::Test.make_my_diffs_pretty!
492
+ #
493
+ # source://minitest//lib/minitest/assertions.rb#129
494
+ def mu_pp(obj); end
495
+
496
+ # This returns a diff-able more human-readable version of +obj+.
497
+ # This differs from the regular mu_pp because it expands escaped
498
+ # newlines and makes hex-values (like object_ids) generic. This
499
+ # uses mu_pp to do the first pass and then cleans it up.
500
+ #
501
+ # source://minitest//lib/minitest/assertions.rb#152
502
+ def mu_pp_for_diff(obj); end
503
+
504
+ # used for counting assertions
505
+ #
506
+ # source://minitest//lib/minitest/assertions.rb#650
507
+ def pass(_msg = T.unsafe(nil)); end
508
+
509
+ # Fails if +test+ is truthy.
510
+ #
511
+ # source://minitest//lib/minitest/assertions.rb#657
512
+ def refute(test, msg = T.unsafe(nil)); end
513
+
514
+ # Fails if +obj+ is empty.
515
+ #
516
+ # source://minitest//lib/minitest/assertions.rb#665
517
+ def refute_empty(obj, msg = T.unsafe(nil)); end
518
+
519
+ # Fails if <tt>exp == act</tt>.
520
+ #
521
+ # For floats use refute_in_delta.
522
+ #
523
+ # source://minitest//lib/minitest/assertions.rb#676
524
+ def refute_equal(exp, act, msg = T.unsafe(nil)); end
525
+
526
+ # For comparing Floats. Fails if +exp+ is within +delta+ of +act+.
527
+ #
528
+ # refute_in_delta Math::PI, (22.0 / 7.0)
529
+ #
530
+ # source://minitest//lib/minitest/assertions.rb#688
531
+ def refute_in_delta(exp, act, delta = T.unsafe(nil), msg = T.unsafe(nil)); end
532
+
533
+ # For comparing Floats. Fails if +exp+ and +act+ have a relative error
534
+ # less than +epsilon+.
535
+ #
536
+ # source://minitest//lib/minitest/assertions.rb#700
537
+ def refute_in_epsilon(a, b, epsilon = T.unsafe(nil), msg = T.unsafe(nil)); end
538
+
539
+ # Fails if +collection+ includes +obj+.
540
+ #
541
+ # source://minitest//lib/minitest/assertions.rb#707
542
+ def refute_includes(collection, obj, msg = T.unsafe(nil)); end
543
+
544
+ # Fails if +obj+ is an instance of +cls+.
545
+ #
546
+ # source://minitest//lib/minitest/assertions.rb#718
547
+ def refute_instance_of(cls, obj, msg = T.unsafe(nil)); end
548
+
549
+ # Fails if +obj+ is a kind of +cls+.
550
+ #
551
+ # source://minitest//lib/minitest/assertions.rb#728
552
+ def refute_kind_of(cls, obj, msg = T.unsafe(nil)); end
553
+
554
+ # Fails if +matcher+ <tt>=~</tt> +obj+.
555
+ #
556
+ # source://minitest//lib/minitest/assertions.rb#736
557
+ def refute_match(matcher, obj, msg = T.unsafe(nil)); end
558
+
559
+ # Fails if +obj+ is nil.
560
+ #
561
+ # source://minitest//lib/minitest/assertions.rb#746
562
+ def refute_nil(obj, msg = T.unsafe(nil)); end
563
+
564
+ # Fails if +o1+ is not +op+ +o2+. Eg:
565
+ #
566
+ # refute_operator 1, :>, 2 #=> pass
567
+ # refute_operator 1, :<, 2 #=> fail
568
+ #
569
+ # source://minitest//lib/minitest/assertions.rb#781
570
+ def refute_operator(o1, op, o2 = T.unsafe(nil), msg = T.unsafe(nil)); end
571
+
572
+ # Fails if +path+ exists.
573
+ #
574
+ # source://minitest//lib/minitest/assertions.rb#790
575
+ def refute_path_exists(path, msg = T.unsafe(nil)); end
576
+
577
+ # For testing with pattern matching (only supported with Ruby 3.0 and later)
578
+ #
579
+ # # pass
580
+ # refute_pattern { [1,2,3] => [String] }
581
+ #
582
+ # # fail "NoMatchingPatternError expected, but nothing was raised."
583
+ # refute_pattern { [1,2,3] => [Integer, Integer, Integer] }
584
+ #
585
+ # This assertion expects a NoMatchingPatternError exception, and will fail if none is raised. Any
586
+ # other exceptions will be raised as normal and generate a test error.
587
+ #
588
+ # @raise [NotImplementedError]
589
+ #
590
+ # source://minitest//lib/minitest/assertions.rb#763
591
+ def refute_pattern; end
592
+
593
+ # For testing with predicates.
594
+ #
595
+ # refute_predicate str, :empty?
596
+ #
597
+ # This is really meant for specs and is front-ended by refute_operator:
598
+ #
599
+ # str.wont_be :empty?
600
+ #
601
+ # source://minitest//lib/minitest/assertions.rb#804
602
+ def refute_predicate(o1, op, msg = T.unsafe(nil)); end
603
+
604
+ # Fails if +obj+ responds to the message +meth+.
605
+ # include_all defaults to false to match Object#respond_to?
606
+ #
607
+ # source://minitest//lib/minitest/assertions.rb#813
608
+ def refute_respond_to(obj, meth, msg = T.unsafe(nil), include_all: T.unsafe(nil)); end
609
+
610
+ # Fails if +exp+ is the same (by object identity) as +act+.
611
+ #
612
+ # source://minitest//lib/minitest/assertions.rb#822
613
+ def refute_same(exp, act, msg = T.unsafe(nil)); end
614
+
615
+ # Skips the current run. If run in verbose-mode, the skipped run
616
+ # gets listed at the end of the run but doesn't cause a failure
617
+ # exit code.
618
+ #
619
+ # @raise [Minitest::Skip]
620
+ #
621
+ # source://minitest//lib/minitest/assertions.rb#835
622
+ def skip(msg = T.unsafe(nil), _ignored = T.unsafe(nil)); end
623
+
624
+ # Skips the current run until a given date (in the local time
625
+ # zone). This allows you to put some fixes on hold until a later
626
+ # date, but still holds you accountable and prevents you from
627
+ # forgetting it.
628
+ #
629
+ # source://minitest//lib/minitest/assertions.rb#847
630
+ def skip_until(y, m, d, msg); end
631
+
632
+ # Was this testcase skipped? Meant for #teardown.
633
+ #
634
+ # @return [Boolean]
635
+ #
636
+ # source://minitest//lib/minitest/assertions.rb#856
637
+ def skipped?; end
638
+
639
+ # Returns things to diff [expect, butwas], or [nil, nil] if nothing to diff.
640
+ #
641
+ # Criterion:
642
+ #
643
+ # 1. Strings include newlines or escaped newlines, but not both.
644
+ # 2. or: String lengths are > 30 characters.
645
+ # 3. or: Strings are equal to each other (but maybe different encodings?).
646
+ # 4. and: we found a diff executable.
647
+ #
648
+ # source://minitest//lib/minitest/assertions.rb#104
649
+ def things_to_diff(exp, act); end
650
+
651
+ class << self
652
+ # Returns the diff command to use in #diff. Tries to intelligently
653
+ # figure out what diff to use.
654
+ #
655
+ # source://minitest//lib/minitest/assertions.rb#29
656
+ def diff; end
657
+
658
+ # Set the diff command to use in #diff.
659
+ #
660
+ # source://minitest//lib/minitest/assertions.rb#47
661
+ def diff=(o); end
662
+ end
663
+ end
664
+
665
+ # source://minitest//lib/minitest/assertions.rb#206
666
+ Minitest::Assertions::E = T.let(T.unsafe(nil), String)
667
+
668
+ # source://minitest//lib/minitest/assertions.rb#19
669
+ Minitest::Assertions::UNDEFINED = T.let(T.unsafe(nil), Object)
670
+
671
+ # The standard backtrace filter for minitest.
672
+ #
673
+ # See Minitest.backtrace_filter=.
674
+ #
675
+ # source://minitest//lib/minitest.rb#1096
676
+ class Minitest::BacktraceFilter
677
+ # @return [BacktraceFilter] a new instance of BacktraceFilter
678
+ #
679
+ # source://minitest//lib/minitest.rb#1102
680
+ def initialize(regexp = T.unsafe(nil)); end
681
+
682
+ # Filter +bt+ to something useful. Returns the whole thing if
683
+ # $DEBUG (ruby) or $MT_DEBUG (env).
684
+ #
685
+ # source://minitest//lib/minitest.rb#1110
686
+ def filter(bt); end
687
+
688
+ # Returns the value of attribute regexp.
689
+ #
690
+ # source://minitest//lib/minitest.rb#1100
691
+ def regexp; end
692
+
693
+ # Sets the attribute regexp
694
+ #
695
+ # @param value the value to set the attribute regexp to.
696
+ #
697
+ # source://minitest//lib/minitest.rb#1100
698
+ def regexp=(_arg0); end
699
+ end
700
+
701
+ # source://minitest//lib/minitest.rb#1098
702
+ Minitest::BacktraceFilter::MT_RE = T.let(T.unsafe(nil), Regexp)
703
+
704
+ # Dispatch to multiple reporters as one.
705
+ #
706
+ # source://minitest//lib/minitest.rb#900
707
+ class Minitest::CompositeReporter < ::Minitest::AbstractReporter
708
+ # @return [CompositeReporter] a new instance of CompositeReporter
709
+ #
710
+ # source://minitest//lib/minitest.rb#906
711
+ def initialize(*reporters); end
712
+
713
+ # Add another reporter to the mix.
714
+ #
715
+ # source://minitest//lib/minitest.rb#918
716
+ def <<(reporter); end
717
+
718
+ # source://minitest//lib/minitest.rb#911
719
+ def io; end
720
+
721
+ # @return [Boolean]
722
+ #
723
+ # source://minitest//lib/minitest.rb#922
724
+ def passed?; end
725
+
726
+ # source://minitest//lib/minitest.rb#930
727
+ def prerecord(klass, name); end
728
+
729
+ # source://minitest//lib/minitest.rb#937
730
+ def record(result); end
731
+
732
+ # source://minitest//lib/minitest.rb#943
733
+ def report; end
734
+
735
+ # The list of reporters to dispatch to.
736
+ #
737
+ # source://minitest//lib/minitest.rb#904
738
+ def reporters; end
739
+
740
+ # The list of reporters to dispatch to.
741
+ #
742
+ # source://minitest//lib/minitest.rb#904
743
+ def reporters=(_arg0); end
744
+
745
+ # source://minitest//lib/minitest.rb#926
746
+ def start; end
747
+ end
748
+
749
+ # Compresses backtraces.
750
+ #
751
+ # source://minitest//lib/minitest/compress.rb#5
752
+ module Minitest::Compress
753
+ # Takes a backtrace (array of strings) and compresses repeating
754
+ # cycles in it to make it more readable.
755
+ #
756
+ # source://minitest//lib/minitest/compress.rb#11
757
+ def compress(orig); end
758
+ end
759
+
760
+ # source://minitest//lib/minitest/spec.rb#41
761
+ class Minitest::Expectation < ::Struct
762
+ def ctx; end
763
+ def ctx=(_); end
764
+
765
+ # source://minitest//lib/minitest/spec.rb#25
766
+ def must_be(*args, **_arg1); end
767
+
768
+ # source://minitest//lib/minitest/spec.rb#25
769
+ def must_be_close_to(*args, **_arg1); end
770
+
771
+ # source://minitest//lib/minitest/spec.rb#25
772
+ def must_be_empty(*args, **_arg1); end
773
+
774
+ # source://minitest//lib/minitest/spec.rb#25
775
+ def must_be_instance_of(*args, **_arg1); end
776
+
777
+ # source://minitest//lib/minitest/spec.rb#25
778
+ def must_be_kind_of(*args, **_arg1); end
779
+
780
+ # source://minitest//lib/minitest/spec.rb#25
781
+ def must_be_nil(*args, **_arg1); end
782
+
783
+ # source://minitest//lib/minitest/spec.rb#25
784
+ def must_be_same_as(*args, **_arg1); end
785
+
786
+ # source://minitest//lib/minitest/spec.rb#25
787
+ def must_be_silent(*args, **_arg1); end
788
+
789
+ # source://minitest//lib/minitest/spec.rb#25
790
+ def must_be_within_delta(*args, **_arg1); end
791
+
792
+ # source://minitest//lib/minitest/spec.rb#25
793
+ def must_be_within_epsilon(*args, **_arg1); end
794
+
795
+ # source://minitest//lib/minitest/spec.rb#25
796
+ def must_equal(*args, **_arg1); end
797
+
798
+ # source://minitest//lib/minitest/spec.rb#25
799
+ def must_include(*args, **_arg1); end
800
+
801
+ # source://minitest//lib/minitest/spec.rb#25
802
+ def must_match(*args, **_arg1); end
803
+
804
+ # source://minitest//lib/minitest/spec.rb#25
805
+ def must_output(*args, **_arg1); end
806
+
807
+ # source://minitest//lib/minitest/spec.rb#25
808
+ def must_pattern_match(*args, **_arg1); end
809
+
810
+ # source://minitest//lib/minitest/spec.rb#25
811
+ def must_raise(*args, **_arg1); end
812
+
813
+ # source://minitest//lib/minitest/spec.rb#25
814
+ def must_respond_to(*args, **_arg1); end
815
+
816
+ # source://minitest//lib/minitest/spec.rb#25
817
+ def must_throw(*args, **_arg1); end
818
+
819
+ # source://minitest//lib/minitest/spec.rb#25
820
+ def path_must_exist(*args, **_arg1); end
821
+
822
+ # source://minitest//lib/minitest/spec.rb#25
823
+ def path_wont_exist(*args, **_arg1); end
824
+
825
+ def target; end
826
+ def target=(_); end
827
+
828
+ # source://minitest//lib/minitest/spec.rb#25
829
+ def wont_be(*args, **_arg1); end
830
+
831
+ # source://minitest//lib/minitest/spec.rb#25
832
+ def wont_be_close_to(*args, **_arg1); end
833
+
834
+ # source://minitest//lib/minitest/spec.rb#25
835
+ def wont_be_empty(*args, **_arg1); end
836
+
837
+ # source://minitest//lib/minitest/spec.rb#25
838
+ def wont_be_instance_of(*args, **_arg1); end
839
+
840
+ # source://minitest//lib/minitest/spec.rb#25
841
+ def wont_be_kind_of(*args, **_arg1); end
842
+
843
+ # source://minitest//lib/minitest/spec.rb#25
844
+ def wont_be_nil(*args, **_arg1); end
845
+
846
+ # source://minitest//lib/minitest/spec.rb#25
847
+ def wont_be_same_as(*args, **_arg1); end
848
+
849
+ # source://minitest//lib/minitest/spec.rb#25
850
+ def wont_be_within_delta(*args, **_arg1); end
851
+
852
+ # source://minitest//lib/minitest/spec.rb#25
853
+ def wont_be_within_epsilon(*args, **_arg1); end
854
+
855
+ # source://minitest//lib/minitest/spec.rb#25
856
+ def wont_equal(*args, **_arg1); end
857
+
858
+ # source://minitest//lib/minitest/spec.rb#25
859
+ def wont_include(*args, **_arg1); end
860
+
861
+ # source://minitest//lib/minitest/spec.rb#25
862
+ def wont_match(*args, **_arg1); end
863
+
864
+ # source://minitest//lib/minitest/spec.rb#25
865
+ def wont_pattern_match(*args, **_arg1); end
866
+
867
+ # source://minitest//lib/minitest/spec.rb#25
868
+ def wont_respond_to(*args, **_arg1); end
869
+
870
+ class << self
871
+ def [](*_arg0); end
872
+ def inspect; end
873
+ def keyword_init?; end
874
+ def members; end
875
+ def new(*_arg0); end
876
+ end
877
+ end
878
+
879
+ # It's where you hide your "assertions".
880
+ #
881
+ # Please note, because of the way that expectations are implemented,
882
+ # all expectations (eg must_equal) are dependent upon a thread local
883
+ # variable +:current_spec+. If your specs rely on mixing threads into
884
+ # the specs themselves, you're better off using assertions or the new
885
+ # _(value) wrapper. For example:
886
+ #
887
+ # it "should still work in threads" do
888
+ # my_threaded_thingy do
889
+ # (1+1).must_equal 2 # bad
890
+ # assert_equal 2, 1+1 # good
891
+ # _(1 + 1).must_equal 2 # good
892
+ # value(1 + 1).must_equal 2 # good, also #expect
893
+ # _ { 1 + "1" }.must_raise TypeError # good
894
+ # end
895
+ # end
896
+ #
897
+ # source://minitest//lib/minitest/expectations.rb#20
898
+ module Minitest::Expectations
899
+ # source://minitest//lib/minitest/spec.rb#15
900
+ def must_be(*args, **_arg1); end
901
+
902
+ # source://minitest//lib/minitest/spec.rb#15
903
+ def must_be_close_to(*args, **_arg1); end
904
+
905
+ # source://minitest//lib/minitest/spec.rb#15
906
+ def must_be_empty(*args, **_arg1); end
907
+
908
+ # source://minitest//lib/minitest/spec.rb#15
909
+ def must_be_instance_of(*args, **_arg1); end
910
+
911
+ # source://minitest//lib/minitest/spec.rb#15
912
+ def must_be_kind_of(*args, **_arg1); end
913
+
914
+ # source://minitest//lib/minitest/spec.rb#15
915
+ def must_be_nil(*args, **_arg1); end
916
+
917
+ # source://minitest//lib/minitest/spec.rb#15
918
+ def must_be_same_as(*args, **_arg1); end
919
+
920
+ # source://minitest//lib/minitest/spec.rb#15
921
+ def must_be_silent(*args, **_arg1); end
922
+
923
+ # source://minitest//lib/minitest/spec.rb#15
924
+ def must_be_within_delta(*args, **_arg1); end
925
+
926
+ # source://minitest//lib/minitest/spec.rb#15
927
+ def must_be_within_epsilon(*args, **_arg1); end
928
+
929
+ # source://minitest//lib/minitest/spec.rb#15
930
+ def must_equal(*args, **_arg1); end
931
+
932
+ # source://minitest//lib/minitest/spec.rb#15
933
+ def must_include(*args, **_arg1); end
934
+
935
+ # source://minitest//lib/minitest/spec.rb#15
936
+ def must_match(*args, **_arg1); end
937
+
938
+ # source://minitest//lib/minitest/spec.rb#15
939
+ def must_output(*args, **_arg1); end
940
+
941
+ # source://minitest//lib/minitest/spec.rb#15
942
+ def must_pattern_match(*args, **_arg1); end
943
+
944
+ # source://minitest//lib/minitest/spec.rb#15
945
+ def must_raise(*args, **_arg1); end
946
+
947
+ # source://minitest//lib/minitest/spec.rb#15
948
+ def must_respond_to(*args, **_arg1); end
949
+
950
+ # source://minitest//lib/minitest/spec.rb#15
951
+ def must_throw(*args, **_arg1); end
952
+
953
+ # source://minitest//lib/minitest/spec.rb#15
954
+ def path_must_exist(*args, **_arg1); end
955
+
956
+ # source://minitest//lib/minitest/spec.rb#15
957
+ def path_wont_exist(*args, **_arg1); end
958
+
959
+ # source://minitest//lib/minitest/spec.rb#15
960
+ def wont_be(*args, **_arg1); end
961
+
962
+ # source://minitest//lib/minitest/spec.rb#15
963
+ def wont_be_close_to(*args, **_arg1); end
964
+
965
+ # source://minitest//lib/minitest/spec.rb#15
966
+ def wont_be_empty(*args, **_arg1); end
967
+
968
+ # source://minitest//lib/minitest/spec.rb#15
969
+ def wont_be_instance_of(*args, **_arg1); end
970
+
971
+ # source://minitest//lib/minitest/spec.rb#15
972
+ def wont_be_kind_of(*args, **_arg1); end
973
+
974
+ # source://minitest//lib/minitest/spec.rb#15
975
+ def wont_be_nil(*args, **_arg1); end
976
+
977
+ # source://minitest//lib/minitest/spec.rb#15
978
+ def wont_be_same_as(*args, **_arg1); end
979
+
980
+ # source://minitest//lib/minitest/spec.rb#15
981
+ def wont_be_within_delta(*args, **_arg1); end
982
+
983
+ # source://minitest//lib/minitest/spec.rb#15
984
+ def wont_be_within_epsilon(*args, **_arg1); end
985
+
986
+ # source://minitest//lib/minitest/spec.rb#15
987
+ def wont_equal(*args, **_arg1); end
988
+
989
+ # source://minitest//lib/minitest/spec.rb#15
990
+ def wont_include(*args, **_arg1); end
991
+
992
+ # source://minitest//lib/minitest/spec.rb#15
993
+ def wont_match(*args, **_arg1); end
994
+
995
+ # source://minitest//lib/minitest/spec.rb#15
996
+ def wont_pattern_match(*args, **_arg1); end
997
+
998
+ # source://minitest//lib/minitest/spec.rb#15
999
+ def wont_respond_to(*args, **_arg1); end
1000
+ end
1001
+
1002
+ # Provides a simple set of guards that you can use in your tests
1003
+ # to skip execution if it is not applicable. These methods are
1004
+ # mixed into Test as both instance and class methods so you
1005
+ # can use them inside or outside of the test methods.
1006
+ #
1007
+ # def test_something_for_mri
1008
+ # skip "bug 1234" if jruby?
1009
+ # # ...
1010
+ # end
1011
+ #
1012
+ # if windows? then
1013
+ # # ... lots of test methods ...
1014
+ # end
1015
+ #
1016
+ # source://minitest//lib/minitest.rb#1040
1017
+ module Minitest::Guard
1018
+ # Is this running on jruby?
1019
+ #
1020
+ # @return [Boolean]
1021
+ #
1022
+ # source://minitest//lib/minitest.rb#1045
1023
+ def jruby?(platform = T.unsafe(nil)); end
1024
+
1025
+ # Is this running on maglev?
1026
+ #
1027
+ # @return [Boolean]
1028
+ #
1029
+ # source://minitest//lib/minitest.rb#1052
1030
+ def maglev?(platform = T.unsafe(nil)); end
1031
+
1032
+ # Is this running on mri?
1033
+ #
1034
+ # @return [Boolean]
1035
+ #
1036
+ # source://minitest//lib/minitest.rb#1062
1037
+ def mri?(platform = T.unsafe(nil)); end
1038
+
1039
+ # Is this running on macOS?
1040
+ #
1041
+ # @return [Boolean]
1042
+ #
1043
+ # source://minitest//lib/minitest.rb#1069
1044
+ def osx?(platform = T.unsafe(nil)); end
1045
+
1046
+ # Is this running on rubinius?
1047
+ #
1048
+ # @return [Boolean]
1049
+ #
1050
+ # source://minitest//lib/minitest.rb#1076
1051
+ def rubinius?(platform = T.unsafe(nil)); end
1052
+
1053
+ # Is this running on windows?
1054
+ #
1055
+ # @return [Boolean]
1056
+ #
1057
+ # source://minitest//lib/minitest.rb#1086
1058
+ def windows?(platform = T.unsafe(nil)); end
1059
+ end
1060
+
1061
+ # A simple and clean mock object framework.
1062
+ #
1063
+ # All mock objects are an instance of Mock
1064
+ #
1065
+ # source://minitest//lib/minitest/mock.rb#10
1066
+ class Minitest::Mock
1067
+ # @return [Mock] a new instance of Mock
1068
+ #
1069
+ # source://minitest//lib/minitest/mock.rb#50
1070
+ def initialize(delegator = T.unsafe(nil)); end
1071
+
1072
+ # source://minitest//lib/minitest/mock.rb#33
1073
+ def ===(*args, **kwargs, &b); end
1074
+
1075
+ # source://minitest//lib/minitest/mock.rb#122
1076
+ def __call(name, data); end
1077
+
1078
+ def __respond_to?(*_arg0); end
1079
+
1080
+ # source://minitest//lib/minitest/mock.rb#33
1081
+ def class(*args, **kwargs, &b); end
1082
+
1083
+ # Expect that method +name+ is called, optionally with +args+ (and
1084
+ # +kwargs+ or a +blk+), and returns +retval+.
1085
+ #
1086
+ # @mock.expect(:meaning_of_life, 42)
1087
+ # @mock.meaning_of_life # => 42
1088
+ #
1089
+ # @mock.expect(:do_something_with, true, [some_obj, true])
1090
+ # @mock.do_something_with(some_obj, true) # => true
1091
+ #
1092
+ # @mock.expect(:do_something_else, true) do |a1, a2|
1093
+ # a1 == "buggs" && a2 == :bunny
1094
+ # end
1095
+ #
1096
+ # +args+ is compared to the expected args using case equality (ie, the
1097
+ # '===' operator), allowing for less specific expectations.
1098
+ #
1099
+ # @mock.expect(:uses_any_string, true, [String])
1100
+ # @mock.uses_any_string("foo") # => true
1101
+ # @mock.verify # => true
1102
+ #
1103
+ # @mock.expect(:uses_one_string, true, ["foo"])
1104
+ # @mock.uses_one_string("bar") # => raises MockExpectationError
1105
+ #
1106
+ # If a method will be called multiple times, specify a new expect for each one.
1107
+ # They will be used in the order you define them.
1108
+ #
1109
+ # @mock.expect(:ordinal_increment, 'first')
1110
+ # @mock.expect(:ordinal_increment, 'second')
1111
+ #
1112
+ # @mock.ordinal_increment # => 'first'
1113
+ # @mock.ordinal_increment # => 'second'
1114
+ # @mock.ordinal_increment # => raises MockExpectationError "No more expects available for :ordinal_increment"
1115
+ #
1116
+ # source://minitest//lib/minitest/mock.rb#93
1117
+ def expect(name, retval, args = T.unsafe(nil), **kwargs, &blk); end
1118
+
1119
+ # source://minitest//lib/minitest/mock.rb#33
1120
+ def inspect(*args, **kwargs, &b); end
1121
+
1122
+ # source://minitest//lib/minitest/mock.rb#33
1123
+ def instance_eval(*args, **kwargs, &b); end
1124
+
1125
+ # source://minitest//lib/minitest/mock.rb#33
1126
+ def instance_variables(*args, **kwargs, &b); end
1127
+
1128
+ # source://minitest//lib/minitest/mock.rb#152
1129
+ def method_missing(sym, *args, **kwargs, &block); end
1130
+
1131
+ # source://minitest//lib/minitest/mock.rb#33
1132
+ def object_id(*args, **kwargs, &b); end
1133
+
1134
+ # source://minitest//lib/minitest/mock.rb#33
1135
+ def public_send(*args, **kwargs, &b); end
1136
+
1137
+ # @return [Boolean]
1138
+ #
1139
+ # source://minitest//lib/minitest/mock.rb#238
1140
+ def respond_to?(sym, include_private = T.unsafe(nil)); end
1141
+
1142
+ # source://minitest//lib/minitest/mock.rb#33
1143
+ def send(*args, **kwargs, &b); end
1144
+
1145
+ # source://minitest//lib/minitest/mock.rb#33
1146
+ def to_s(*args, **kwargs, &b); end
1147
+
1148
+ # Verify that all methods were called as expected. Raises
1149
+ # +MockExpectationError+ if the mock object was not called as
1150
+ # expected.
1151
+ #
1152
+ # source://minitest//lib/minitest/mock.rb#142
1153
+ def verify; end
1154
+
1155
+ private
1156
+
1157
+ # source://minitest//lib/minitest/mock.rb#33
1158
+ def respond_to_missing?(*args, **kwargs, &b); end
1159
+ end
1160
+
1161
+ # source://minitest//lib/minitest/parallel.rb#2
1162
+ module Minitest::Parallel; end
1163
+
1164
+ # The engine used to run multiple tests in parallel.
1165
+ #
1166
+ # source://minitest//lib/minitest/parallel.rb#7
1167
+ class Minitest::Parallel::Executor
1168
+ # Create a parallel test executor of with +size+ workers.
1169
+ #
1170
+ # @return [Executor] a new instance of Executor
1171
+ #
1172
+ # source://minitest//lib/minitest/parallel.rb#17
1173
+ def initialize(size); end
1174
+
1175
+ # Add a job to the queue
1176
+ #
1177
+ # source://minitest//lib/minitest/parallel.rb#43
1178
+ def <<(work); end
1179
+
1180
+ # Shuts down the pool of workers by signalling them to quit and
1181
+ # waiting for them all to finish what they're currently working
1182
+ # on.
1183
+ #
1184
+ # source://minitest//lib/minitest/parallel.rb#50
1185
+ def shutdown; end
1186
+
1187
+ # The size of the pool of workers.
1188
+ #
1189
+ # source://minitest//lib/minitest/parallel.rb#12
1190
+ def size; end
1191
+
1192
+ # Start the executor
1193
+ #
1194
+ # source://minitest//lib/minitest/parallel.rb#26
1195
+ def start; end
1196
+ end
1197
+
1198
+ # source://minitest//lib/minitest/parallel.rb#56
1199
+ module Minitest::Parallel::Test
1200
+ # source://minitest//lib/minitest/parallel.rb#57
1201
+ def _synchronize; end
1202
+ end
1203
+
1204
+ # source://minitest//lib/minitest/parallel.rb#59
1205
+ module Minitest::Parallel::Test::ClassMethods
1206
+ # source://minitest//lib/minitest/parallel.rb#60
1207
+ def run_one_method(klass, method_name, reporter); end
1208
+
1209
+ # source://minitest//lib/minitest/parallel.rb#64
1210
+ def test_order; end
1211
+ end
1212
+
1213
+ # A very simple reporter that prints the "dots" during the run.
1214
+ #
1215
+ # This is added to the top-level CompositeReporter at the start of
1216
+ # the run. If you want to change the output of minitest via a
1217
+ # plugin, pull this out of the composite and replace it with your
1218
+ # own.
1219
+ #
1220
+ # source://minitest//lib/minitest.rb#699
1221
+ class Minitest::ProgressReporter < ::Minitest::Reporter
1222
+ # source://minitest//lib/minitest.rb#700
1223
+ def prerecord(klass, name); end
1224
+
1225
+ # source://minitest//lib/minitest.rb#707
1226
+ def record(result); end
1227
+ end
1228
+
1229
+ # Shared code for anything that can get passed to a Reporter. See
1230
+ # Minitest::Test & Minitest::Result.
1231
+ #
1232
+ # source://minitest//lib/minitest.rb#521
1233
+ module Minitest::Reportable
1234
+ # @raise [NotImplementedError]
1235
+ #
1236
+ # source://minitest//lib/minitest.rb#543
1237
+ def class_name; end
1238
+
1239
+ # Did this run error?
1240
+ #
1241
+ # @return [Boolean]
1242
+ #
1243
+ # source://minitest//lib/minitest.rb#564
1244
+ def error?; end
1245
+
1246
+ # The location identifier of this test. Depends on a method
1247
+ # existing called class_name.
1248
+ #
1249
+ # source://minitest//lib/minitest.rb#538
1250
+ def location; end
1251
+
1252
+ # Did this run pass?
1253
+ #
1254
+ # Note: skipped runs are not considered passing, but they don't
1255
+ # cause the process to exit non-zero.
1256
+ #
1257
+ # @return [Boolean]
1258
+ #
1259
+ # source://minitest//lib/minitest.rb#528
1260
+ def passed?; end
1261
+
1262
+ # Returns ".", "F", or "E" based on the result of the run.
1263
+ #
1264
+ # source://minitest//lib/minitest.rb#550
1265
+ def result_code; end
1266
+
1267
+ # Was this run skipped?
1268
+ #
1269
+ # @return [Boolean]
1270
+ #
1271
+ # source://minitest//lib/minitest.rb#557
1272
+ def skipped?; end
1273
+ end
1274
+
1275
+ # source://minitest//lib/minitest.rb#532
1276
+ Minitest::Reportable::BASE_DIR = T.let(T.unsafe(nil), String)
1277
+
1278
+ # source://minitest//lib/minitest.rb#675
1279
+ class Minitest::Reporter < ::Minitest::AbstractReporter
1280
+ # @return [Reporter] a new instance of Reporter
1281
+ #
1282
+ # source://minitest//lib/minitest.rb#684
1283
+ def initialize(io = T.unsafe(nil), options = T.unsafe(nil)); end
1284
+
1285
+ # The IO used to report.
1286
+ #
1287
+ # source://minitest//lib/minitest.rb#677
1288
+ def io; end
1289
+
1290
+ # The IO used to report.
1291
+ #
1292
+ # source://minitest//lib/minitest.rb#677
1293
+ def io=(_arg0); end
1294
+
1295
+ # Command-line options for this run.
1296
+ #
1297
+ # source://minitest//lib/minitest.rb#682
1298
+ def options; end
1299
+
1300
+ # Command-line options for this run.
1301
+ #
1302
+ # source://minitest//lib/minitest.rb#682
1303
+ def options=(_arg0); end
1304
+ end
1305
+
1306
+ # This represents a test result in a clean way that can be
1307
+ # marshalled over a wire. Tests can do anything they want to the
1308
+ # test instance and can create conditions that cause Marshal.dump to
1309
+ # blow up. By using Result.from(a_test) you can be reasonably sure
1310
+ # that the test result can be marshalled.
1311
+ #
1312
+ # source://minitest//lib/minitest.rb#576
1313
+ class Minitest::Result < ::Minitest::Runnable
1314
+ include ::Minitest::Reportable
1315
+
1316
+ # source://minitest//lib/minitest.rb#610
1317
+ def class_name; end
1318
+
1319
+ # The class name of the test result.
1320
+ #
1321
+ # source://minitest//lib/minitest.rb#585
1322
+ def klass; end
1323
+
1324
+ # The class name of the test result.
1325
+ #
1326
+ # source://minitest//lib/minitest.rb#585
1327
+ def klass=(_arg0); end
1328
+
1329
+ # The location of the test method.
1330
+ #
1331
+ # source://minitest//lib/minitest.rb#590
1332
+ def source_location; end
1333
+
1334
+ # The location of the test method.
1335
+ #
1336
+ # source://minitest//lib/minitest.rb#590
1337
+ def source_location=(_arg0); end
1338
+
1339
+ # source://minitest//lib/minitest.rb#614
1340
+ def to_s; end
1341
+
1342
+ class << self
1343
+ # Create a new test result from a Runnable instance.
1344
+ #
1345
+ # source://minitest//lib/minitest.rb#595
1346
+ def from(runnable); end
1347
+ end
1348
+ end
1349
+
1350
+ # re-open
1351
+ #
1352
+ # source://minitest//lib/minitest.rb#284
1353
+ class Minitest::Runnable
1354
+ # @return [Runnable] a new instance of Runnable
1355
+ #
1356
+ # source://minitest//lib/minitest.rb#452
1357
+ def initialize(name); end
1358
+
1359
+ # Number of assertions executed in this run.
1360
+ #
1361
+ # source://minitest//lib/minitest.rb#288
1362
+ def assertions; end
1363
+
1364
+ # Number of assertions executed in this run.
1365
+ #
1366
+ # source://minitest//lib/minitest.rb#288
1367
+ def assertions=(_arg0); end
1368
+
1369
+ # source://minitest//lib/minitest.rb#448
1370
+ def failure; end
1371
+
1372
+ # An assertion raised during the run, if any.
1373
+ #
1374
+ # source://minitest//lib/minitest.rb#293
1375
+ def failures; end
1376
+
1377
+ # An assertion raised during the run, if any.
1378
+ #
1379
+ # source://minitest//lib/minitest.rb#293
1380
+ def failures=(_arg0); end
1381
+
1382
+ # source://minitest//lib/minitest.rb#434
1383
+ def marshal_dump; end
1384
+
1385
+ # source://minitest//lib/minitest.rb#444
1386
+ def marshal_load(ary); end
1387
+
1388
+ # Metadata you attach to the test results that get sent to the reporter.
1389
+ #
1390
+ # Lazily initializes to a hash, to keep memory down.
1391
+ #
1392
+ # NOTE: this data *must* be plain (read: marshal-able) data!
1393
+ # Hashes! Arrays! Strings!
1394
+ #
1395
+ # source://minitest//lib/minitest.rb#467
1396
+ def metadata; end
1397
+
1398
+ # Sets metadata, mainly used for +Result.from+.
1399
+ #
1400
+ # source://minitest//lib/minitest.rb#474
1401
+ def metadata=(_arg0); end
1402
+
1403
+ # Returns true if metadata exists.
1404
+ #
1405
+ # @return [Boolean]
1406
+ #
1407
+ # source://minitest//lib/minitest.rb#479
1408
+ def metadata?; end
1409
+
1410
+ # Name of the run.
1411
+ #
1412
+ # source://minitest//lib/minitest.rb#311
1413
+ def name; end
1414
+
1415
+ # Set the name of the run.
1416
+ #
1417
+ # source://minitest//lib/minitest.rb#318
1418
+ def name=(o); end
1419
+
1420
+ # Did this run pass?
1421
+ #
1422
+ # Note: skipped runs are not considered passing, but they don't
1423
+ # cause the process to exit non-zero.
1424
+ #
1425
+ # @raise [NotImplementedError]
1426
+ # @return [Boolean]
1427
+ #
1428
+ # source://minitest//lib/minitest.rb#496
1429
+ def passed?; end
1430
+
1431
+ # Returns a single character string to print based on the result
1432
+ # of the run. One of <tt>"."</tt>, <tt>"F"</tt>,
1433
+ # <tt>"E"</tt> or <tt>"S"</tt>.
1434
+ #
1435
+ # @raise [NotImplementedError]
1436
+ #
1437
+ # source://minitest//lib/minitest.rb#505
1438
+ def result_code; end
1439
+
1440
+ # Runs a single method. Needs to return self.
1441
+ #
1442
+ # @raise [NotImplementedError]
1443
+ #
1444
+ # source://minitest//lib/minitest.rb#486
1445
+ def run; end
1446
+
1447
+ # Was this run skipped? See #passed? for more information.
1448
+ #
1449
+ # @raise [NotImplementedError]
1450
+ # @return [Boolean]
1451
+ #
1452
+ # source://minitest//lib/minitest.rb#512
1453
+ def skipped?; end
1454
+
1455
+ # The time it took to run.
1456
+ #
1457
+ # source://minitest//lib/minitest.rb#298
1458
+ def time; end
1459
+
1460
+ # The time it took to run.
1461
+ #
1462
+ # source://minitest//lib/minitest.rb#298
1463
+ def time=(_arg0); end
1464
+
1465
+ # source://minitest//lib/minitest.rb#300
1466
+ def time_it; end
1467
+
1468
+ class << self
1469
+ # source://minitest//lib/minitest.rb#1144
1470
+ def inherited(klass); end
1471
+
1472
+ # Returns all instance methods matching the pattern +re+.
1473
+ #
1474
+ # source://minitest//lib/minitest.rb#325
1475
+ def methods_matching(re); end
1476
+
1477
+ # source://minitest//lib/minitest.rb#404
1478
+ def on_signal(name, action); end
1479
+
1480
+ # source://minitest//lib/minitest.rb#329
1481
+ def reset; end
1482
+
1483
+ # Responsible for running all runnable methods in a given class,
1484
+ # each in its own instance. Each instance is passed to the
1485
+ # reporter to record.
1486
+ #
1487
+ # source://minitest//lib/minitest.rb#340
1488
+ def run(reporter, options = T.unsafe(nil)); end
1489
+
1490
+ # Runs a single method and has the reporter record the result.
1491
+ # This was considered internal API but is factored out of run so
1492
+ # that subclasses can specialize the running of an individual
1493
+ # test. See Minitest::ParallelTest::ClassMethods for an example.
1494
+ #
1495
+ # source://minitest//lib/minitest.rb#376
1496
+ def run_one_method(klass, method_name, reporter); end
1497
+
1498
+ # Each subclass of Runnable is responsible for overriding this
1499
+ # method to return all runnable methods. See #methods_matching.
1500
+ #
1501
+ # @raise [NotImplementedError]
1502
+ #
1503
+ # source://minitest//lib/minitest.rb#421
1504
+ def runnable_methods; end
1505
+
1506
+ # Returns all subclasses of Runnable.
1507
+ #
1508
+ # source://minitest//lib/minitest.rb#428
1509
+ def runnables; end
1510
+
1511
+ # Defines the order to run tests (:random by default). Override
1512
+ # this or use a convenience method to change it for your tests.
1513
+ #
1514
+ # source://minitest//lib/minitest.rb#385
1515
+ def test_order; end
1516
+
1517
+ # source://minitest//lib/minitest.rb#389
1518
+ def with_info_handler(reporter, &block); end
1519
+ end
1520
+ end
1521
+
1522
+ # source://minitest//lib/minitest.rb#402
1523
+ Minitest::Runnable::SIGNALS = T.let(T.unsafe(nil), Hash)
1524
+
1525
+ # Assertion raised when skipping a run.
1526
+ #
1527
+ # source://minitest//lib/minitest.rb#980
1528
+ class Minitest::Skip < ::Minitest::Assertion
1529
+ # source://minitest//lib/minitest.rb#981
1530
+ def result_label; end
1531
+ end
1532
+
1533
+ # Minitest::Spec -- The faster, better, less-magical spec framework!
1534
+ #
1535
+ # For a list of expectations, see Minitest::Expectations.
1536
+ #
1537
+ # source://minitest//lib/minitest/spec.rb#106
1538
+ class Minitest::Spec < ::Minitest::Test
1539
+ include ::Minitest::Spec::DSL::InstanceMethods
1540
+ extend ::Minitest::Spec::DSL
1541
+
1542
+ # @return [Spec] a new instance of Spec
1543
+ #
1544
+ # source://minitest//lib/minitest/spec.rb#112
1545
+ def initialize(name); end
1546
+
1547
+ class << self
1548
+ # source://minitest//lib/minitest/spec.rb#108
1549
+ def current; end
1550
+ end
1551
+ end
1552
+
1553
+ # Oh look! A Minitest::Spec::DSL module! Eat your heart out DHH.
1554
+ #
1555
+ # source://minitest//lib/minitest/spec.rb#120
1556
+ module Minitest::Spec::DSL
1557
+ # Define an 'after' action. Inherits the way normal methods should.
1558
+ #
1559
+ # NOTE: +type+ is ignored and is only there to make porting easier.
1560
+ #
1561
+ # Equivalent to Minitest::Test#teardown.
1562
+ #
1563
+ # source://minitest//lib/minitest/spec.rb#205
1564
+ def after(_type = T.unsafe(nil), &block); end
1565
+
1566
+ # Define a 'before' action. Inherits the way normal methods should.
1567
+ #
1568
+ # NOTE: +type+ is ignored and is only there to make porting easier.
1569
+ #
1570
+ # Equivalent to Minitest::Test#setup.
1571
+ #
1572
+ # source://minitest//lib/minitest/spec.rb#191
1573
+ def before(_type = T.unsafe(nil), &block); end
1574
+
1575
+ # source://minitest//lib/minitest/spec.rb#174
1576
+ def children; end
1577
+
1578
+ # source://minitest//lib/minitest/spec.rb#270
1579
+ def create(name, desc); end
1580
+
1581
+ # source://minitest//lib/minitest/spec.rb#291
1582
+ def desc; end
1583
+
1584
+ # source://minitest//lib/minitest/spec.rb#170
1585
+ def describe_stack; end
1586
+
1587
+ # Define an expectation with name +desc+. Name gets morphed to a
1588
+ # proper test method name. For some freakish reason, people who
1589
+ # write specs don't like class inheritance, so this goes way out of
1590
+ # its way to make sure that expectations aren't inherited.
1591
+ #
1592
+ # This is also aliased to #specify and doesn't require a +desc+ arg.
1593
+ #
1594
+ # Hint: If you _do_ want inheritance, use minitest/test. You can mix
1595
+ # and match between assertions and expectations as much as you want.
1596
+ #
1597
+ # source://minitest//lib/minitest/spec.rb#223
1598
+ def it(desc = T.unsafe(nil), &block); end
1599
+
1600
+ # Essentially, define an accessor for +name+ with +block+.
1601
+ #
1602
+ # Why use let instead of def? I honestly don't know.
1603
+ #
1604
+ # @raise [ArgumentError]
1605
+ #
1606
+ # source://minitest//lib/minitest/spec.rb#247
1607
+ def let(name, &block); end
1608
+
1609
+ # source://minitest//lib/minitest/spec.rb#283
1610
+ def name; end
1611
+
1612
+ # source://minitest//lib/minitest/spec.rb#178
1613
+ def nuke_test_methods!; end
1614
+
1615
+ # Register a new type of spec that matches the spec's description.
1616
+ # This method can take either a Regexp and a spec class or a spec
1617
+ # class and a block that takes the description and returns true if
1618
+ # it matches.
1619
+ #
1620
+ # Eg:
1621
+ #
1622
+ # register_spec_type(/Controller$/, Minitest::Spec::Rails)
1623
+ #
1624
+ # or:
1625
+ #
1626
+ # register_spec_type(Minitest::Spec::RailsModel) do |desc|
1627
+ # desc.superclass == ActiveRecord::Base
1628
+ # end
1629
+ #
1630
+ # source://minitest//lib/minitest/spec.rb#146
1631
+ def register_spec_type(*args, &block); end
1632
+
1633
+ # Figure out the spec class to use based on a spec's description. Eg:
1634
+ #
1635
+ # spec_type("BlahController") # => Minitest::Spec::Rails
1636
+ #
1637
+ # source://minitest//lib/minitest/spec.rb#160
1638
+ def spec_type(desc, *additional); end
1639
+
1640
+ # Define an expectation with name +desc+. Name gets morphed to a
1641
+ # proper test method name. For some freakish reason, people who
1642
+ # write specs don't like class inheritance, so this goes way out of
1643
+ # its way to make sure that expectations aren't inherited.
1644
+ #
1645
+ # This is also aliased to #specify and doesn't require a +desc+ arg.
1646
+ #
1647
+ # Hint: If you _do_ want inheritance, use minitest/test. You can mix
1648
+ # and match between assertions and expectations as much as you want.
1649
+ #
1650
+ # source://minitest//lib/minitest/spec.rb#223
1651
+ def specify(desc = T.unsafe(nil), &block); end
1652
+
1653
+ # Another lazy man's accessor generator. Made even more lazy by
1654
+ # setting the name for you to +subject+.
1655
+ #
1656
+ # source://minitest//lib/minitest/spec.rb#266
1657
+ def subject(&block); end
1658
+
1659
+ # source://minitest//lib/minitest/spec.rb#287
1660
+ def to_s; end
1661
+
1662
+ class << self
1663
+ # source://minitest//lib/minitest/spec.rb#335
1664
+ def extended(obj); end
1665
+ end
1666
+ end
1667
+
1668
+ # Rdoc... why are you so dumb?
1669
+ #
1670
+ # source://minitest//lib/minitest/spec.rb#297
1671
+ module Minitest::Spec::DSL::InstanceMethods
1672
+ # Takes a value or a block and returns a value monad that has
1673
+ # all of Expectations methods available to it.
1674
+ #
1675
+ # _(1 + 1).must_equal 2
1676
+ #
1677
+ # And for blocks:
1678
+ #
1679
+ # _ { 1 + "1" }.must_raise TypeError
1680
+ #
1681
+ # This method of expectation-based testing is preferable to
1682
+ # straight-expectation methods (on Object) because it stores its
1683
+ # test context, bypassing our hacky use of thread-local variables.
1684
+ #
1685
+ # NOTE: At some point, the methods on Object will be deprecated
1686
+ # and then removed.
1687
+ #
1688
+ # It is also aliased to #value and #expect for your aesthetic
1689
+ # pleasure:
1690
+ #
1691
+ # _(1 + 1).must_equal 2
1692
+ # value(1 + 1).must_equal 2
1693
+ # expect(1 + 1).must_equal 2
1694
+ #
1695
+ # source://minitest//lib/minitest/spec.rb#322
1696
+ def _(value = T.unsafe(nil), &block); end
1697
+
1698
+ # source://minitest//lib/minitest/spec.rb#329
1699
+ def before_setup; end
1700
+
1701
+ # Takes a value or a block and returns a value monad that has
1702
+ # all of Expectations methods available to it.
1703
+ #
1704
+ # _(1 + 1).must_equal 2
1705
+ #
1706
+ # And for blocks:
1707
+ #
1708
+ # _ { 1 + "1" }.must_raise TypeError
1709
+ #
1710
+ # This method of expectation-based testing is preferable to
1711
+ # straight-expectation methods (on Object) because it stores its
1712
+ # test context, bypassing our hacky use of thread-local variables.
1713
+ #
1714
+ # NOTE: At some point, the methods on Object will be deprecated
1715
+ # and then removed.
1716
+ #
1717
+ # It is also aliased to #value and #expect for your aesthetic
1718
+ # pleasure:
1719
+ #
1720
+ # _(1 + 1).must_equal 2
1721
+ # value(1 + 1).must_equal 2
1722
+ # expect(1 + 1).must_equal 2
1723
+ #
1724
+ # source://minitest//lib/minitest/spec.rb#322
1725
+ def expect(value = T.unsafe(nil), &block); end
1726
+
1727
+ # Takes a value or a block and returns a value monad that has
1728
+ # all of Expectations methods available to it.
1729
+ #
1730
+ # _(1 + 1).must_equal 2
1731
+ #
1732
+ # And for blocks:
1733
+ #
1734
+ # _ { 1 + "1" }.must_raise TypeError
1735
+ #
1736
+ # This method of expectation-based testing is preferable to
1737
+ # straight-expectation methods (on Object) because it stores its
1738
+ # test context, bypassing our hacky use of thread-local variables.
1739
+ #
1740
+ # NOTE: At some point, the methods on Object will be deprecated
1741
+ # and then removed.
1742
+ #
1743
+ # It is also aliased to #value and #expect for your aesthetic
1744
+ # pleasure:
1745
+ #
1746
+ # _(1 + 1).must_equal 2
1747
+ # value(1 + 1).must_equal 2
1748
+ # expect(1 + 1).must_equal 2
1749
+ #
1750
+ # source://minitest//lib/minitest/spec.rb#322
1751
+ def value(value = T.unsafe(nil), &block); end
1752
+ end
1753
+
1754
+ # Contains pairs of matchers and Spec classes to be used to
1755
+ # calculate the superclass of a top-level describe. This allows for
1756
+ # automatically customizable spec types.
1757
+ #
1758
+ # See: register_spec_type and spec_type
1759
+ #
1760
+ # source://minitest//lib/minitest/spec.rb#128
1761
+ Minitest::Spec::DSL::TYPES = T.let(T.unsafe(nil), Array)
1762
+
1763
+ # source://minitest//lib/minitest/spec.rb#342
1764
+ Minitest::Spec::TYPES = T.let(T.unsafe(nil), Array)
1765
+
1766
+ # A reporter that gathers statistics about a test run. Does not do
1767
+ # any IO because meant to be used as a parent class for a reporter
1768
+ # that does.
1769
+ #
1770
+ # If you want to create an entirely different type of output (eg,
1771
+ # CI, HTML, etc), this is the place to start.
1772
+ #
1773
+ # Example:
1774
+ #
1775
+ # class JenkinsCIReporter < StatisticsReporter
1776
+ # def report
1777
+ # super # Needed to calculate some statistics
1778
+ #
1779
+ # print "<testsuite "
1780
+ # print "tests='#{count}' "
1781
+ # print "failures='#{failures}' "
1782
+ # # Remaining XML...
1783
+ # end
1784
+ # end
1785
+ #
1786
+ # source://minitest//lib/minitest.rb#735
1787
+ class Minitest::StatisticsReporter < ::Minitest::Reporter
1788
+ # @return [StatisticsReporter] a new instance of StatisticsReporter
1789
+ #
1790
+ # source://minitest//lib/minitest.rb#779
1791
+ def initialize(io = T.unsafe(nil), options = T.unsafe(nil)); end
1792
+
1793
+ # Total number of assertions.
1794
+ #
1795
+ # source://minitest//lib/minitest.rb#739
1796
+ def assertions; end
1797
+
1798
+ # Total number of assertions.
1799
+ #
1800
+ # source://minitest//lib/minitest.rb#739
1801
+ def assertions=(_arg0); end
1802
+
1803
+ # Total number of test cases.
1804
+ #
1805
+ # source://minitest//lib/minitest.rb#744
1806
+ def count; end
1807
+
1808
+ # Total number of test cases.
1809
+ #
1810
+ # source://minitest//lib/minitest.rb#744
1811
+ def count=(_arg0); end
1812
+
1813
+ # Total number of tests that erred.
1814
+ #
1815
+ # source://minitest//lib/minitest.rb#772
1816
+ def errors; end
1817
+
1818
+ # Total number of tests that erred.
1819
+ #
1820
+ # source://minitest//lib/minitest.rb#772
1821
+ def errors=(_arg0); end
1822
+
1823
+ # Total number of tests that failed.
1824
+ #
1825
+ # source://minitest//lib/minitest.rb#767
1826
+ def failures; end
1827
+
1828
+ # Total number of tests that failed.
1829
+ #
1830
+ # source://minitest//lib/minitest.rb#767
1831
+ def failures=(_arg0); end
1832
+
1833
+ # @return [Boolean]
1834
+ #
1835
+ # source://minitest//lib/minitest.rb#792
1836
+ def passed?; end
1837
+
1838
+ # source://minitest//lib/minitest.rb#800
1839
+ def record(result); end
1840
+
1841
+ # Report on the tracked statistics.
1842
+ #
1843
+ # source://minitest//lib/minitest.rb#810
1844
+ def report; end
1845
+
1846
+ # An +Array+ of test cases that failed or were skipped.
1847
+ #
1848
+ # source://minitest//lib/minitest.rb#749
1849
+ def results; end
1850
+
1851
+ # An +Array+ of test cases that failed or were skipped.
1852
+ #
1853
+ # source://minitest//lib/minitest.rb#749
1854
+ def results=(_arg0); end
1855
+
1856
+ # Total number of tests that where skipped.
1857
+ #
1858
+ # source://minitest//lib/minitest.rb#777
1859
+ def skips; end
1860
+
1861
+ # Total number of tests that where skipped.
1862
+ #
1863
+ # source://minitest//lib/minitest.rb#777
1864
+ def skips=(_arg0); end
1865
+
1866
+ # source://minitest//lib/minitest.rb#796
1867
+ def start; end
1868
+
1869
+ # Time the test run started. If available, the monotonic clock is
1870
+ # used and this is a +Float+, otherwise it's an instance of
1871
+ # +Time+.
1872
+ #
1873
+ # source://minitest//lib/minitest.rb#756
1874
+ def start_time; end
1875
+
1876
+ # Time the test run started. If available, the monotonic clock is
1877
+ # used and this is a +Float+, otherwise it's an instance of
1878
+ # +Time+.
1879
+ #
1880
+ # source://minitest//lib/minitest.rb#756
1881
+ def start_time=(_arg0); end
1882
+
1883
+ # Test run time. If available, the monotonic clock is used and
1884
+ # this is a +Float+, otherwise it's an instance of +Time+.
1885
+ #
1886
+ # source://minitest//lib/minitest.rb#762
1887
+ def total_time; end
1888
+
1889
+ # Test run time. If available, the monotonic clock is used and
1890
+ # this is a +Float+, otherwise it's an instance of +Time+.
1891
+ #
1892
+ # source://minitest//lib/minitest.rb#762
1893
+ def total_time=(_arg0); end
1894
+ end
1895
+
1896
+ # A reporter that prints the header, summary, and failure details at
1897
+ # the end of the run.
1898
+ #
1899
+ # This is added to the top-level CompositeReporter at the start of
1900
+ # the run. If you want to change the output of minitest via a
1901
+ # plugin, pull this out of the composite and replace it with your
1902
+ # own.
1903
+ #
1904
+ # source://minitest//lib/minitest.rb#830
1905
+ class Minitest::SummaryReporter < ::Minitest::StatisticsReporter
1906
+ # source://minitest//lib/minitest.rb#865
1907
+ def aggregated_results(io); end
1908
+
1909
+ # Returns the value of attribute old_sync.
1910
+ #
1911
+ # source://minitest//lib/minitest.rb#833
1912
+ def old_sync; end
1913
+
1914
+ # Sets the attribute old_sync
1915
+ #
1916
+ # @param value the value to set the attribute old_sync to.
1917
+ #
1918
+ # source://minitest//lib/minitest.rb#833
1919
+ def old_sync=(_arg0); end
1920
+
1921
+ # source://minitest//lib/minitest.rb#848
1922
+ def report; end
1923
+
1924
+ # :startdoc:
1925
+ #
1926
+ # source://minitest//lib/minitest.rb#836
1927
+ def start; end
1928
+
1929
+ # source://minitest//lib/minitest.rb#860
1930
+ def statistics; end
1931
+
1932
+ # source://minitest//lib/minitest.rb#885
1933
+ def summary; end
1934
+
1935
+ # :stopdoc:
1936
+ #
1937
+ # source://minitest//lib/minitest.rb#832
1938
+ def sync; end
1939
+
1940
+ # :stopdoc:
1941
+ #
1942
+ # source://minitest//lib/minitest.rb#832
1943
+ def sync=(_arg0); end
1944
+
1945
+ # source://minitest//lib/minitest.rb#881
1946
+ def to_s; end
1947
+ end
1948
+
1949
+ # Subclass Test to create your own tests. Typically you'll want a
1950
+ # Test subclass per implementation class.
1951
+ #
1952
+ # See Minitest::Assertions
1953
+ #
1954
+ # source://minitest//lib/minitest/test.rb#10
1955
+ class Minitest::Test < ::Minitest::Runnable
1956
+ include ::Minitest::Assertions
1957
+ include ::Minitest::Reportable
1958
+ include ::Minitest::Test::LifecycleHooks
1959
+ include ::Minitest::Guard
1960
+ include ::Mocha::ParameterMatchers
1961
+ include ::Mocha::Hooks
1962
+ include ::Mocha::API
1963
+ extend ::Minitest::Guard
1964
+
1965
+ # LifecycleHooks
1966
+ #
1967
+ # source://minitest//lib/minitest/test.rb#190
1968
+ def capture_exceptions; end
1969
+
1970
+ # source://minitest//lib/minitest/test.rb#15
1971
+ def class_name; end
1972
+
1973
+ # source://minitest//lib/minitest/test.rb#207
1974
+ def neuter_exception(e); end
1975
+
1976
+ # source://minitest//lib/minitest/test.rb#218
1977
+ def new_exception(klass, msg, bt, kill = T.unsafe(nil)); end
1978
+
1979
+ # Runs a single test with setup/teardown hooks.
1980
+ #
1981
+ # source://minitest//lib/minitest/test.rb#86
1982
+ def run; end
1983
+
1984
+ # source://minitest//lib/minitest/test.rb#200
1985
+ def sanitize_exception(e); end
1986
+
1987
+ # source://minitest//lib/minitest/test.rb#232
1988
+ def with_info_handler(&block); end
1989
+
1990
+ class << self
1991
+ # Call this at the top of your tests when you absolutely
1992
+ # positively need to have ordered tests. In doing so, you're
1993
+ # admitting that you suck and your tests are weak.
1994
+ #
1995
+ # source://minitest//lib/minitest/test.rb#35
1996
+ def i_suck_and_my_tests_are_order_dependent!; end
1997
+
1998
+ # Returns the value of attribute io_lock.
1999
+ #
2000
+ # source://minitest//lib/minitest/test.rb#26
2001
+ def io_lock; end
2002
+
2003
+ # Sets the attribute io_lock
2004
+ #
2005
+ # @param value the value to set the attribute io_lock to.
2006
+ #
2007
+ # source://minitest//lib/minitest/test.rb#26
2008
+ def io_lock=(_arg0); end
2009
+
2010
+ # Make diffs for this Test use #pretty_inspect so that diff
2011
+ # in assert_equal can have more details. NOTE: this is much slower
2012
+ # than the regular inspect but much more usable for complex
2013
+ # objects.
2014
+ #
2015
+ # source://minitest//lib/minitest/test.rb#48
2016
+ def make_my_diffs_pretty!; end
2017
+
2018
+ # Call this at the top of your tests when you want to run your
2019
+ # tests in parallel. In doing so, you're admitting that you rule
2020
+ # and your tests are awesome.
2021
+ #
2022
+ # source://minitest//lib/minitest/test.rb#59
2023
+ def parallelize_me!; end
2024
+
2025
+ # Returns all instance methods starting with "test_". Based on
2026
+ # #test_order, the methods are either sorted, randomized
2027
+ # (default), or run in parallel.
2028
+ #
2029
+ # source://minitest//lib/minitest/test.rb#69
2030
+ def runnable_methods; end
2031
+ end
2032
+ end
2033
+
2034
+ # Provides before/after hooks for setup and teardown. These are
2035
+ # meant for library writers, NOT for regular test authors. See
2036
+ # #before_setup for an example.
2037
+ #
2038
+ # source://minitest//lib/minitest/test.rb#113
2039
+ module Minitest::Test::LifecycleHooks
2040
+ # Runs before every test, after setup. This hook is meant for
2041
+ # libraries to extend minitest. It is not meant to be used by
2042
+ # test developers.
2043
+ #
2044
+ # See #before_setup for an example.
2045
+ #
2046
+ # source://minitest//lib/minitest/test.rb#163
2047
+ def after_setup; end
2048
+
2049
+ # Runs after every test, after teardown. This hook is meant for
2050
+ # libraries to extend minitest. It is not meant to be used by
2051
+ # test developers.
2052
+ #
2053
+ # See #before_setup for an example.
2054
+ #
2055
+ # source://minitest//lib/minitest/test.rb#187
2056
+ def after_teardown; end
2057
+
2058
+ # Runs before every test, before setup. This hook is meant for
2059
+ # libraries to extend minitest. It is not meant to be used by
2060
+ # test developers.
2061
+ #
2062
+ # As a simplistic example:
2063
+ #
2064
+ # module MyMinitestPlugin
2065
+ # def before_setup
2066
+ # super
2067
+ # # ... stuff to do before setup is run
2068
+ # end
2069
+ #
2070
+ # def after_setup
2071
+ # # ... stuff to do after setup is run
2072
+ # super
2073
+ # end
2074
+ #
2075
+ # def before_teardown
2076
+ # super
2077
+ # # ... stuff to do before teardown is run
2078
+ # end
2079
+ #
2080
+ # def after_teardown
2081
+ # # ... stuff to do after teardown is run
2082
+ # super
2083
+ # end
2084
+ # end
2085
+ #
2086
+ # class Minitest::Test
2087
+ # include MyMinitestPlugin
2088
+ # end
2089
+ #
2090
+ # source://minitest//lib/minitest/test.rb#148
2091
+ def before_setup; end
2092
+
2093
+ # Runs after every test, before teardown. This hook is meant for
2094
+ # libraries to extend minitest. It is not meant to be used by
2095
+ # test developers.
2096
+ #
2097
+ # See #before_setup for an example.
2098
+ #
2099
+ # source://minitest//lib/minitest/test.rb#172
2100
+ def before_teardown; end
2101
+
2102
+ # Runs before every test. Use this to set up before each test
2103
+ # run.
2104
+ #
2105
+ # source://minitest//lib/minitest/test.rb#154
2106
+ def setup; end
2107
+
2108
+ # Runs after every test. Use this to clean up after each test
2109
+ # run.
2110
+ #
2111
+ # source://minitest//lib/minitest/test.rb#178
2112
+ def teardown; end
2113
+ end
2114
+
2115
+ # source://minitest//lib/minitest/test.rb#19
2116
+ Minitest::Test::PASSTHROUGH_EXCEPTIONS = T.let(T.unsafe(nil), Array)
2117
+
2118
+ # source://minitest//lib/minitest/test.rb#21
2119
+ Minitest::Test::SETUP_METHODS = T.let(T.unsafe(nil), Array)
2120
+
2121
+ # source://minitest//lib/minitest/test.rb#23
2122
+ Minitest::Test::TEARDOWN_METHODS = T.let(T.unsafe(nil), Array)
2123
+
2124
+ # Assertion wrapping an unexpected error that was raised during a run.
2125
+ #
2126
+ # source://minitest//lib/minitest.rb#989
2127
+ class Minitest::UnexpectedError < ::Minitest::Assertion
2128
+ include ::Minitest::Compress
2129
+
2130
+ # @return [UnexpectedError] a new instance of UnexpectedError
2131
+ #
2132
+ # source://minitest//lib/minitest.rb#995
2133
+ def initialize(error); end
2134
+
2135
+ # source://minitest//lib/minitest.rb#1008
2136
+ def backtrace; end
2137
+
2138
+ # TODO: figure out how to use `cause` instead
2139
+ #
2140
+ # source://minitest//lib/minitest.rb#993
2141
+ def error; end
2142
+
2143
+ # TODO: figure out how to use `cause` instead
2144
+ #
2145
+ # source://minitest//lib/minitest.rb#993
2146
+ def error=(_arg0); end
2147
+
2148
+ # source://minitest//lib/minitest.rb#1014
2149
+ def message; end
2150
+
2151
+ # source://minitest//lib/minitest.rb#1020
2152
+ def result_label; end
2153
+ end
2154
+
2155
+ # source://minitest//lib/minitest.rb#1012
2156
+ Minitest::UnexpectedError::BASE_RE = T.let(T.unsafe(nil), Regexp)
2157
+
2158
+ # source://minitest//lib/minitest.rb#12
2159
+ Minitest::VERSION = T.let(T.unsafe(nil), String)
2160
+
2161
+ # source://minitest//lib/minitest/mock.rb#1
2162
+ class MockExpectationError < ::StandardError; end
2163
+
2164
+ # source://minitest//lib/minitest/spec.rb#3
2165
+ class Module
2166
+ # source://minitest//lib/minitest/spec.rb#4
2167
+ def infect_an_assertion(meth, new_name, dont_flip = T.unsafe(nil)); end
2168
+ end
2169
+
2170
+ # source://minitest//lib/minitest/spec.rb#347
2171
+ class Object < ::BasicObject
2172
+ include ::Kernel
2173
+ include ::PP::ObjectMixin
2174
+ include ::Minitest::Expectations
2175
+
2176
+ # Add a temporary stubbed method replacing +name+ for the duration
2177
+ # of the +block+. If +val_or_callable+ responds to #call, then it
2178
+ # returns the result of calling it, otherwise returns the value
2179
+ # as-is. If stubbed method yields a block, +block_args+ will be
2180
+ # passed along. Cleans up the stub at the end of the +block+. The
2181
+ # method +name+ must exist before stubbing.
2182
+ #
2183
+ # def test_stale_eh
2184
+ # obj_under_test = Something.new
2185
+ # refute obj_under_test.stale?
2186
+ #
2187
+ # Time.stub :now, Time.at(0) do
2188
+ # assert obj_under_test.stale?
2189
+ # end
2190
+ # end
2191
+ # --
2192
+ # NOTE: keyword args in callables are NOT checked for correctness
2193
+ # against the existing method. Too many edge cases to be worth it.
2194
+ #
2195
+ # source://minitest//lib/minitest/mock.rb#280
2196
+ def stub(name, val_or_callable, *block_args, **block_kwargs, &block); end
2197
+ end