rbs-relaxed 3.9.0.1

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 (484) hide show
  1. checksums.yaml +7 -0
  2. data/.github/dependabot.yml +22 -0
  3. data/.github/workflows/comments.yml +35 -0
  4. data/.github/workflows/dependabot.yml +30 -0
  5. data/.github/workflows/ruby.yml +82 -0
  6. data/.github/workflows/typecheck.yml +38 -0
  7. data/.github/workflows/windows.yml +43 -0
  8. data/.gitignore +23 -0
  9. data/.rubocop.yml +68 -0
  10. data/BSDL +22 -0
  11. data/CHANGELOG.md +1868 -0
  12. data/COPYING +56 -0
  13. data/README.md +203 -0
  14. data/Rakefile +417 -0
  15. data/Steepfile +44 -0
  16. data/config.yml +313 -0
  17. data/core/array.rbs +4062 -0
  18. data/core/basic_object.rbs +375 -0
  19. data/core/binding.rbs +150 -0
  20. data/core/builtin.rbs +277 -0
  21. data/core/class.rbs +220 -0
  22. data/core/comparable.rbs +171 -0
  23. data/core/complex.rbs +786 -0
  24. data/core/constants.rbs +96 -0
  25. data/core/data.rbs +415 -0
  26. data/core/dir.rbs +981 -0
  27. data/core/encoding.rbs +1371 -0
  28. data/core/enumerable.rbs +2405 -0
  29. data/core/enumerator/product.rbs +92 -0
  30. data/core/enumerator.rbs +630 -0
  31. data/core/env.rbs +6 -0
  32. data/core/errno.rbs +673 -0
  33. data/core/errors.rbs +760 -0
  34. data/core/exception.rbs +485 -0
  35. data/core/false_class.rbs +82 -0
  36. data/core/fiber.rbs +550 -0
  37. data/core/fiber_error.rbs +11 -0
  38. data/core/file.rbs +2936 -0
  39. data/core/file_test.rbs +331 -0
  40. data/core/float.rbs +1151 -0
  41. data/core/gc.rbs +644 -0
  42. data/core/global_variables.rbs +184 -0
  43. data/core/hash.rbs +1861 -0
  44. data/core/integer.rbs +1413 -0
  45. data/core/io/buffer.rbs +984 -0
  46. data/core/io/wait.rbs +70 -0
  47. data/core/io.rbs +3406 -0
  48. data/core/kernel.rbs +3096 -0
  49. data/core/marshal.rbs +207 -0
  50. data/core/match_data.rbs +635 -0
  51. data/core/math.rbs +729 -0
  52. data/core/method.rbs +386 -0
  53. data/core/module.rbs +1704 -0
  54. data/core/nil_class.rbs +209 -0
  55. data/core/numeric.rbs +818 -0
  56. data/core/object.rbs +110 -0
  57. data/core/object_space/weak_key_map.rbs +166 -0
  58. data/core/object_space.rbs +190 -0
  59. data/core/proc.rbs +868 -0
  60. data/core/process.rbs +2296 -0
  61. data/core/ractor.rbs +1068 -0
  62. data/core/random.rbs +237 -0
  63. data/core/range.rbs +1107 -0
  64. data/core/rational.rbs +531 -0
  65. data/core/rb_config.rbs +88 -0
  66. data/core/rbs/unnamed/argf.rbs +1229 -0
  67. data/core/rbs/unnamed/env_class.rbs +1209 -0
  68. data/core/rbs/unnamed/random.rbs +293 -0
  69. data/core/refinement.rbs +59 -0
  70. data/core/regexp.rbs +1930 -0
  71. data/core/ruby_vm.rbs +765 -0
  72. data/core/rubygems/basic_specification.rbs +6 -0
  73. data/core/rubygems/config_file.rbs +38 -0
  74. data/core/rubygems/dependency_installer.rbs +6 -0
  75. data/core/rubygems/errors.rbs +176 -0
  76. data/core/rubygems/installer.rbs +15 -0
  77. data/core/rubygems/path_support.rbs +6 -0
  78. data/core/rubygems/platform.rbs +7 -0
  79. data/core/rubygems/request_set.rbs +49 -0
  80. data/core/rubygems/requirement.rbs +148 -0
  81. data/core/rubygems/rubygems.rbs +1171 -0
  82. data/core/rubygems/source_list.rbs +15 -0
  83. data/core/rubygems/specification.rbs +23 -0
  84. data/core/rubygems/stream_ui.rbs +5 -0
  85. data/core/rubygems/uninstaller.rbs +10 -0
  86. data/core/rubygems/version.rbs +294 -0
  87. data/core/set.rbs +621 -0
  88. data/core/signal.rbs +100 -0
  89. data/core/string.rbs +3583 -0
  90. data/core/struct.rbs +667 -0
  91. data/core/symbol.rbs +475 -0
  92. data/core/thread.rbs +1765 -0
  93. data/core/thread_group.rbs +79 -0
  94. data/core/time.rbs +1762 -0
  95. data/core/trace_point.rbs +477 -0
  96. data/core/true_class.rbs +98 -0
  97. data/core/unbound_method.rbs +329 -0
  98. data/core/warning.rbs +87 -0
  99. data/docs/CONTRIBUTING.md +106 -0
  100. data/docs/architecture.md +110 -0
  101. data/docs/collection.md +192 -0
  102. data/docs/data_and_struct.md +86 -0
  103. data/docs/gem.md +57 -0
  104. data/docs/rbs_by_example.md +309 -0
  105. data/docs/repo.md +125 -0
  106. data/docs/sigs.md +167 -0
  107. data/docs/stdlib.md +147 -0
  108. data/docs/syntax.md +910 -0
  109. data/docs/tools.md +17 -0
  110. data/exe/rbs +7 -0
  111. data/ext/rbs_extension/extconf.rb +15 -0
  112. data/ext/rbs_extension/lexer.c +2728 -0
  113. data/ext/rbs_extension/lexer.h +179 -0
  114. data/ext/rbs_extension/lexer.re +147 -0
  115. data/ext/rbs_extension/lexstate.c +175 -0
  116. data/ext/rbs_extension/location.c +325 -0
  117. data/ext/rbs_extension/location.h +85 -0
  118. data/ext/rbs_extension/main.c +33 -0
  119. data/ext/rbs_extension/parser.c +2973 -0
  120. data/ext/rbs_extension/parser.h +18 -0
  121. data/ext/rbs_extension/parserstate.c +397 -0
  122. data/ext/rbs_extension/parserstate.h +163 -0
  123. data/ext/rbs_extension/rbs_extension.h +31 -0
  124. data/ext/rbs_extension/unescape.c +32 -0
  125. data/goodcheck.yml +91 -0
  126. data/include/rbs/constants.h +82 -0
  127. data/include/rbs/ruby_objs.h +72 -0
  128. data/include/rbs/util/rbs_constant_pool.h +219 -0
  129. data/include/rbs.h +7 -0
  130. data/lib/rbs/ancestor_graph.rb +92 -0
  131. data/lib/rbs/annotate/annotations.rb +199 -0
  132. data/lib/rbs/annotate/formatter.rb +92 -0
  133. data/lib/rbs/annotate/rdoc_annotator.rb +400 -0
  134. data/lib/rbs/annotate/rdoc_source.rb +131 -0
  135. data/lib/rbs/annotate.rb +8 -0
  136. data/lib/rbs/ast/annotation.rb +29 -0
  137. data/lib/rbs/ast/comment.rb +29 -0
  138. data/lib/rbs/ast/declarations.rb +467 -0
  139. data/lib/rbs/ast/directives.rb +49 -0
  140. data/lib/rbs/ast/members.rb +451 -0
  141. data/lib/rbs/ast/type_param.rb +225 -0
  142. data/lib/rbs/ast/visitor.rb +137 -0
  143. data/lib/rbs/buffer.rb +67 -0
  144. data/lib/rbs/builtin_names.rb +58 -0
  145. data/lib/rbs/cli/colored_io.rb +48 -0
  146. data/lib/rbs/cli/diff.rb +83 -0
  147. data/lib/rbs/cli/validate.rb +357 -0
  148. data/lib/rbs/cli.rb +1223 -0
  149. data/lib/rbs/collection/cleaner.rb +38 -0
  150. data/lib/rbs/collection/config/lockfile.rb +92 -0
  151. data/lib/rbs/collection/config/lockfile_generator.rb +218 -0
  152. data/lib/rbs/collection/config.rb +81 -0
  153. data/lib/rbs/collection/installer.rb +32 -0
  154. data/lib/rbs/collection/sources/base.rb +14 -0
  155. data/lib/rbs/collection/sources/git.rb +258 -0
  156. data/lib/rbs/collection/sources/local.rb +81 -0
  157. data/lib/rbs/collection/sources/rubygems.rb +48 -0
  158. data/lib/rbs/collection/sources/stdlib.rb +50 -0
  159. data/lib/rbs/collection/sources.rb +38 -0
  160. data/lib/rbs/collection.rb +16 -0
  161. data/lib/rbs/constant.rb +28 -0
  162. data/lib/rbs/definition.rb +401 -0
  163. data/lib/rbs/definition_builder/ancestor_builder.rb +620 -0
  164. data/lib/rbs/definition_builder/method_builder.rb +254 -0
  165. data/lib/rbs/definition_builder.rb +845 -0
  166. data/lib/rbs/diff.rb +125 -0
  167. data/lib/rbs/environment/use_map.rb +77 -0
  168. data/lib/rbs/environment.rb +829 -0
  169. data/lib/rbs/environment_loader.rb +173 -0
  170. data/lib/rbs/environment_walker.rb +155 -0
  171. data/lib/rbs/errors.rb +645 -0
  172. data/lib/rbs/factory.rb +18 -0
  173. data/lib/rbs/file_finder.rb +28 -0
  174. data/lib/rbs/location_aux.rb +138 -0
  175. data/lib/rbs/locator.rb +243 -0
  176. data/lib/rbs/method_type.rb +143 -0
  177. data/lib/rbs/namespace.rb +125 -0
  178. data/lib/rbs/parser/lex_result.rb +15 -0
  179. data/lib/rbs/parser/token.rb +23 -0
  180. data/lib/rbs/parser_aux.rb +114 -0
  181. data/lib/rbs/prototype/helpers.rb +140 -0
  182. data/lib/rbs/prototype/node_usage.rb +99 -0
  183. data/lib/rbs/prototype/rb.rb +840 -0
  184. data/lib/rbs/prototype/rbi.rb +641 -0
  185. data/lib/rbs/prototype/runtime/helpers.rb +59 -0
  186. data/lib/rbs/prototype/runtime/reflection.rb +19 -0
  187. data/lib/rbs/prototype/runtime/value_object_generator.rb +279 -0
  188. data/lib/rbs/prototype/runtime.rb +667 -0
  189. data/lib/rbs/repository.rb +127 -0
  190. data/lib/rbs/resolver/constant_resolver.rb +219 -0
  191. data/lib/rbs/resolver/type_name_resolver.rb +91 -0
  192. data/lib/rbs/sorter.rb +198 -0
  193. data/lib/rbs/substitution.rb +83 -0
  194. data/lib/rbs/subtractor.rb +201 -0
  195. data/lib/rbs/test/errors.rb +80 -0
  196. data/lib/rbs/test/guaranteed.rb +30 -0
  197. data/lib/rbs/test/hook.rb +212 -0
  198. data/lib/rbs/test/observer.rb +19 -0
  199. data/lib/rbs/test/setup.rb +84 -0
  200. data/lib/rbs/test/setup_helper.rb +50 -0
  201. data/lib/rbs/test/tester.rb +167 -0
  202. data/lib/rbs/test/type_check.rb +435 -0
  203. data/lib/rbs/test.rb +112 -0
  204. data/lib/rbs/type_alias_dependency.rb +100 -0
  205. data/lib/rbs/type_alias_regularity.rb +126 -0
  206. data/lib/rbs/type_name.rb +109 -0
  207. data/lib/rbs/types.rb +1596 -0
  208. data/lib/rbs/unit_test/convertibles.rb +176 -0
  209. data/lib/rbs/unit_test/spy.rb +138 -0
  210. data/lib/rbs/unit_test/type_assertions.rb +347 -0
  211. data/lib/rbs/unit_test/with_aliases.rb +143 -0
  212. data/lib/rbs/unit_test.rb +6 -0
  213. data/lib/rbs/validator.rb +186 -0
  214. data/lib/rbs/variance_calculator.rb +189 -0
  215. data/lib/rbs/vendorer.rb +71 -0
  216. data/lib/rbs/version.rb +5 -0
  217. data/lib/rbs/writer.rb +424 -0
  218. data/lib/rbs.rb +94 -0
  219. data/lib/rdoc/discover.rb +20 -0
  220. data/lib/rdoc_plugin/parser.rb +163 -0
  221. data/rbs-relaxed.gemspec +48 -0
  222. data/schema/annotation.json +14 -0
  223. data/schema/comment.json +26 -0
  224. data/schema/decls.json +326 -0
  225. data/schema/function.json +87 -0
  226. data/schema/location.json +56 -0
  227. data/schema/members.json +266 -0
  228. data/schema/methodType.json +50 -0
  229. data/schema/typeParam.json +36 -0
  230. data/schema/types.json +317 -0
  231. data/sig/ancestor_builder.rbs +163 -0
  232. data/sig/ancestor_graph.rbs +60 -0
  233. data/sig/annotate/annotations.rbs +102 -0
  234. data/sig/annotate/formatter.rbs +24 -0
  235. data/sig/annotate/rdoc_annotater.rbs +82 -0
  236. data/sig/annotate/rdoc_source.rbs +30 -0
  237. data/sig/annotation.rbs +27 -0
  238. data/sig/buffer.rbs +32 -0
  239. data/sig/builtin_names.rbs +44 -0
  240. data/sig/cli/colored_io.rbs +15 -0
  241. data/sig/cli/diff.rbs +21 -0
  242. data/sig/cli/validate.rbs +43 -0
  243. data/sig/cli.rbs +87 -0
  244. data/sig/collection/cleaner.rbs +13 -0
  245. data/sig/collection/config/lockfile.rbs +74 -0
  246. data/sig/collection/config/lockfile_generator.rbs +66 -0
  247. data/sig/collection/config.rbs +46 -0
  248. data/sig/collection/installer.rbs +17 -0
  249. data/sig/collection/sources.rbs +214 -0
  250. data/sig/collection.rbs +4 -0
  251. data/sig/comment.rbs +26 -0
  252. data/sig/constant.rbs +21 -0
  253. data/sig/declarations.rbs +267 -0
  254. data/sig/definition.rbs +173 -0
  255. data/sig/definition_builder.rbs +165 -0
  256. data/sig/diff.rbs +28 -0
  257. data/sig/directives.rbs +77 -0
  258. data/sig/environment.rbs +279 -0
  259. data/sig/environment_loader.rbs +111 -0
  260. data/sig/environment_walker.rbs +65 -0
  261. data/sig/errors.rbs +405 -0
  262. data/sig/factory.rbs +5 -0
  263. data/sig/file_finder.rbs +28 -0
  264. data/sig/location.rbs +110 -0
  265. data/sig/locator.rbs +58 -0
  266. data/sig/manifest.yaml +7 -0
  267. data/sig/members.rbs +258 -0
  268. data/sig/method_builder.rbs +84 -0
  269. data/sig/method_types.rbs +58 -0
  270. data/sig/namespace.rbs +146 -0
  271. data/sig/parser.rbs +100 -0
  272. data/sig/prototype/helpers.rbs +27 -0
  273. data/sig/prototype/node_usage.rbs +20 -0
  274. data/sig/prototype/rb.rbs +96 -0
  275. data/sig/prototype/rbi.rbs +75 -0
  276. data/sig/prototype/runtime.rbs +182 -0
  277. data/sig/rbs.rbs +21 -0
  278. data/sig/rdoc/rbs.rbs +67 -0
  279. data/sig/repository.rbs +85 -0
  280. data/sig/resolver/constant_resolver.rbs +92 -0
  281. data/sig/resolver/context.rbs +34 -0
  282. data/sig/resolver/type_name_resolver.rbs +35 -0
  283. data/sig/shims/bundler.rbs +38 -0
  284. data/sig/shims/enumerable.rbs +5 -0
  285. data/sig/shims/rubygems.rbs +19 -0
  286. data/sig/sorter.rbs +41 -0
  287. data/sig/substitution.rbs +48 -0
  288. data/sig/subtractor.rbs +37 -0
  289. data/sig/test/errors.rbs +52 -0
  290. data/sig/test/guranteed.rbs +9 -0
  291. data/sig/test/type_check.rbs +19 -0
  292. data/sig/test.rbs +82 -0
  293. data/sig/type_alias_dependency.rbs +53 -0
  294. data/sig/type_alias_regularity.rbs +98 -0
  295. data/sig/type_param.rbs +110 -0
  296. data/sig/typename.rbs +79 -0
  297. data/sig/types.rbs +579 -0
  298. data/sig/unit_test/convertibles.rbs +154 -0
  299. data/sig/unit_test/spy.rbs +30 -0
  300. data/sig/unit_test/type_assertions.rbs +196 -0
  301. data/sig/unit_test/with_aliases.rbs +136 -0
  302. data/sig/use_map.rbs +35 -0
  303. data/sig/util.rbs +9 -0
  304. data/sig/validator.rbs +63 -0
  305. data/sig/variance_calculator.rbs +87 -0
  306. data/sig/vendorer.rbs +51 -0
  307. data/sig/version.rbs +3 -0
  308. data/sig/visitor.rbs +47 -0
  309. data/sig/writer.rbs +127 -0
  310. data/src/constants.c +153 -0
  311. data/src/ruby_objs.c +795 -0
  312. data/src/util/rbs_constant_pool.c +342 -0
  313. data/stdlib/abbrev/0/abbrev.rbs +66 -0
  314. data/stdlib/abbrev/0/array.rbs +26 -0
  315. data/stdlib/base64/0/base64.rbs +355 -0
  316. data/stdlib/benchmark/0/benchmark.rbs +452 -0
  317. data/stdlib/bigdecimal/0/big_decimal.rbs +1629 -0
  318. data/stdlib/bigdecimal-math/0/big_math.rbs +119 -0
  319. data/stdlib/bigdecimal-math/0/manifest.yaml +2 -0
  320. data/stdlib/cgi/0/core.rbs +1285 -0
  321. data/stdlib/cgi/0/manifest.yaml +3 -0
  322. data/stdlib/coverage/0/coverage.rbs +263 -0
  323. data/stdlib/csv/0/csv.rbs +3776 -0
  324. data/stdlib/csv/0/manifest.yaml +3 -0
  325. data/stdlib/date/0/date.rbs +1585 -0
  326. data/stdlib/date/0/date_time.rbs +616 -0
  327. data/stdlib/date/0/time.rbs +26 -0
  328. data/stdlib/dbm/0/dbm.rbs +421 -0
  329. data/stdlib/delegate/0/delegator.rbs +184 -0
  330. data/stdlib/delegate/0/kernel.rbs +47 -0
  331. data/stdlib/delegate/0/simple_delegator.rbs +96 -0
  332. data/stdlib/did_you_mean/0/did_you_mean.rbs +343 -0
  333. data/stdlib/digest/0/digest.rbs +577 -0
  334. data/stdlib/erb/0/erb.rbs +532 -0
  335. data/stdlib/etc/0/etc.rbs +865 -0
  336. data/stdlib/fileutils/0/fileutils.rbs +1734 -0
  337. data/stdlib/find/0/find.rbs +49 -0
  338. data/stdlib/forwardable/0/forwardable.rbs +268 -0
  339. data/stdlib/io-console/0/io-console.rbs +414 -0
  340. data/stdlib/ipaddr/0/ipaddr.rbs +428 -0
  341. data/stdlib/json/0/json.rbs +1916 -0
  342. data/stdlib/kconv/0/kconv.rbs +166 -0
  343. data/stdlib/logger/0/formatter.rbs +45 -0
  344. data/stdlib/logger/0/log_device.rbs +100 -0
  345. data/stdlib/logger/0/logger.rbs +796 -0
  346. data/stdlib/logger/0/manifest.yaml +2 -0
  347. data/stdlib/logger/0/period.rbs +17 -0
  348. data/stdlib/logger/0/severity.rbs +34 -0
  349. data/stdlib/minitest/0/kernel.rbs +42 -0
  350. data/stdlib/minitest/0/minitest/abstract_reporter.rbs +52 -0
  351. data/stdlib/minitest/0/minitest/assertion.rbs +17 -0
  352. data/stdlib/minitest/0/minitest/assertions.rbs +590 -0
  353. data/stdlib/minitest/0/minitest/backtrace_filter.rbs +23 -0
  354. data/stdlib/minitest/0/minitest/bench_spec.rbs +102 -0
  355. data/stdlib/minitest/0/minitest/benchmark.rbs +259 -0
  356. data/stdlib/minitest/0/minitest/composite_reporter.rbs +25 -0
  357. data/stdlib/minitest/0/minitest/compress.rbs +13 -0
  358. data/stdlib/minitest/0/minitest/error_on_warning.rbs +3 -0
  359. data/stdlib/minitest/0/minitest/expectation.rbs +2 -0
  360. data/stdlib/minitest/0/minitest/expectations.rbs +21 -0
  361. data/stdlib/minitest/0/minitest/guard.rbs +64 -0
  362. data/stdlib/minitest/0/minitest/mock.rbs +64 -0
  363. data/stdlib/minitest/0/minitest/parallel/executor.rbs +46 -0
  364. data/stdlib/minitest/0/minitest/parallel/test/class_methods.rbs +5 -0
  365. data/stdlib/minitest/0/minitest/parallel/test.rbs +3 -0
  366. data/stdlib/minitest/0/minitest/parallel.rbs +2 -0
  367. data/stdlib/minitest/0/minitest/pride_io.rbs +62 -0
  368. data/stdlib/minitest/0/minitest/pride_lol.rbs +19 -0
  369. data/stdlib/minitest/0/minitest/progress_reporter.rbs +11 -0
  370. data/stdlib/minitest/0/minitest/reportable.rbs +53 -0
  371. data/stdlib/minitest/0/minitest/reporter.rbs +5 -0
  372. data/stdlib/minitest/0/minitest/result.rbs +28 -0
  373. data/stdlib/minitest/0/minitest/runnable.rbs +163 -0
  374. data/stdlib/minitest/0/minitest/skip.rbs +6 -0
  375. data/stdlib/minitest/0/minitest/spec/dsl/instance_methods.rbs +48 -0
  376. data/stdlib/minitest/0/minitest/spec/dsl.rbs +129 -0
  377. data/stdlib/minitest/0/minitest/spec.rbs +11 -0
  378. data/stdlib/minitest/0/minitest/statistics_reporter.rbs +81 -0
  379. data/stdlib/minitest/0/minitest/summary_reporter.rbs +18 -0
  380. data/stdlib/minitest/0/minitest/test/lifecycle_hooks.rbs +92 -0
  381. data/stdlib/minitest/0/minitest/test.rbs +69 -0
  382. data/stdlib/minitest/0/minitest/unexpected_error.rbs +12 -0
  383. data/stdlib/minitest/0/minitest/unexpected_warning.rbs +6 -0
  384. data/stdlib/minitest/0/minitest/unit/test_case.rbs +3 -0
  385. data/stdlib/minitest/0/minitest/unit.rbs +4 -0
  386. data/stdlib/minitest/0/minitest.rbs +115 -0
  387. data/stdlib/monitor/0/monitor.rbs +363 -0
  388. data/stdlib/mutex_m/0/mutex_m.rbs +104 -0
  389. data/stdlib/net-http/0/manifest.yaml +3 -0
  390. data/stdlib/net-http/0/net-http.rbs +5552 -0
  391. data/stdlib/net-protocol/0/manifest.yaml +2 -0
  392. data/stdlib/net-protocol/0/net-protocol.rbs +56 -0
  393. data/stdlib/net-smtp/0/manifest.yaml +2 -0
  394. data/stdlib/net-smtp/0/net-smtp.rbs +55 -0
  395. data/stdlib/nkf/0/nkf.rbs +402 -0
  396. data/stdlib/objspace/0/objspace.rbs +487 -0
  397. data/stdlib/observable/0/observable.rbs +217 -0
  398. data/stdlib/open-uri/0/manifest.yaml +4 -0
  399. data/stdlib/open-uri/0/open-uri.rbs +393 -0
  400. data/stdlib/open3/0/open3.rbs +147 -0
  401. data/stdlib/openssl/0/manifest.yaml +3 -0
  402. data/stdlib/openssl/0/openssl.rbs +12113 -0
  403. data/stdlib/optparse/0/optparse.rbs +1725 -0
  404. data/stdlib/pathname/0/pathname.rbs +1406 -0
  405. data/stdlib/pp/0/manifest.yaml +2 -0
  406. data/stdlib/pp/0/pp.rbs +300 -0
  407. data/stdlib/prettyprint/0/prettyprint.rbs +383 -0
  408. data/stdlib/pstore/0/pstore.rbs +603 -0
  409. data/stdlib/psych/0/core_ext.rbs +12 -0
  410. data/stdlib/psych/0/dbm.rbs +237 -0
  411. data/stdlib/psych/0/manifest.yaml +3 -0
  412. data/stdlib/psych/0/psych.rbs +402 -0
  413. data/stdlib/psych/0/store.rbs +59 -0
  414. data/stdlib/pty/0/pty.rbs +237 -0
  415. data/stdlib/rdoc/0/code_object.rbs +51 -0
  416. data/stdlib/rdoc/0/comment.rbs +59 -0
  417. data/stdlib/rdoc/0/context.rbs +153 -0
  418. data/stdlib/rdoc/0/markup.rbs +117 -0
  419. data/stdlib/rdoc/0/parser.rbs +56 -0
  420. data/stdlib/rdoc/0/rdoc.rbs +391 -0
  421. data/stdlib/rdoc/0/ri.rbs +17 -0
  422. data/stdlib/rdoc/0/store.rbs +48 -0
  423. data/stdlib/rdoc/0/top_level.rbs +97 -0
  424. data/stdlib/resolv/0/manifest.yaml +3 -0
  425. data/stdlib/resolv/0/resolv.rbs +1830 -0
  426. data/stdlib/ripper/0/ripper.rbs +1648 -0
  427. data/stdlib/securerandom/0/securerandom.rbs +62 -0
  428. data/stdlib/shellwords/0/shellwords.rbs +229 -0
  429. data/stdlib/singleton/0/singleton.rbs +131 -0
  430. data/stdlib/socket/0/addrinfo.rbs +666 -0
  431. data/stdlib/socket/0/basic_socket.rbs +590 -0
  432. data/stdlib/socket/0/constants.rbs +2295 -0
  433. data/stdlib/socket/0/ip_socket.rbs +92 -0
  434. data/stdlib/socket/0/socket.rbs +4157 -0
  435. data/stdlib/socket/0/socket_error.rbs +5 -0
  436. data/stdlib/socket/0/tcp_server.rbs +192 -0
  437. data/stdlib/socket/0/tcp_socket.rbs +79 -0
  438. data/stdlib/socket/0/udp_socket.rbs +133 -0
  439. data/stdlib/socket/0/unix_server.rbs +169 -0
  440. data/stdlib/socket/0/unix_socket.rbs +172 -0
  441. data/stdlib/stringio/0/stringio.rbs +567 -0
  442. data/stdlib/strscan/0/string_scanner.rbs +1627 -0
  443. data/stdlib/tempfile/0/tempfile.rbs +479 -0
  444. data/stdlib/time/0/time.rbs +432 -0
  445. data/stdlib/timeout/0/timeout.rbs +81 -0
  446. data/stdlib/tmpdir/0/tmpdir.rbs +69 -0
  447. data/stdlib/tsort/0/cyclic.rbs +5 -0
  448. data/stdlib/tsort/0/interfaces.rbs +20 -0
  449. data/stdlib/tsort/0/tsort.rbs +409 -0
  450. data/stdlib/uri/0/common.rbs +582 -0
  451. data/stdlib/uri/0/file.rbs +118 -0
  452. data/stdlib/uri/0/ftp.rbs +13 -0
  453. data/stdlib/uri/0/generic.rbs +1108 -0
  454. data/stdlib/uri/0/http.rbs +104 -0
  455. data/stdlib/uri/0/https.rbs +14 -0
  456. data/stdlib/uri/0/ldap.rbs +230 -0
  457. data/stdlib/uri/0/ldaps.rbs +14 -0
  458. data/stdlib/uri/0/mailto.rbs +92 -0
  459. data/stdlib/uri/0/rfc2396_parser.rbs +189 -0
  460. data/stdlib/uri/0/rfc3986_parser.rbs +2 -0
  461. data/stdlib/uri/0/ws.rbs +13 -0
  462. data/stdlib/uri/0/wss.rbs +9 -0
  463. data/stdlib/yaml/0/manifest.yaml +2 -0
  464. data/stdlib/yaml/0/yaml.rbs +1 -0
  465. data/stdlib/zlib/0/buf_error.rbs +10 -0
  466. data/stdlib/zlib/0/data_error.rbs +10 -0
  467. data/stdlib/zlib/0/deflate.rbs +210 -0
  468. data/stdlib/zlib/0/error.rbs +20 -0
  469. data/stdlib/zlib/0/gzip_file/crc_error.rbs +12 -0
  470. data/stdlib/zlib/0/gzip_file/error.rbs +23 -0
  471. data/stdlib/zlib/0/gzip_file/length_error.rbs +12 -0
  472. data/stdlib/zlib/0/gzip_file/no_footer.rbs +11 -0
  473. data/stdlib/zlib/0/gzip_file.rbs +156 -0
  474. data/stdlib/zlib/0/gzip_reader.rbs +293 -0
  475. data/stdlib/zlib/0/gzip_writer.rbs +166 -0
  476. data/stdlib/zlib/0/inflate.rbs +180 -0
  477. data/stdlib/zlib/0/mem_error.rbs +10 -0
  478. data/stdlib/zlib/0/need_dict.rbs +13 -0
  479. data/stdlib/zlib/0/stream_end.rbs +11 -0
  480. data/stdlib/zlib/0/stream_error.rbs +11 -0
  481. data/stdlib/zlib/0/version_error.rbs +11 -0
  482. data/stdlib/zlib/0/zlib.rbs +449 -0
  483. data/stdlib/zlib/0/zstream.rbs +200 -0
  484. metadata +532 -0
@@ -0,0 +1,590 @@
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
+ self.@diff: untyped
12
+
13
+ @skip: untyped
14
+
15
+ def self.inspect: () -> "UNDEFINED"
16
+
17
+ # <!--
18
+ # rdoc-file=lib/minitest/assertions.rb
19
+ # - diff()
20
+ # -->
21
+ # Returns the diff command to use in #diff. Tries to intelligently figure out
22
+ # what diff to use.
23
+ #
24
+ def self.diff: () -> untyped
25
+
26
+ # <!--
27
+ # rdoc-file=lib/minitest/assertions.rb
28
+ # - diff=(o)
29
+ # -->
30
+ # Set the diff command to use in #diff.
31
+ #
32
+ def self.diff=: (untyped o) -> untyped
33
+
34
+ # <!--
35
+ # rdoc-file=lib/minitest/assertions.rb
36
+ # - diff(exp, act)
37
+ # -->
38
+ # Returns a diff between `exp` and `act`. If there is no known diff command or
39
+ # if it doesn't make sense to diff the output (single line, short output), then
40
+ # it simply returns a basic comparison between the two.
41
+ #
42
+ # See `things_to_diff` for more info.
43
+ #
44
+ def diff: (untyped exp, untyped act) -> (::String | untyped)
45
+
46
+ # <!--
47
+ # rdoc-file=lib/minitest/assertions.rb
48
+ # - things_to_diff(exp, act)
49
+ # -->
50
+ # Returns things to diff [expect, butwas], or [nil, nil] if nothing to diff.
51
+ #
52
+ # Criterion:
53
+ #
54
+ # 1. Strings include newlines or escaped newlines, but not both.
55
+ # 2. or: String lengths are > 30 characters.
56
+ # 3. or: Strings are equal to each other (but maybe different encodings?).
57
+ # 4. and: we found a diff executable.
58
+ #
59
+ def things_to_diff: (untyped exp, untyped act) -> untyped
60
+
61
+ # <!--
62
+ # rdoc-file=lib/minitest/assertions.rb
63
+ # - mu_pp(obj)
64
+ # -->
65
+ # This returns a human-readable version of `obj`. By default #inspect is called.
66
+ # You can override this to use #pretty_inspect if you want.
67
+ #
68
+ # See Minitest::Test.make_my_diffs_pretty!
69
+ #
70
+ def mu_pp: (untyped obj) -> untyped
71
+
72
+ # <!--
73
+ # rdoc-file=lib/minitest/assertions.rb
74
+ # - mu_pp_for_diff(obj)
75
+ # -->
76
+ # This returns a diff-able more human-readable version of `obj`. This differs
77
+ # from the regular mu_pp because it expands escaped newlines and makes
78
+ # hex-values (like object_ids) generic. This uses mu_pp to do the first pass and
79
+ # then cleans it up.
80
+ #
81
+ def mu_pp_for_diff: (untyped obj) -> untyped
82
+
83
+ # <!--
84
+ # rdoc-file=lib/minitest/assertions.rb
85
+ # - assert(test, msg = nil)
86
+ # -->
87
+ # Fails unless `test` is truthy.
88
+ #
89
+ def assert: (untyped test, ?untyped? msg) -> true
90
+
91
+ def _synchronize: () { () -> untyped } -> untyped
92
+
93
+ # <!--
94
+ # rdoc-file=lib/minitest/assertions.rb
95
+ # - assert_empty(obj, msg = nil)
96
+ # -->
97
+ # Fails unless `obj` is empty.
98
+ #
99
+ def assert_empty: (untyped obj, ?untyped? msg) -> untyped
100
+
101
+ def _where: () -> untyped
102
+
103
+ # <!--
104
+ # rdoc-file=lib/minitest/assertions.rb
105
+ # - assert_equal(exp, act, msg = nil)
106
+ # -->
107
+ # Fails unless `exp == act` printing the difference between the two, if
108
+ # possible.
109
+ #
110
+ # If there is no visible difference but the assertion fails, you should suspect
111
+ # that your #== is buggy, or your inspect output is missing crucial details.
112
+ # For nicer structural diffing, set Minitest::Test.make_my_diffs_pretty!
113
+ #
114
+ # For floats use assert_in_delta.
115
+ #
116
+ # See also: Minitest::Assertions.diff
117
+ #
118
+ def assert_equal: (untyped exp, untyped act, ?untyped? msg) -> untyped
119
+
120
+ # <!--
121
+ # rdoc-file=lib/minitest/assertions.rb
122
+ # - assert_in_delta(exp, act, delta = 0.001, msg = nil)
123
+ # -->
124
+ # For comparing Floats. Fails unless `exp` and `act` are within `delta` of each
125
+ # other.
126
+ #
127
+ # assert_in_delta Math::PI, (22.0 / 7.0), 0.01
128
+ #
129
+ def assert_in_delta: (untyped exp, untyped act, ?::Float delta, ?untyped? msg) -> untyped
130
+
131
+ # <!--
132
+ # rdoc-file=lib/minitest/assertions.rb
133
+ # - assert_in_epsilon(exp, act, epsilon = 0.001, msg = nil)
134
+ # -->
135
+ # For comparing Floats. Fails unless `exp` and `act` have a relative error less
136
+ # than `epsilon`.
137
+ #
138
+ def assert_in_epsilon: (untyped exp, untyped act, ?::Float epsilon, ?untyped? msg) -> untyped
139
+
140
+ # <!--
141
+ # rdoc-file=lib/minitest/assertions.rb
142
+ # - assert_includes(collection, obj, msg = nil)
143
+ # -->
144
+ # Fails unless `collection` includes `obj`.
145
+ #
146
+ def assert_includes: (untyped collection, untyped obj, ?untyped? msg) -> untyped
147
+
148
+ # <!--
149
+ # rdoc-file=lib/minitest/assertions.rb
150
+ # - assert_instance_of(cls, obj, msg = nil)
151
+ # -->
152
+ # Fails unless `obj` is an instance of `cls`.
153
+ #
154
+ def assert_instance_of: (untyped cls, untyped obj, ?untyped? msg) -> untyped
155
+
156
+ # <!--
157
+ # rdoc-file=lib/minitest/assertions.rb
158
+ # - assert_kind_of(cls, obj, msg = nil)
159
+ # -->
160
+ # Fails unless `obj` is a kind of `cls`.
161
+ #
162
+ def assert_kind_of: (untyped cls, untyped obj, ?untyped? msg) -> untyped
163
+
164
+ # <!--
165
+ # rdoc-file=lib/minitest/assertions.rb
166
+ # - assert_match(matcher, obj, msg = nil)
167
+ # -->
168
+ # Fails unless `matcher` `=~` `obj`.
169
+ #
170
+ def assert_match: (untyped matcher, untyped obj, ?untyped? msg) -> untyped
171
+
172
+ # <!--
173
+ # rdoc-file=lib/minitest/assertions.rb
174
+ # - assert_nil(obj, msg = nil)
175
+ # -->
176
+ # Fails unless `obj` is nil
177
+ #
178
+ def assert_nil: (untyped obj, ?untyped? msg) -> untyped
179
+
180
+ # <!--
181
+ # rdoc-file=lib/minitest/assertions.rb
182
+ # - assert_operator(o1, op, o2 = UNDEFINED, msg = nil)
183
+ # -->
184
+ # For testing with binary operators. Eg:
185
+ #
186
+ # assert_operator 5, :<=, 4
187
+ #
188
+ def assert_operator: (untyped o1, untyped op, ?untyped o2, ?untyped? msg) -> untyped
189
+
190
+ # <!--
191
+ # rdoc-file=lib/minitest/assertions.rb
192
+ # - assert_output(stdout = nil, stderr = nil) { || ... }
193
+ # -->
194
+ # Fails if stdout or stderr do not output the expected results. Pass in nil if
195
+ # you don't care about that streams output. Pass in "" if you require it to be
196
+ # silent. Pass in a regexp if you want to pattern match.
197
+ #
198
+ # assert_output(/hey/) { method_with_output }
199
+ #
200
+ # NOTE: this uses #capture_io, not #capture_subprocess_io.
201
+ #
202
+ # See also: #assert_silent
203
+ #
204
+ def assert_output: (?untyped? stdout, ?untyped? stderr) ?{ () -> untyped } -> untyped
205
+
206
+ # <!--
207
+ # rdoc-file=lib/minitest/assertions.rb
208
+ # - assert_path_exists(path, msg = nil)
209
+ # -->
210
+ # Fails unless `path` exists.
211
+ #
212
+ def assert_path_exists: (untyped path, ?untyped? msg) -> untyped
213
+
214
+ # <!--
215
+ # rdoc-file=lib/minitest/assertions.rb
216
+ # - assert_pattern() { || ... }
217
+ # -->
218
+ # For testing with pattern matching (only supported with Ruby 3.0 and later)
219
+ #
220
+ # # pass
221
+ # assert_pattern { [1,2,3] => [Integer, Integer, Integer] }
222
+ #
223
+ # # fail "length mismatch (given 3, expected 1)"
224
+ # assert_pattern { [1,2,3] => [Integer] }
225
+ #
226
+ # The bare `=>` pattern will raise a NoMatchingPatternError on failure, which
227
+ # would normally be counted as a test error. This assertion rescues
228
+ # NoMatchingPatternError and generates a test failure. Any other exception will
229
+ # be raised as normal and generate a test error.
230
+ #
231
+ def assert_pattern: () ?{ () -> untyped } -> untyped
232
+
233
+ # <!--
234
+ # rdoc-file=lib/minitest/assertions.rb
235
+ # - assert_predicate(o1, op, msg = nil)
236
+ # -->
237
+ # For testing with predicates. Eg:
238
+ #
239
+ # assert_predicate str, :empty?
240
+ #
241
+ # This is really meant for specs and is front-ended by assert_operator:
242
+ #
243
+ # str.must_be :empty?
244
+ #
245
+ def assert_predicate: (untyped o1, untyped op, ?untyped? msg) -> untyped
246
+
247
+ # <!--
248
+ # rdoc-file=lib/minitest/assertions.rb
249
+ # - assert_raises(*exp) { || ... }
250
+ # -->
251
+ # Fails unless the block raises one of `exp`. Returns the exception matched so
252
+ # you can check the message, attributes, etc.
253
+ #
254
+ # `exp` takes an optional message on the end to help explain failures and
255
+ # defaults to StandardError if no exception class is passed. Eg:
256
+ #
257
+ # assert_raises(CustomError) { method_with_custom_error }
258
+ #
259
+ # With custom error message:
260
+ #
261
+ # assert_raises(CustomError, 'This should have raised CustomError') { method_with_custom_error }
262
+ #
263
+ # Using the returned object:
264
+ #
265
+ # error = assert_raises(CustomError) do
266
+ # raise CustomError, 'This is really bad'
267
+ # end
268
+ #
269
+ # assert_equal 'This is really bad', error.message
270
+ #
271
+ def assert_raises: (*untyped exp) ?{ () -> untyped } -> untyped
272
+
273
+ # <!--
274
+ # rdoc-file=lib/minitest/assertions.rb
275
+ # - assert_respond_to(obj, meth, msg = nil, include_all: false)
276
+ # -->
277
+ # Fails unless `obj` responds to `meth`. include_all defaults to false to match
278
+ # Object#respond_to?
279
+ #
280
+ def assert_respond_to: (untyped obj, untyped meth, ?untyped? msg, ?include_all: bool) -> untyped
281
+
282
+ # <!--
283
+ # rdoc-file=lib/minitest/assertions.rb
284
+ # - assert_same(exp, act, msg = nil)
285
+ # -->
286
+ # Fails unless `exp` and `act` are #equal?
287
+ #
288
+ def assert_same: (untyped exp, untyped act, ?untyped? msg) -> untyped
289
+
290
+ # <!--
291
+ # rdoc-file=lib/minitest/assertions.rb
292
+ # - assert_send(send_ary, m = nil)
293
+ # -->
294
+ # `send_ary` is a receiver, message and arguments.
295
+ #
296
+ # Fails unless the call returns a true value
297
+ #
298
+ def assert_send: (untyped send_ary, ?untyped? m) -> untyped
299
+
300
+ # <!--
301
+ # rdoc-file=lib/minitest/assertions.rb
302
+ # - assert_silent() { || ... }
303
+ # -->
304
+ # Fails if the block outputs anything to stderr or stdout.
305
+ #
306
+ # See also: #assert_output
307
+ #
308
+ def assert_silent: () { () -> untyped } -> untyped
309
+
310
+ # <!--
311
+ # rdoc-file=lib/minitest/assertions.rb
312
+ # - assert_throws(sym, msg = nil) { || ... }
313
+ # -->
314
+ # Fails unless the block throws `sym`
315
+ #
316
+ def assert_throws: (untyped sym, ?untyped? msg) { () -> untyped } -> untyped
317
+
318
+ # <!--
319
+ # rdoc-file=lib/minitest/assertions.rb
320
+ # - capture_io() { || ... }
321
+ # -->
322
+ # Captures $stdout and $stderr into strings:
323
+ #
324
+ # out, err = capture_io do
325
+ # puts "Some info"
326
+ # warn "You did a bad thing"
327
+ # end
328
+ #
329
+ # assert_match %r%info%, out
330
+ # assert_match %r%bad%, err
331
+ #
332
+ # NOTE: For efficiency, this method uses StringIO and does not capture IO for
333
+ # subprocesses. Use #capture_subprocess_io for that.
334
+ #
335
+ def capture_io: () { () -> untyped } -> untyped
336
+
337
+ # <!--
338
+ # rdoc-file=lib/minitest/assertions.rb
339
+ # - capture_subprocess_io() { || ... }
340
+ # -->
341
+ # Captures $stdout and $stderr into strings, using Tempfile to ensure that
342
+ # subprocess IO is captured as well.
343
+ #
344
+ # out, err = capture_subprocess_io do
345
+ # system "echo Some info"
346
+ # system "echo You did a bad thing 1>&2"
347
+ # end
348
+ #
349
+ # assert_match %r%info%, out
350
+ # assert_match %r%bad%, err
351
+ #
352
+ # NOTE: This method is approximately 10x slower than #capture_io so only use it
353
+ # when you need to test the output of a subprocess.
354
+ #
355
+ def capture_subprocess_io: () { () -> untyped } -> untyped
356
+
357
+ # <!--
358
+ # rdoc-file=lib/minitest/assertions.rb
359
+ # - exception_details(e, msg)
360
+ # -->
361
+ # Returns details for exception `e`
362
+ #
363
+ def exception_details: (untyped e, untyped msg) -> untyped
364
+
365
+ # <!--
366
+ # rdoc-file=lib/minitest/assertions.rb
367
+ # - fail_after(y, m, d, msg)
368
+ # -->
369
+ # Fails after a given date (in the local time zone). This allows you to put
370
+ # time-bombs in your tests if you need to keep something around until a later
371
+ # date lest you forget about it.
372
+ #
373
+ def fail_after: (untyped y, untyped m, untyped d, untyped msg) -> (untyped | nil)
374
+
375
+ # <!--
376
+ # rdoc-file=lib/minitest/assertions.rb
377
+ # - flunk(msg = nil)
378
+ # -->
379
+ # Fails with `msg`.
380
+ #
381
+ def flunk: (?untyped? msg) -> untyped
382
+
383
+ # <!--
384
+ # rdoc-file=lib/minitest/assertions.rb
385
+ # - message(msg = nil, ending = nil, &default)
386
+ # -->
387
+ # Returns a proc that will output `msg` along with the default message.
388
+ #
389
+ def message: (?untyped? msg, ?untyped? ending) { (?) -> untyped } -> untyped
390
+
391
+ # <!--
392
+ # rdoc-file=lib/minitest/assertions.rb
393
+ # - pass(_msg = nil)
394
+ # -->
395
+ # used for counting assertions
396
+ #
397
+ def pass: (?untyped? _msg) -> untyped
398
+
399
+ # <!--
400
+ # rdoc-file=lib/minitest/assertions.rb
401
+ # - refute(test, msg = nil)
402
+ # -->
403
+ # Fails if `test` is truthy.
404
+ #
405
+ def refute: (untyped test, ?untyped? msg) -> untyped
406
+
407
+ # <!--
408
+ # rdoc-file=lib/minitest/assertions.rb
409
+ # - refute_empty(obj, msg = nil)
410
+ # -->
411
+ # Fails if `obj` is empty.
412
+ #
413
+ def refute_empty: (untyped obj, ?untyped? msg) -> untyped
414
+
415
+ # <!--
416
+ # rdoc-file=lib/minitest/assertions.rb
417
+ # - refute_equal(exp, act, msg = nil)
418
+ # -->
419
+ # Fails if `exp == act`.
420
+ #
421
+ # For floats use refute_in_delta.
422
+ #
423
+ def refute_equal: (untyped exp, untyped act, ?untyped? msg) -> untyped
424
+
425
+ # <!--
426
+ # rdoc-file=lib/minitest/assertions.rb
427
+ # - refute_in_delta(exp, act, delta = 0.001, msg = nil)
428
+ # -->
429
+ # For comparing Floats. Fails if `exp` is within `delta` of `act`.
430
+ #
431
+ # refute_in_delta Math::PI, (22.0 / 7.0)
432
+ #
433
+ def refute_in_delta: (untyped exp, untyped act, ?::Float delta, ?untyped? msg) -> untyped
434
+
435
+ # <!--
436
+ # rdoc-file=lib/minitest/assertions.rb
437
+ # - refute_in_epsilon(a, b, epsilon = 0.001, msg = nil)
438
+ # -->
439
+ # For comparing Floats. Fails if `exp` and `act` have a relative error less
440
+ # than `epsilon`.
441
+ #
442
+ def refute_in_epsilon: (untyped a, untyped b, ?::Float epsilon, ?untyped? msg) -> untyped
443
+
444
+ # <!--
445
+ # rdoc-file=lib/minitest/assertions.rb
446
+ # - refute_includes(collection, obj, msg = nil)
447
+ # -->
448
+ # Fails if `collection` includes `obj`.
449
+ #
450
+ def refute_includes: (untyped collection, untyped obj, ?untyped? msg) -> untyped
451
+
452
+ # <!--
453
+ # rdoc-file=lib/minitest/assertions.rb
454
+ # - refute_instance_of(cls, obj, msg = nil)
455
+ # -->
456
+ # Fails if `obj` is an instance of `cls`.
457
+ #
458
+ def refute_instance_of: (untyped cls, untyped obj, ?untyped? msg) -> untyped
459
+
460
+ # <!--
461
+ # rdoc-file=lib/minitest/assertions.rb
462
+ # - refute_kind_of(cls, obj, msg = nil)
463
+ # -->
464
+ # Fails if `obj` is a kind of `cls`.
465
+ #
466
+ def refute_kind_of: (untyped cls, untyped obj, ?untyped? msg) -> untyped
467
+
468
+ # <!--
469
+ # rdoc-file=lib/minitest/assertions.rb
470
+ # - refute_match(matcher, obj, msg = nil)
471
+ # -->
472
+ # Fails if `matcher` `=~` `obj`.
473
+ #
474
+ def refute_match: (untyped matcher, untyped obj, ?untyped? msg) -> untyped
475
+
476
+ # <!--
477
+ # rdoc-file=lib/minitest/assertions.rb
478
+ # - refute_nil(obj, msg = nil)
479
+ # -->
480
+ # Fails if `obj` is nil.
481
+ #
482
+ def refute_nil: (untyped obj, ?untyped? msg) -> untyped
483
+
484
+ # <!--
485
+ # rdoc-file=lib/minitest/assertions.rb
486
+ # - refute_pattern() { || ... }
487
+ # -->
488
+ # For testing with pattern matching (only supported with Ruby 3.0 and later)
489
+ #
490
+ # # pass
491
+ # refute_pattern { [1,2,3] => [String] }
492
+ #
493
+ # # fail "NoMatchingPatternError expected, but nothing was raised."
494
+ # refute_pattern { [1,2,3] => [Integer, Integer, Integer] }
495
+ #
496
+ # This assertion expects a NoMatchingPatternError exception, and will fail if
497
+ # none is raised. Any other exceptions will be raised as normal and generate a
498
+ # test error.
499
+ #
500
+ def refute_pattern: () ?{ () -> untyped } -> untyped
501
+
502
+ # <!--
503
+ # rdoc-file=lib/minitest/assertions.rb
504
+ # - refute_operator(o1, op, o2 = UNDEFINED, msg = nil)
505
+ # -->
506
+ # Fails if `o1` is not `op` `o2`. Eg:
507
+ #
508
+ # refute_operator 1, :>, 2 #=> pass
509
+ # refute_operator 1, :<, 2 #=> fail
510
+ #
511
+ def refute_operator: (untyped o1, untyped op, ?untyped o2, ?untyped? msg) -> untyped
512
+
513
+ # <!--
514
+ # rdoc-file=lib/minitest/assertions.rb
515
+ # - refute_path_exists(path, msg = nil)
516
+ # -->
517
+ # Fails if `path` exists.
518
+ #
519
+ def refute_path_exists: (untyped path, ?untyped? msg) -> untyped
520
+
521
+ # <!--
522
+ # rdoc-file=lib/minitest/assertions.rb
523
+ # - refute_predicate(o1, op, msg = nil)
524
+ # -->
525
+ # For testing with predicates.
526
+ #
527
+ # refute_predicate str, :empty?
528
+ #
529
+ # This is really meant for specs and is front-ended by refute_operator:
530
+ #
531
+ # str.wont_be :empty?
532
+ #
533
+ def refute_predicate: (untyped o1, untyped op, ?untyped? msg) -> untyped
534
+
535
+ # <!--
536
+ # rdoc-file=lib/minitest/assertions.rb
537
+ # - refute_respond_to(obj, meth, msg = nil, include_all: false)
538
+ # -->
539
+ # Fails if `obj` responds to the message `meth`. include_all defaults to false
540
+ # to match Object#respond_to?
541
+ #
542
+ def refute_respond_to: (untyped obj, untyped meth, ?untyped? msg, ?include_all: bool) -> untyped
543
+
544
+ # <!--
545
+ # rdoc-file=lib/minitest/assertions.rb
546
+ # - refute_same(exp, act, msg = nil)
547
+ # -->
548
+ # Fails if `exp` is the same (by object identity) as `act`.
549
+ #
550
+ def refute_same: (untyped exp, untyped act, ?untyped? msg) -> untyped
551
+
552
+ # <!--
553
+ # rdoc-file=lib/minitest/assertions.rb
554
+ # - skip(msg = nil, _ignored = nil)
555
+ # -->
556
+ # Skips the current run. If run in verbose-mode, the skipped run gets listed at
557
+ # the end of the run but doesn't cause a failure exit code.
558
+ #
559
+ def skip: (?untyped? msg, ?untyped? _ignored) -> untyped
560
+
561
+ # <!--
562
+ # rdoc-file=lib/minitest/assertions.rb
563
+ # - skip_until(y, m, d, msg)
564
+ # -->
565
+ # Skips the current run until a given date (in the local time zone). This allows
566
+ # you to put some fixes on hold until a later date, but still holds you
567
+ # accountable and prevents you from forgetting it.
568
+ #
569
+ def skip_until: (untyped y, untyped m, untyped d, untyped msg) -> untyped
570
+
571
+ # <!--
572
+ # rdoc-file=lib/minitest/assertions.rb
573
+ # - skipped?()
574
+ # -->
575
+ # Was this testcase skipped? Meant for #teardown.
576
+ #
577
+ def skipped?: () -> untyped
578
+
579
+ # <!--
580
+ # rdoc-file=lib/minitest/mock.rb
581
+ # - assert_mock(mock)
582
+ # -->
583
+ # Assert that the mock verifies correctly.
584
+ #
585
+ def assert_mock: (untyped mock) -> untyped
586
+
587
+ E: String
588
+
589
+ UNDEFINED: Object
590
+ end
@@ -0,0 +1,23 @@
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
+ def initialize: (?untyped regexp) -> void
8
+
9
+ # <!--
10
+ # rdoc-file=lib/minitest.rb
11
+ # - filter(bt)
12
+ # -->
13
+ # Filter `bt` to something useful. Returns the whole thing if $DEBUG (ruby) or
14
+ # $MT_DEBUG (env).
15
+ #
16
+ def filter: (untyped bt) -> (::Array["No backtrace"] | untyped)
17
+
18
+ # <!-- rdoc-file=lib/minitest.rb -->
19
+ # The regular expression to use to filter backtraces. Defaults to `MT_RE`.
20
+ #
21
+ attr_accessor regexp: untyped
22
+ MT_RE: Regexp
23
+ end
@@ -0,0 +1,102 @@
1
+ # <!-- rdoc-file=lib/minitest/benchmark.rb -->
2
+ # The spec version of Minitest::Benchmark.
3
+ #
4
+ class Minitest::BenchSpec < ::Minitest::Benchmark
5
+ # <!--
6
+ # rdoc-file=lib/minitest/benchmark.rb
7
+ # - bench(name, &block)
8
+ # -->
9
+ # This is used to define a new benchmark method. You usually don't use this
10
+ # directly and is intended for those needing to write new performance curve fits
11
+ # (eg: you need a specific polynomial fit).
12
+ #
13
+ # See ::bench_performance_linear for an example of how to use this.
14
+ #
15
+ def self.bench: (untyped name) { (?) -> untyped } -> untyped
16
+
17
+ # <!--
18
+ # rdoc-file=lib/minitest/benchmark.rb
19
+ # - bench_range(&block)
20
+ # -->
21
+ # Specifies the ranges used for benchmarking for that class.
22
+ #
23
+ # bench_range do
24
+ # bench_exp(2, 16, 2)
25
+ # end
26
+ #
27
+ # See Minitest::Benchmark#bench_range for more details.
28
+ #
29
+ def self.bench_range: () ?{ (?) -> untyped } -> untyped
30
+
31
+ # <!--
32
+ # rdoc-file=lib/minitest/benchmark.rb
33
+ # - bench_performance_linear(name, threshold = 0.99, &work)
34
+ # -->
35
+ # Create a benchmark that verifies that the performance is linear.
36
+ #
37
+ # describe "my class Bench" do
38
+ # bench_performance_linear "fast_algorithm", 0.9999 do |n|
39
+ # @obj.fast_algorithm(n)
40
+ # end
41
+ # end
42
+ #
43
+ def self.bench_performance_linear: (untyped name, ?::Float threshold) { (?) -> untyped } -> untyped
44
+
45
+ # <!--
46
+ # rdoc-file=lib/minitest/benchmark.rb
47
+ # - bench_performance_constant(name, threshold = 0.99, &work)
48
+ # -->
49
+ # Create a benchmark that verifies that the performance is constant.
50
+ #
51
+ # describe "my class Bench" do
52
+ # bench_performance_constant "zoom_algorithm!" do |n|
53
+ # @obj.zoom_algorithm!(n)
54
+ # end
55
+ # end
56
+ #
57
+ def self.bench_performance_constant: (untyped name, ?::Float threshold) { (?) -> untyped } -> untyped
58
+
59
+ # <!--
60
+ # rdoc-file=lib/minitest/benchmark.rb
61
+ # - bench_performance_exponential(name, threshold = 0.99, &work)
62
+ # -->
63
+ # Create a benchmark that verifies that the performance is exponential.
64
+ #
65
+ # describe "my class Bench" do
66
+ # bench_performance_exponential "algorithm" do |n|
67
+ # @obj.algorithm(n)
68
+ # end
69
+ # end
70
+ #
71
+ def self.bench_performance_exponential: (untyped name, ?::Float threshold) { (?) -> untyped } -> untyped
72
+
73
+ # <!--
74
+ # rdoc-file=lib/minitest/benchmark.rb
75
+ # - bench_performance_logarithmic(name, threshold = 0.99, &work)
76
+ # -->
77
+ # Create a benchmark that verifies that the performance is logarithmic.
78
+ #
79
+ # describe "my class Bench" do
80
+ # bench_performance_logarithmic "algorithm" do |n|
81
+ # @obj.algorithm(n)
82
+ # end
83
+ # end
84
+ #
85
+ def self.bench_performance_logarithmic: (untyped name, ?::Float threshold) { (?) -> untyped } -> untyped
86
+
87
+ # <!--
88
+ # rdoc-file=lib/minitest/benchmark.rb
89
+ # - bench_performance_power(name, threshold = 0.99, &work)
90
+ # -->
91
+ # Create a benchmark that verifies that the performance is power.
92
+ #
93
+ # describe "my class Bench" do
94
+ # bench_performance_power "algorithm" do |n|
95
+ # @obj.algorithm(n)
96
+ # end
97
+ # end
98
+ #
99
+ def self.bench_performance_power: (untyped name, ?::Float threshold) { (?) -> untyped } -> untyped
100
+ extend Minitest::Spec::DSL
101
+ include Minitest::Spec::DSL::InstanceMethods
102
+ end