From ae8ebf9464b5c980e6ec28f17d5ce4236ab408b1 Mon Sep 17 00:00:00 2001 From: Markus Reiter <me@reitermark.us> Date: Tue, 17 Nov 2020 04:49:54 +0100 Subject: [PATCH] Add `rspec-sorbet`. --- .gitignore | 1 + Library/Homebrew/Gemfile | 1 + Library/Homebrew/Gemfile.lock | 4 + ...90691c90f7267b9d7dc28e8f5b7150840f9e48.rbi | 8 ++ .../sorbet/rbi/hidden-definitions/hidden.rbi | 75 +++++++++++++++++-- Library/Homebrew/test/spec_helper.rb | 5 ++ 6 files changed, 88 insertions(+), 6 deletions(-) create mode 100644 Library/Homebrew/sorbet/rbi/gems/rspec-sorbet@1.6.0-7390691c90f7267b9d7dc28e8f5b7150840f9e48.rbi diff --git a/.gitignore b/.gitignore index 0a7ed12aff..ca8d5f18ab 100644 --- a/.gitignore +++ b/.gitignore @@ -128,6 +128,7 @@ **/vendor/bundle/ruby/*/gems/rspec-mocks-*/ **/vendor/bundle/ruby/*/gems/rspec-retry-*/ **/vendor/bundle/ruby/*/gems/rspec-support-*/ +**/vendor/bundle/ruby/*/gems/rspec-sorbet-*/ **/vendor/bundle/ruby/*/gems/rspec-wait-*/ **/vendor/bundle/ruby/*/gems/rubocop-1*/ **/vendor/bundle/ruby/*/gems/rubocop-ast-*/ diff --git a/Library/Homebrew/Gemfile b/Library/Homebrew/Gemfile index 57014db73f..00681d456d 100644 --- a/Library/Homebrew/Gemfile +++ b/Library/Homebrew/Gemfile @@ -10,6 +10,7 @@ gem "ronn", require: false gem "rspec", require: false gem "rspec-its", require: false gem "rspec-retry", require: false +gem "rspec-sorbet", require: false gem "rspec-wait", require: false gem "rubocop", require: false gem "simplecov", require: false diff --git a/Library/Homebrew/Gemfile.lock b/Library/Homebrew/Gemfile.lock index 97e811bbfb..8163765500 100644 --- a/Library/Homebrew/Gemfile.lock +++ b/Library/Homebrew/Gemfile.lock @@ -95,6 +95,9 @@ GEM rspec-support (~> 3.10.0) rspec-retry (0.6.2) rspec-core (> 3.3) + rspec-sorbet (1.7.0) + sorbet + sorbet-runtime rspec-support (3.10.0) rspec-wait (0.0.9) rspec (>= 3, < 4) @@ -167,6 +170,7 @@ DEPENDENCIES rspec rspec-its rspec-retry + rspec-sorbet rspec-wait rubocop rubocop-performance diff --git a/Library/Homebrew/sorbet/rbi/gems/rspec-sorbet@1.6.0-7390691c90f7267b9d7dc28e8f5b7150840f9e48.rbi b/Library/Homebrew/sorbet/rbi/gems/rspec-sorbet@1.6.0-7390691c90f7267b9d7dc28e8f5b7150840f9e48.rbi new file mode 100644 index 0000000000..bbc503d5d5 --- /dev/null +++ b/Library/Homebrew/sorbet/rbi/gems/rspec-sorbet@1.6.0-7390691c90f7267b9d7dc28e8f5b7150840f9e48.rbi @@ -0,0 +1,8 @@ +# DO NOT EDIT MANUALLY +# This is an autogenerated file for types exported from the `rspec-sorbet` gem. +# Please instead update this file by running `tapioca sync`. + +# typed: true + +# THIS IS AN EMPTY RBI FILE. +# see https://github.com/Shopify/tapioca/blob/master/README.md#manual-gem-requires diff --git a/Library/Homebrew/sorbet/rbi/hidden-definitions/hidden.rbi b/Library/Homebrew/sorbet/rbi/hidden-definitions/hidden.rbi index 1c8c484e4f..f3328d7d4b 100644 --- a/Library/Homebrew/sorbet/rbi/hidden-definitions/hidden.rbi +++ b/Library/Homebrew/sorbet/rbi/hidden-definitions/hidden.rbi @@ -3030,6 +3030,16 @@ class BottleSpecification extend ::T::Private::Methods::SingletonMethodHooks end +module BuildEnvironment::DSL + extend ::T::Private::Methods::MethodHooks + extend ::T::Private::Methods::SingletonMethodHooks +end + +class BuildEnvironment + extend ::T::Private::Methods::MethodHooks + extend ::T::Private::Methods::SingletonMethodHooks +end + Bundler::Deprecate = Gem::Deprecate class Bundler::Env @@ -5479,6 +5489,11 @@ class Cask::Audit extend ::T::Private::Methods::SingletonMethodHooks end +module Cask::Cache + extend ::T::Private::Methods::MethodHooks + extend ::T::Private::Methods::SingletonMethodHooks +end + class Cask::Cask def app(&block); end @@ -5806,11 +5821,21 @@ class Cask::MultipleCaskErrors extend ::T::Private::Methods::SingletonMethodHooks end +class Cask::Pkg + extend ::T::Private::Methods::MethodHooks + extend ::T::Private::Methods::SingletonMethodHooks +end + module Cask::Quarantine extend ::T::Private::Methods::MethodHooks extend ::T::Private::Methods::SingletonMethodHooks end +module Cask::Staged + extend ::T::Private::Methods::MethodHooks + extend ::T::Private::Methods::SingletonMethodHooks +end + module Cask::Utils extend ::T::Private::Methods::MethodHooks extend ::T::Private::Methods::SingletonMethodHooks @@ -8046,6 +8071,11 @@ class GitHub::Actions::Annotation extend ::T::Private::Methods::SingletonMethodHooks end +module GitHub::Actions + extend ::T::Private::Methods::MethodHooks + extend ::T::Private::Methods::SingletonMethodHooks +end + module GitHub extend ::T::Private::Methods::MethodHooks extend ::T::Private::Methods::SingletonMethodHooks @@ -8132,6 +8162,11 @@ class Homebrew::CLI::Args extend ::T::Private::Methods::SingletonMethodHooks end +class Homebrew::CLI::NamedArgs + extend ::T::Private::Methods::MethodHooks + extend ::T::Private::Methods::SingletonMethodHooks +end + class Homebrew::CLI::Parser include ::Homebrew::CLI::Parser::Compat end @@ -8287,6 +8322,11 @@ class Homebrew::Style::LineLocation extend ::T::Private::Methods::SingletonMethodHooks end +class Homebrew::TapAuditor + extend ::T::Private::Methods::MethodHooks + extend ::T::Private::Methods::SingletonMethodHooks +end + module Homebrew extend ::FileUtils::StreamUtils_ extend ::T::Private::Methods::MethodHooks @@ -13289,8 +13329,6 @@ end class Net::HTTPAlreadyReported end -Net::HTTPClientError::EXCEPTION_TYPE = Net::HTTPServerException - Net::HTTPClientErrorCode = Net::HTTPClientError class Net::HTTPEarlyHints @@ -13352,8 +13390,6 @@ end class Net::HTTPRangeNotSatisfiable end -Net::HTTPRedirection::EXCEPTION_TYPE = Net::HTTPRetriableError - Net::HTTPRedirectionCode = Net::HTTPRedirection Net::HTTPRequestURITooLarge = Net::HTTPURITooLong @@ -13362,8 +13398,6 @@ Net::HTTPResponceReceiver = Net::HTTPResponse Net::HTTPRetriableCode = Net::HTTPRedirection -Net::HTTPServerError::EXCEPTION_TYPE = Net::HTTPFatalError - Net::HTTPServerErrorCode = Net::HTTPServerError Net::HTTPSession = Net::HTTP @@ -25362,6 +25396,25 @@ end RSpec::SharedContext = RSpec::Core::SharedContext +module RSpec::Sorbet +end + +module RSpec::Sorbet::Doubles + def allow_doubles!(); end + + def allow_instance_doubles!(); end + INLINE_DOUBLE_REGEX = ::T.let(nil, ::T.untyped) + TYPED_ARRAY_MESSAGE = ::T.let(nil, ::T.untyped) + VERIFYING_DOUBLE_OR_DOUBLE = ::T.let(nil, ::T.untyped) +end + +module RSpec::Sorbet::Doubles +end + +module RSpec::Sorbet + extend ::RSpec::Sorbet::Doubles +end + module RSpec::Support DEFAULT_FAILURE_NOTIFIER = ::T.let(nil, ::T.untyped) DEFAULT_WARNING_NOTIFIER = ::T.let(nil, ::T.untyped) @@ -30740,6 +30793,16 @@ module Utils::Inreplace extend ::T::Private::Methods::SingletonMethodHooks end +class Utils::Shebang::RewriteInfo + extend ::T::Private::Methods::MethodHooks + extend ::T::Private::Methods::SingletonMethodHooks +end + +module Utils::Shebang + extend ::T::Private::Methods::MethodHooks + extend ::T::Private::Methods::SingletonMethodHooks +end + module Utils::Shell extend ::T::Private::Methods::MethodHooks extend ::T::Private::Methods::SingletonMethodHooks diff --git a/Library/Homebrew/test/spec_helper.rb b/Library/Homebrew/test/spec_helper.rb index f52ca51233..4a9c2a0b0c 100644 --- a/Library/Homebrew/test/spec_helper.rb +++ b/Library/Homebrew/test/spec_helper.rb @@ -26,6 +26,7 @@ end require "rspec/its" require "rspec/wait" require "rspec/retry" +require "rspec/sorbet" require "rubocop" require "rubocop/rspec/support" require "find" @@ -58,6 +59,10 @@ TEST_DIRECTORIES = [ HOMEBREW_TEMP, ].freeze +# Make `instance_double` and `class_double` +# work when type-checking is active. +RSpec::Sorbet.allow_doubles! + RSpec.configure do |config| config.order = :random -- GitLab