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.
- checksums.yaml +7 -0
- data/.github/dependabot.yml +22 -0
- data/.github/workflows/comments.yml +35 -0
- data/.github/workflows/dependabot.yml +30 -0
- data/.github/workflows/ruby.yml +82 -0
- data/.github/workflows/typecheck.yml +38 -0
- data/.github/workflows/windows.yml +43 -0
- data/.gitignore +23 -0
- data/.rubocop.yml +68 -0
- data/BSDL +22 -0
- data/CHANGELOG.md +1868 -0
- data/COPYING +56 -0
- data/README.md +203 -0
- data/Rakefile +417 -0
- data/Steepfile +44 -0
- data/config.yml +313 -0
- data/core/array.rbs +4062 -0
- data/core/basic_object.rbs +375 -0
- data/core/binding.rbs +150 -0
- data/core/builtin.rbs +277 -0
- data/core/class.rbs +220 -0
- data/core/comparable.rbs +171 -0
- data/core/complex.rbs +786 -0
- data/core/constants.rbs +96 -0
- data/core/data.rbs +415 -0
- data/core/dir.rbs +981 -0
- data/core/encoding.rbs +1371 -0
- data/core/enumerable.rbs +2405 -0
- data/core/enumerator/product.rbs +92 -0
- data/core/enumerator.rbs +630 -0
- data/core/env.rbs +6 -0
- data/core/errno.rbs +673 -0
- data/core/errors.rbs +760 -0
- data/core/exception.rbs +485 -0
- data/core/false_class.rbs +82 -0
- data/core/fiber.rbs +550 -0
- data/core/fiber_error.rbs +11 -0
- data/core/file.rbs +2936 -0
- data/core/file_test.rbs +331 -0
- data/core/float.rbs +1151 -0
- data/core/gc.rbs +644 -0
- data/core/global_variables.rbs +184 -0
- data/core/hash.rbs +1861 -0
- data/core/integer.rbs +1413 -0
- data/core/io/buffer.rbs +984 -0
- data/core/io/wait.rbs +70 -0
- data/core/io.rbs +3406 -0
- data/core/kernel.rbs +3096 -0
- data/core/marshal.rbs +207 -0
- data/core/match_data.rbs +635 -0
- data/core/math.rbs +729 -0
- data/core/method.rbs +386 -0
- data/core/module.rbs +1704 -0
- data/core/nil_class.rbs +209 -0
- data/core/numeric.rbs +818 -0
- data/core/object.rbs +110 -0
- data/core/object_space/weak_key_map.rbs +166 -0
- data/core/object_space.rbs +190 -0
- data/core/proc.rbs +868 -0
- data/core/process.rbs +2296 -0
- data/core/ractor.rbs +1068 -0
- data/core/random.rbs +237 -0
- data/core/range.rbs +1107 -0
- data/core/rational.rbs +531 -0
- data/core/rb_config.rbs +88 -0
- data/core/rbs/unnamed/argf.rbs +1229 -0
- data/core/rbs/unnamed/env_class.rbs +1209 -0
- data/core/rbs/unnamed/random.rbs +293 -0
- data/core/refinement.rbs +59 -0
- data/core/regexp.rbs +1930 -0
- data/core/ruby_vm.rbs +765 -0
- data/core/rubygems/basic_specification.rbs +6 -0
- data/core/rubygems/config_file.rbs +38 -0
- data/core/rubygems/dependency_installer.rbs +6 -0
- data/core/rubygems/errors.rbs +176 -0
- data/core/rubygems/installer.rbs +15 -0
- data/core/rubygems/path_support.rbs +6 -0
- data/core/rubygems/platform.rbs +7 -0
- data/core/rubygems/request_set.rbs +49 -0
- data/core/rubygems/requirement.rbs +148 -0
- data/core/rubygems/rubygems.rbs +1171 -0
- data/core/rubygems/source_list.rbs +15 -0
- data/core/rubygems/specification.rbs +23 -0
- data/core/rubygems/stream_ui.rbs +5 -0
- data/core/rubygems/uninstaller.rbs +10 -0
- data/core/rubygems/version.rbs +294 -0
- data/core/set.rbs +621 -0
- data/core/signal.rbs +100 -0
- data/core/string.rbs +3583 -0
- data/core/struct.rbs +667 -0
- data/core/symbol.rbs +475 -0
- data/core/thread.rbs +1765 -0
- data/core/thread_group.rbs +79 -0
- data/core/time.rbs +1762 -0
- data/core/trace_point.rbs +477 -0
- data/core/true_class.rbs +98 -0
- data/core/unbound_method.rbs +329 -0
- data/core/warning.rbs +87 -0
- data/docs/CONTRIBUTING.md +106 -0
- data/docs/architecture.md +110 -0
- data/docs/collection.md +192 -0
- data/docs/data_and_struct.md +86 -0
- data/docs/gem.md +57 -0
- data/docs/rbs_by_example.md +309 -0
- data/docs/repo.md +125 -0
- data/docs/sigs.md +167 -0
- data/docs/stdlib.md +147 -0
- data/docs/syntax.md +910 -0
- data/docs/tools.md +17 -0
- data/exe/rbs +7 -0
- data/ext/rbs_extension/extconf.rb +15 -0
- data/ext/rbs_extension/lexer.c +2728 -0
- data/ext/rbs_extension/lexer.h +179 -0
- data/ext/rbs_extension/lexer.re +147 -0
- data/ext/rbs_extension/lexstate.c +175 -0
- data/ext/rbs_extension/location.c +325 -0
- data/ext/rbs_extension/location.h +85 -0
- data/ext/rbs_extension/main.c +33 -0
- data/ext/rbs_extension/parser.c +2973 -0
- data/ext/rbs_extension/parser.h +18 -0
- data/ext/rbs_extension/parserstate.c +397 -0
- data/ext/rbs_extension/parserstate.h +163 -0
- data/ext/rbs_extension/rbs_extension.h +31 -0
- data/ext/rbs_extension/unescape.c +32 -0
- data/goodcheck.yml +91 -0
- data/include/rbs/constants.h +82 -0
- data/include/rbs/ruby_objs.h +72 -0
- data/include/rbs/util/rbs_constant_pool.h +219 -0
- data/include/rbs.h +7 -0
- data/lib/rbs/ancestor_graph.rb +92 -0
- data/lib/rbs/annotate/annotations.rb +199 -0
- data/lib/rbs/annotate/formatter.rb +92 -0
- data/lib/rbs/annotate/rdoc_annotator.rb +400 -0
- data/lib/rbs/annotate/rdoc_source.rb +131 -0
- data/lib/rbs/annotate.rb +8 -0
- data/lib/rbs/ast/annotation.rb +29 -0
- data/lib/rbs/ast/comment.rb +29 -0
- data/lib/rbs/ast/declarations.rb +467 -0
- data/lib/rbs/ast/directives.rb +49 -0
- data/lib/rbs/ast/members.rb +451 -0
- data/lib/rbs/ast/type_param.rb +225 -0
- data/lib/rbs/ast/visitor.rb +137 -0
- data/lib/rbs/buffer.rb +67 -0
- data/lib/rbs/builtin_names.rb +58 -0
- data/lib/rbs/cli/colored_io.rb +48 -0
- data/lib/rbs/cli/diff.rb +83 -0
- data/lib/rbs/cli/validate.rb +357 -0
- data/lib/rbs/cli.rb +1223 -0
- data/lib/rbs/collection/cleaner.rb +38 -0
- data/lib/rbs/collection/config/lockfile.rb +92 -0
- data/lib/rbs/collection/config/lockfile_generator.rb +218 -0
- data/lib/rbs/collection/config.rb +81 -0
- data/lib/rbs/collection/installer.rb +32 -0
- data/lib/rbs/collection/sources/base.rb +14 -0
- data/lib/rbs/collection/sources/git.rb +258 -0
- data/lib/rbs/collection/sources/local.rb +81 -0
- data/lib/rbs/collection/sources/rubygems.rb +48 -0
- data/lib/rbs/collection/sources/stdlib.rb +50 -0
- data/lib/rbs/collection/sources.rb +38 -0
- data/lib/rbs/collection.rb +16 -0
- data/lib/rbs/constant.rb +28 -0
- data/lib/rbs/definition.rb +401 -0
- data/lib/rbs/definition_builder/ancestor_builder.rb +620 -0
- data/lib/rbs/definition_builder/method_builder.rb +254 -0
- data/lib/rbs/definition_builder.rb +845 -0
- data/lib/rbs/diff.rb +125 -0
- data/lib/rbs/environment/use_map.rb +77 -0
- data/lib/rbs/environment.rb +829 -0
- data/lib/rbs/environment_loader.rb +173 -0
- data/lib/rbs/environment_walker.rb +155 -0
- data/lib/rbs/errors.rb +645 -0
- data/lib/rbs/factory.rb +18 -0
- data/lib/rbs/file_finder.rb +28 -0
- data/lib/rbs/location_aux.rb +138 -0
- data/lib/rbs/locator.rb +243 -0
- data/lib/rbs/method_type.rb +143 -0
- data/lib/rbs/namespace.rb +125 -0
- data/lib/rbs/parser/lex_result.rb +15 -0
- data/lib/rbs/parser/token.rb +23 -0
- data/lib/rbs/parser_aux.rb +114 -0
- data/lib/rbs/prototype/helpers.rb +140 -0
- data/lib/rbs/prototype/node_usage.rb +99 -0
- data/lib/rbs/prototype/rb.rb +840 -0
- data/lib/rbs/prototype/rbi.rb +641 -0
- data/lib/rbs/prototype/runtime/helpers.rb +59 -0
- data/lib/rbs/prototype/runtime/reflection.rb +19 -0
- data/lib/rbs/prototype/runtime/value_object_generator.rb +279 -0
- data/lib/rbs/prototype/runtime.rb +667 -0
- data/lib/rbs/repository.rb +127 -0
- data/lib/rbs/resolver/constant_resolver.rb +219 -0
- data/lib/rbs/resolver/type_name_resolver.rb +91 -0
- data/lib/rbs/sorter.rb +198 -0
- data/lib/rbs/substitution.rb +83 -0
- data/lib/rbs/subtractor.rb +201 -0
- data/lib/rbs/test/errors.rb +80 -0
- data/lib/rbs/test/guaranteed.rb +30 -0
- data/lib/rbs/test/hook.rb +212 -0
- data/lib/rbs/test/observer.rb +19 -0
- data/lib/rbs/test/setup.rb +84 -0
- data/lib/rbs/test/setup_helper.rb +50 -0
- data/lib/rbs/test/tester.rb +167 -0
- data/lib/rbs/test/type_check.rb +435 -0
- data/lib/rbs/test.rb +112 -0
- data/lib/rbs/type_alias_dependency.rb +100 -0
- data/lib/rbs/type_alias_regularity.rb +126 -0
- data/lib/rbs/type_name.rb +109 -0
- data/lib/rbs/types.rb +1596 -0
- data/lib/rbs/unit_test/convertibles.rb +176 -0
- data/lib/rbs/unit_test/spy.rb +138 -0
- data/lib/rbs/unit_test/type_assertions.rb +347 -0
- data/lib/rbs/unit_test/with_aliases.rb +143 -0
- data/lib/rbs/unit_test.rb +6 -0
- data/lib/rbs/validator.rb +186 -0
- data/lib/rbs/variance_calculator.rb +189 -0
- data/lib/rbs/vendorer.rb +71 -0
- data/lib/rbs/version.rb +5 -0
- data/lib/rbs/writer.rb +424 -0
- data/lib/rbs.rb +94 -0
- data/lib/rdoc/discover.rb +20 -0
- data/lib/rdoc_plugin/parser.rb +163 -0
- data/rbs-relaxed.gemspec +48 -0
- data/schema/annotation.json +14 -0
- data/schema/comment.json +26 -0
- data/schema/decls.json +326 -0
- data/schema/function.json +87 -0
- data/schema/location.json +56 -0
- data/schema/members.json +266 -0
- data/schema/methodType.json +50 -0
- data/schema/typeParam.json +36 -0
- data/schema/types.json +317 -0
- data/sig/ancestor_builder.rbs +163 -0
- data/sig/ancestor_graph.rbs +60 -0
- data/sig/annotate/annotations.rbs +102 -0
- data/sig/annotate/formatter.rbs +24 -0
- data/sig/annotate/rdoc_annotater.rbs +82 -0
- data/sig/annotate/rdoc_source.rbs +30 -0
- data/sig/annotation.rbs +27 -0
- data/sig/buffer.rbs +32 -0
- data/sig/builtin_names.rbs +44 -0
- data/sig/cli/colored_io.rbs +15 -0
- data/sig/cli/diff.rbs +21 -0
- data/sig/cli/validate.rbs +43 -0
- data/sig/cli.rbs +87 -0
- data/sig/collection/cleaner.rbs +13 -0
- data/sig/collection/config/lockfile.rbs +74 -0
- data/sig/collection/config/lockfile_generator.rbs +66 -0
- data/sig/collection/config.rbs +46 -0
- data/sig/collection/installer.rbs +17 -0
- data/sig/collection/sources.rbs +214 -0
- data/sig/collection.rbs +4 -0
- data/sig/comment.rbs +26 -0
- data/sig/constant.rbs +21 -0
- data/sig/declarations.rbs +267 -0
- data/sig/definition.rbs +173 -0
- data/sig/definition_builder.rbs +165 -0
- data/sig/diff.rbs +28 -0
- data/sig/directives.rbs +77 -0
- data/sig/environment.rbs +279 -0
- data/sig/environment_loader.rbs +111 -0
- data/sig/environment_walker.rbs +65 -0
- data/sig/errors.rbs +405 -0
- data/sig/factory.rbs +5 -0
- data/sig/file_finder.rbs +28 -0
- data/sig/location.rbs +110 -0
- data/sig/locator.rbs +58 -0
- data/sig/manifest.yaml +7 -0
- data/sig/members.rbs +258 -0
- data/sig/method_builder.rbs +84 -0
- data/sig/method_types.rbs +58 -0
- data/sig/namespace.rbs +146 -0
- data/sig/parser.rbs +100 -0
- data/sig/prototype/helpers.rbs +27 -0
- data/sig/prototype/node_usage.rbs +20 -0
- data/sig/prototype/rb.rbs +96 -0
- data/sig/prototype/rbi.rbs +75 -0
- data/sig/prototype/runtime.rbs +182 -0
- data/sig/rbs.rbs +21 -0
- data/sig/rdoc/rbs.rbs +67 -0
- data/sig/repository.rbs +85 -0
- data/sig/resolver/constant_resolver.rbs +92 -0
- data/sig/resolver/context.rbs +34 -0
- data/sig/resolver/type_name_resolver.rbs +35 -0
- data/sig/shims/bundler.rbs +38 -0
- data/sig/shims/enumerable.rbs +5 -0
- data/sig/shims/rubygems.rbs +19 -0
- data/sig/sorter.rbs +41 -0
- data/sig/substitution.rbs +48 -0
- data/sig/subtractor.rbs +37 -0
- data/sig/test/errors.rbs +52 -0
- data/sig/test/guranteed.rbs +9 -0
- data/sig/test/type_check.rbs +19 -0
- data/sig/test.rbs +82 -0
- data/sig/type_alias_dependency.rbs +53 -0
- data/sig/type_alias_regularity.rbs +98 -0
- data/sig/type_param.rbs +110 -0
- data/sig/typename.rbs +79 -0
- data/sig/types.rbs +579 -0
- data/sig/unit_test/convertibles.rbs +154 -0
- data/sig/unit_test/spy.rbs +30 -0
- data/sig/unit_test/type_assertions.rbs +196 -0
- data/sig/unit_test/with_aliases.rbs +136 -0
- data/sig/use_map.rbs +35 -0
- data/sig/util.rbs +9 -0
- data/sig/validator.rbs +63 -0
- data/sig/variance_calculator.rbs +87 -0
- data/sig/vendorer.rbs +51 -0
- data/sig/version.rbs +3 -0
- data/sig/visitor.rbs +47 -0
- data/sig/writer.rbs +127 -0
- data/src/constants.c +153 -0
- data/src/ruby_objs.c +795 -0
- data/src/util/rbs_constant_pool.c +342 -0
- data/stdlib/abbrev/0/abbrev.rbs +66 -0
- data/stdlib/abbrev/0/array.rbs +26 -0
- data/stdlib/base64/0/base64.rbs +355 -0
- data/stdlib/benchmark/0/benchmark.rbs +452 -0
- data/stdlib/bigdecimal/0/big_decimal.rbs +1629 -0
- data/stdlib/bigdecimal-math/0/big_math.rbs +119 -0
- data/stdlib/bigdecimal-math/0/manifest.yaml +2 -0
- data/stdlib/cgi/0/core.rbs +1285 -0
- data/stdlib/cgi/0/manifest.yaml +3 -0
- data/stdlib/coverage/0/coverage.rbs +263 -0
- data/stdlib/csv/0/csv.rbs +3776 -0
- data/stdlib/csv/0/manifest.yaml +3 -0
- data/stdlib/date/0/date.rbs +1585 -0
- data/stdlib/date/0/date_time.rbs +616 -0
- data/stdlib/date/0/time.rbs +26 -0
- data/stdlib/dbm/0/dbm.rbs +421 -0
- data/stdlib/delegate/0/delegator.rbs +184 -0
- data/stdlib/delegate/0/kernel.rbs +47 -0
- data/stdlib/delegate/0/simple_delegator.rbs +96 -0
- data/stdlib/did_you_mean/0/did_you_mean.rbs +343 -0
- data/stdlib/digest/0/digest.rbs +577 -0
- data/stdlib/erb/0/erb.rbs +532 -0
- data/stdlib/etc/0/etc.rbs +865 -0
- data/stdlib/fileutils/0/fileutils.rbs +1734 -0
- data/stdlib/find/0/find.rbs +49 -0
- data/stdlib/forwardable/0/forwardable.rbs +268 -0
- data/stdlib/io-console/0/io-console.rbs +414 -0
- data/stdlib/ipaddr/0/ipaddr.rbs +428 -0
- data/stdlib/json/0/json.rbs +1916 -0
- data/stdlib/kconv/0/kconv.rbs +166 -0
- data/stdlib/logger/0/formatter.rbs +45 -0
- data/stdlib/logger/0/log_device.rbs +100 -0
- data/stdlib/logger/0/logger.rbs +796 -0
- data/stdlib/logger/0/manifest.yaml +2 -0
- data/stdlib/logger/0/period.rbs +17 -0
- data/stdlib/logger/0/severity.rbs +34 -0
- data/stdlib/minitest/0/kernel.rbs +42 -0
- data/stdlib/minitest/0/minitest/abstract_reporter.rbs +52 -0
- data/stdlib/minitest/0/minitest/assertion.rbs +17 -0
- data/stdlib/minitest/0/minitest/assertions.rbs +590 -0
- data/stdlib/minitest/0/minitest/backtrace_filter.rbs +23 -0
- data/stdlib/minitest/0/minitest/bench_spec.rbs +102 -0
- data/stdlib/minitest/0/minitest/benchmark.rbs +259 -0
- data/stdlib/minitest/0/minitest/composite_reporter.rbs +25 -0
- data/stdlib/minitest/0/minitest/compress.rbs +13 -0
- data/stdlib/minitest/0/minitest/error_on_warning.rbs +3 -0
- data/stdlib/minitest/0/minitest/expectation.rbs +2 -0
- data/stdlib/minitest/0/minitest/expectations.rbs +21 -0
- data/stdlib/minitest/0/minitest/guard.rbs +64 -0
- data/stdlib/minitest/0/minitest/mock.rbs +64 -0
- data/stdlib/minitest/0/minitest/parallel/executor.rbs +46 -0
- data/stdlib/minitest/0/minitest/parallel/test/class_methods.rbs +5 -0
- data/stdlib/minitest/0/minitest/parallel/test.rbs +3 -0
- data/stdlib/minitest/0/minitest/parallel.rbs +2 -0
- data/stdlib/minitest/0/minitest/pride_io.rbs +62 -0
- data/stdlib/minitest/0/minitest/pride_lol.rbs +19 -0
- data/stdlib/minitest/0/minitest/progress_reporter.rbs +11 -0
- data/stdlib/minitest/0/minitest/reportable.rbs +53 -0
- data/stdlib/minitest/0/minitest/reporter.rbs +5 -0
- data/stdlib/minitest/0/minitest/result.rbs +28 -0
- data/stdlib/minitest/0/minitest/runnable.rbs +163 -0
- data/stdlib/minitest/0/minitest/skip.rbs +6 -0
- data/stdlib/minitest/0/minitest/spec/dsl/instance_methods.rbs +48 -0
- data/stdlib/minitest/0/minitest/spec/dsl.rbs +129 -0
- data/stdlib/minitest/0/minitest/spec.rbs +11 -0
- data/stdlib/minitest/0/minitest/statistics_reporter.rbs +81 -0
- data/stdlib/minitest/0/minitest/summary_reporter.rbs +18 -0
- data/stdlib/minitest/0/minitest/test/lifecycle_hooks.rbs +92 -0
- data/stdlib/minitest/0/minitest/test.rbs +69 -0
- data/stdlib/minitest/0/minitest/unexpected_error.rbs +12 -0
- data/stdlib/minitest/0/minitest/unexpected_warning.rbs +6 -0
- data/stdlib/minitest/0/minitest/unit/test_case.rbs +3 -0
- data/stdlib/minitest/0/minitest/unit.rbs +4 -0
- data/stdlib/minitest/0/minitest.rbs +115 -0
- data/stdlib/monitor/0/monitor.rbs +363 -0
- data/stdlib/mutex_m/0/mutex_m.rbs +104 -0
- data/stdlib/net-http/0/manifest.yaml +3 -0
- data/stdlib/net-http/0/net-http.rbs +5552 -0
- data/stdlib/net-protocol/0/manifest.yaml +2 -0
- data/stdlib/net-protocol/0/net-protocol.rbs +56 -0
- data/stdlib/net-smtp/0/manifest.yaml +2 -0
- data/stdlib/net-smtp/0/net-smtp.rbs +55 -0
- data/stdlib/nkf/0/nkf.rbs +402 -0
- data/stdlib/objspace/0/objspace.rbs +487 -0
- data/stdlib/observable/0/observable.rbs +217 -0
- data/stdlib/open-uri/0/manifest.yaml +4 -0
- data/stdlib/open-uri/0/open-uri.rbs +393 -0
- data/stdlib/open3/0/open3.rbs +147 -0
- data/stdlib/openssl/0/manifest.yaml +3 -0
- data/stdlib/openssl/0/openssl.rbs +12113 -0
- data/stdlib/optparse/0/optparse.rbs +1725 -0
- data/stdlib/pathname/0/pathname.rbs +1406 -0
- data/stdlib/pp/0/manifest.yaml +2 -0
- data/stdlib/pp/0/pp.rbs +300 -0
- data/stdlib/prettyprint/0/prettyprint.rbs +383 -0
- data/stdlib/pstore/0/pstore.rbs +603 -0
- data/stdlib/psych/0/core_ext.rbs +12 -0
- data/stdlib/psych/0/dbm.rbs +237 -0
- data/stdlib/psych/0/manifest.yaml +3 -0
- data/stdlib/psych/0/psych.rbs +402 -0
- data/stdlib/psych/0/store.rbs +59 -0
- data/stdlib/pty/0/pty.rbs +237 -0
- data/stdlib/rdoc/0/code_object.rbs +51 -0
- data/stdlib/rdoc/0/comment.rbs +59 -0
- data/stdlib/rdoc/0/context.rbs +153 -0
- data/stdlib/rdoc/0/markup.rbs +117 -0
- data/stdlib/rdoc/0/parser.rbs +56 -0
- data/stdlib/rdoc/0/rdoc.rbs +391 -0
- data/stdlib/rdoc/0/ri.rbs +17 -0
- data/stdlib/rdoc/0/store.rbs +48 -0
- data/stdlib/rdoc/0/top_level.rbs +97 -0
- data/stdlib/resolv/0/manifest.yaml +3 -0
- data/stdlib/resolv/0/resolv.rbs +1830 -0
- data/stdlib/ripper/0/ripper.rbs +1648 -0
- data/stdlib/securerandom/0/securerandom.rbs +62 -0
- data/stdlib/shellwords/0/shellwords.rbs +229 -0
- data/stdlib/singleton/0/singleton.rbs +131 -0
- data/stdlib/socket/0/addrinfo.rbs +666 -0
- data/stdlib/socket/0/basic_socket.rbs +590 -0
- data/stdlib/socket/0/constants.rbs +2295 -0
- data/stdlib/socket/0/ip_socket.rbs +92 -0
- data/stdlib/socket/0/socket.rbs +4157 -0
- data/stdlib/socket/0/socket_error.rbs +5 -0
- data/stdlib/socket/0/tcp_server.rbs +192 -0
- data/stdlib/socket/0/tcp_socket.rbs +79 -0
- data/stdlib/socket/0/udp_socket.rbs +133 -0
- data/stdlib/socket/0/unix_server.rbs +169 -0
- data/stdlib/socket/0/unix_socket.rbs +172 -0
- data/stdlib/stringio/0/stringio.rbs +567 -0
- data/stdlib/strscan/0/string_scanner.rbs +1627 -0
- data/stdlib/tempfile/0/tempfile.rbs +479 -0
- data/stdlib/time/0/time.rbs +432 -0
- data/stdlib/timeout/0/timeout.rbs +81 -0
- data/stdlib/tmpdir/0/tmpdir.rbs +69 -0
- data/stdlib/tsort/0/cyclic.rbs +5 -0
- data/stdlib/tsort/0/interfaces.rbs +20 -0
- data/stdlib/tsort/0/tsort.rbs +409 -0
- data/stdlib/uri/0/common.rbs +582 -0
- data/stdlib/uri/0/file.rbs +118 -0
- data/stdlib/uri/0/ftp.rbs +13 -0
- data/stdlib/uri/0/generic.rbs +1108 -0
- data/stdlib/uri/0/http.rbs +104 -0
- data/stdlib/uri/0/https.rbs +14 -0
- data/stdlib/uri/0/ldap.rbs +230 -0
- data/stdlib/uri/0/ldaps.rbs +14 -0
- data/stdlib/uri/0/mailto.rbs +92 -0
- data/stdlib/uri/0/rfc2396_parser.rbs +189 -0
- data/stdlib/uri/0/rfc3986_parser.rbs +2 -0
- data/stdlib/uri/0/ws.rbs +13 -0
- data/stdlib/uri/0/wss.rbs +9 -0
- data/stdlib/yaml/0/manifest.yaml +2 -0
- data/stdlib/yaml/0/yaml.rbs +1 -0
- data/stdlib/zlib/0/buf_error.rbs +10 -0
- data/stdlib/zlib/0/data_error.rbs +10 -0
- data/stdlib/zlib/0/deflate.rbs +210 -0
- data/stdlib/zlib/0/error.rbs +20 -0
- data/stdlib/zlib/0/gzip_file/crc_error.rbs +12 -0
- data/stdlib/zlib/0/gzip_file/error.rbs +23 -0
- data/stdlib/zlib/0/gzip_file/length_error.rbs +12 -0
- data/stdlib/zlib/0/gzip_file/no_footer.rbs +11 -0
- data/stdlib/zlib/0/gzip_file.rbs +156 -0
- data/stdlib/zlib/0/gzip_reader.rbs +293 -0
- data/stdlib/zlib/0/gzip_writer.rbs +166 -0
- data/stdlib/zlib/0/inflate.rbs +180 -0
- data/stdlib/zlib/0/mem_error.rbs +10 -0
- data/stdlib/zlib/0/need_dict.rbs +13 -0
- data/stdlib/zlib/0/stream_end.rbs +11 -0
- data/stdlib/zlib/0/stream_error.rbs +11 -0
- data/stdlib/zlib/0/version_error.rbs +11 -0
- data/stdlib/zlib/0/zlib.rbs +449 -0
- data/stdlib/zlib/0/zstream.rbs +200 -0
- 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
|