mocktail 1.2.3 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.github/workflows/main.yml +6 -5
- data/.gitignore +3 -0
- data/.standard.yml +8 -0
- data/CHANGELOG.md +14 -0
- data/Gemfile +6 -1
- data/Gemfile.lock +98 -25
- data/README.md +18 -922
- data/Rakefile +0 -1
- data/bin/console +1 -2
- data/bin/tapioca +29 -0
- data/lib/mocktail/collects_calls.rb +2 -0
- data/lib/mocktail/debug.rb +13 -10
- data/lib/mocktail/dsl.rb +2 -0
- data/lib/mocktail/errors.rb +2 -0
- data/lib/mocktail/explains_nils.rb +2 -0
- data/lib/mocktail/explains_thing.rb +7 -4
- data/lib/mocktail/grabs_original_method_parameters.rb +30 -0
- data/lib/mocktail/handles_dry_call/fulfills_stubbing/describes_unsatisfied_stubbing.rb +3 -1
- data/lib/mocktail/handles_dry_call/fulfills_stubbing/finds_satisfaction.rb +5 -1
- data/lib/mocktail/handles_dry_call/fulfills_stubbing.rb +2 -0
- data/lib/mocktail/handles_dry_call/logs_call.rb +2 -0
- data/lib/mocktail/handles_dry_call/validates_arguments.rb +6 -4
- data/lib/mocktail/handles_dry_call.rb +2 -0
- data/lib/mocktail/handles_dry_new_call.rb +2 -0
- data/lib/mocktail/imitates_type/ensures_imitation_support.rb +2 -0
- data/lib/mocktail/imitates_type/makes_double/declares_dry_class/reconstructs_call.rb +4 -1
- data/lib/mocktail/imitates_type/makes_double/declares_dry_class.rb +32 -20
- data/lib/mocktail/imitates_type/makes_double/gathers_fakeable_instance_methods.rb +2 -0
- data/lib/mocktail/imitates_type/makes_double.rb +3 -0
- data/lib/mocktail/imitates_type.rb +3 -1
- data/lib/mocktail/initialize_based_on_type_system_mode_switching.rb +9 -0
- data/lib/mocktail/initializes_mocktail.rb +5 -0
- data/lib/mocktail/matcher_presentation.rb +4 -2
- data/lib/mocktail/matchers/any.rb +4 -3
- data/lib/mocktail/matchers/base.rb +10 -2
- data/lib/mocktail/matchers/captor.rb +9 -0
- data/lib/mocktail/matchers/includes.rb +2 -0
- data/lib/mocktail/matchers/includes_hash.rb +9 -0
- data/lib/mocktail/matchers/includes_key.rb +9 -0
- data/lib/mocktail/matchers/includes_string.rb +9 -0
- data/lib/mocktail/matchers/is_a.rb +2 -0
- data/lib/mocktail/matchers/matches.rb +2 -0
- data/lib/mocktail/matchers/not.rb +2 -0
- data/lib/mocktail/matchers/numeric.rb +5 -4
- data/lib/mocktail/matchers/that.rb +2 -0
- data/lib/mocktail/matchers.rb +3 -0
- data/lib/mocktail/raises_neato_no_method_error.rb +2 -0
- data/lib/mocktail/records_demonstration.rb +2 -0
- data/lib/mocktail/registers_matcher.rb +8 -3
- data/lib/mocktail/registers_stubbing.rb +2 -0
- data/lib/mocktail/replaces_next.rb +7 -1
- data/lib/mocktail/replaces_type/redefines_new.rb +3 -1
- data/lib/mocktail/replaces_type/redefines_singleton_methods.rb +14 -2
- data/lib/mocktail/replaces_type/runs_sorbet_sig_blocks_before_replacement.rb +37 -0
- data/lib/mocktail/replaces_type.rb +6 -0
- data/lib/mocktail/resets_state.rb +2 -0
- data/lib/mocktail/share/bind.rb +7 -5
- data/lib/mocktail/share/cleans_backtrace.rb +3 -5
- data/lib/mocktail/share/creates_identifier.rb +16 -9
- data/lib/mocktail/share/determines_matching_calls.rb +4 -2
- data/lib/mocktail/share/stringifies_call.rb +6 -2
- data/lib/mocktail/share/stringifies_method_name.rb +3 -1
- data/lib/mocktail/simulates_argument_error/reconciles_args_with_params.rb +2 -0
- data/lib/mocktail/simulates_argument_error/recreates_message.rb +2 -0
- data/lib/mocktail/simulates_argument_error/transforms_params.rb +15 -8
- data/lib/mocktail/simulates_argument_error.rb +2 -0
- data/lib/mocktail/sorbet/mocktail/collects_calls.rb +18 -0
- data/lib/mocktail/sorbet/mocktail/debug.rb +54 -0
- data/lib/mocktail/sorbet/mocktail/dsl.rb +46 -0
- data/lib/mocktail/sorbet/mocktail/errors.rb +19 -0
- data/lib/mocktail/sorbet/mocktail/explains_nils.rb +41 -0
- data/lib/mocktail/sorbet/mocktail/explains_thing.rb +137 -0
- data/lib/mocktail/sorbet/mocktail/grabs_original_method_parameters.rb +33 -0
- data/lib/mocktail/sorbet/mocktail/handles_dry_call/fulfills_stubbing/describes_unsatisfied_stubbing.rb +27 -0
- data/lib/mocktail/sorbet/mocktail/handles_dry_call/fulfills_stubbing/finds_satisfaction.rb +24 -0
- data/lib/mocktail/sorbet/mocktail/handles_dry_call/fulfills_stubbing.rb +45 -0
- data/lib/mocktail/sorbet/mocktail/handles_dry_call/logs_call.rb +12 -0
- data/lib/mocktail/sorbet/mocktail/handles_dry_call/validates_arguments.rb +45 -0
- data/lib/mocktail/sorbet/mocktail/handles_dry_call.rb +25 -0
- data/lib/mocktail/sorbet/mocktail/handles_dry_new_call.rb +42 -0
- data/lib/mocktail/sorbet/mocktail/imitates_type/ensures_imitation_support.rb +16 -0
- data/lib/mocktail/sorbet/mocktail/imitates_type/makes_double/declares_dry_class/reconstructs_call.rb +73 -0
- data/lib/mocktail/sorbet/mocktail/imitates_type/makes_double/declares_dry_class.rb +136 -0
- data/lib/mocktail/sorbet/mocktail/imitates_type/makes_double/gathers_fakeable_instance_methods.rb +28 -0
- data/lib/mocktail/sorbet/mocktail/imitates_type/makes_double.rb +29 -0
- data/lib/mocktail/sorbet/mocktail/imitates_type.rb +29 -0
- data/lib/mocktail/sorbet/mocktail/initialize_based_on_type_system_mode_switching.rb +11 -0
- data/lib/mocktail/sorbet/mocktail/initializes_mocktail.rb +25 -0
- data/lib/mocktail/sorbet/mocktail/matcher_presentation.rb +21 -0
- data/lib/mocktail/sorbet/mocktail/matchers/any.rb +27 -0
- data/lib/mocktail/sorbet/mocktail/matchers/base.rb +39 -0
- data/lib/mocktail/sorbet/mocktail/matchers/captor.rb +76 -0
- data/lib/mocktail/sorbet/mocktail/matchers/includes.rb +32 -0
- data/lib/mocktail/sorbet/mocktail/matchers/includes_hash.rb +12 -0
- data/lib/mocktail/sorbet/mocktail/matchers/includes_key.rb +12 -0
- data/lib/mocktail/sorbet/mocktail/matchers/includes_string.rb +12 -0
- data/lib/mocktail/sorbet/mocktail/matchers/is_a.rb +17 -0
- data/lib/mocktail/sorbet/mocktail/matchers/matches.rb +19 -0
- data/lib/mocktail/sorbet/mocktail/matchers/not.rb +17 -0
- data/lib/mocktail/sorbet/mocktail/matchers/numeric.rb +27 -0
- data/lib/mocktail/sorbet/mocktail/matchers/that.rb +32 -0
- data/lib/mocktail/sorbet/mocktail/matchers.rb +19 -0
- data/lib/mocktail/sorbet/mocktail/raises_neato_no_method_error.rb +93 -0
- data/lib/mocktail/sorbet/mocktail/records_demonstration.rb +43 -0
- data/lib/mocktail/sorbet/mocktail/registers_matcher.rb +65 -0
- data/lib/mocktail/sorbet/mocktail/registers_stubbing.rb +31 -0
- data/lib/mocktail/sorbet/mocktail/replaces_next.rb +55 -0
- data/lib/mocktail/sorbet/mocktail/replaces_type/redefines_new.rb +32 -0
- data/lib/mocktail/sorbet/mocktail/replaces_type/redefines_singleton_methods.rb +80 -0
- data/lib/mocktail/sorbet/mocktail/replaces_type/runs_sorbet_sig_blocks_before_replacement.rb +39 -0
- data/lib/mocktail/sorbet/mocktail/replaces_type.rb +36 -0
- data/lib/mocktail/sorbet/mocktail/resets_state.rb +14 -0
- data/lib/mocktail/sorbet/mocktail/share/bind.rb +18 -0
- data/lib/mocktail/sorbet/mocktail/share/cleans_backtrace.rb +22 -0
- data/lib/mocktail/sorbet/mocktail/share/creates_identifier.rb +39 -0
- data/lib/mocktail/sorbet/mocktail/share/determines_matching_calls.rb +72 -0
- data/lib/mocktail/sorbet/mocktail/share/stringifies_call.rb +85 -0
- data/lib/mocktail/sorbet/mocktail/share/stringifies_method_name.rb +16 -0
- data/lib/mocktail/sorbet/mocktail/simulates_argument_error/reconciles_args_with_params.rb +27 -0
- data/lib/mocktail/sorbet/mocktail/simulates_argument_error/recreates_message.rb +34 -0
- data/lib/mocktail/sorbet/mocktail/simulates_argument_error/transforms_params.rb +58 -0
- data/lib/mocktail/sorbet/mocktail/simulates_argument_error.rb +36 -0
- data/lib/mocktail/sorbet/mocktail/sorbet.rb +3 -0
- data/lib/mocktail/sorbet/mocktail/stringifies_method_signature.rb +53 -0
- data/lib/mocktail/sorbet/mocktail/typed.rb +5 -0
- data/lib/mocktail/sorbet/mocktail/value/cabinet.rb +91 -0
- data/lib/mocktail/sorbet/mocktail/value/call.rb +51 -0
- data/lib/mocktail/sorbet/mocktail/value/demo_config.rb +10 -0
- data/lib/mocktail/sorbet/mocktail/value/double.rb +10 -0
- data/lib/mocktail/sorbet/mocktail/value/double_data.rb +15 -0
- data/lib/mocktail/sorbet/mocktail/value/explanation.rb +68 -0
- data/lib/mocktail/sorbet/mocktail/value/explanation_data.rb +19 -0
- data/lib/mocktail/sorbet/mocktail/value/fake_method_data.rb +11 -0
- data/lib/mocktail/sorbet/mocktail/value/matcher_registry.rb +27 -0
- data/lib/mocktail/sorbet/mocktail/value/no_explanation_data.rb +20 -0
- data/lib/mocktail/sorbet/mocktail/value/signature.rb +35 -0
- data/lib/mocktail/sorbet/mocktail/value/stubbing.rb +26 -0
- data/lib/mocktail/sorbet/mocktail/value/top_shelf.rb +79 -0
- data/lib/mocktail/sorbet/mocktail/value/type_replacement.rb +11 -0
- data/lib/mocktail/sorbet/mocktail/value/type_replacement_data.rb +19 -0
- data/lib/mocktail/sorbet/mocktail/value/unsatisfying_call.rb +9 -0
- data/lib/mocktail/sorbet/mocktail/value/unsatisfying_call_explanation.rb +24 -0
- data/lib/mocktail/sorbet/mocktail/value.rb +19 -0
- data/lib/mocktail/sorbet/mocktail/verifies_call/finds_verifiable_calls.rb +21 -0
- data/lib/mocktail/sorbet/mocktail/verifies_call/raises_verification_error/gathers_calls_of_method.rb +15 -0
- data/lib/mocktail/sorbet/mocktail/verifies_call/raises_verification_error.rb +74 -0
- data/lib/mocktail/sorbet/mocktail/verifies_call.rb +37 -0
- data/lib/mocktail/sorbet/mocktail/version.rb +12 -0
- data/lib/mocktail/sorbet/mocktail.rb +154 -0
- data/lib/mocktail/sorbet.rb +1 -0
- data/lib/mocktail/stringifies_method_signature.rb +2 -0
- data/lib/mocktail/typed.rb +3 -0
- data/lib/mocktail/value/cabinet.rb +8 -1
- data/lib/mocktail/value/call.rb +44 -12
- data/lib/mocktail/value/demo_config.rb +6 -7
- data/lib/mocktail/value/double.rb +6 -7
- data/lib/mocktail/value/double_data.rb +11 -7
- data/lib/mocktail/value/explanation.rb +28 -3
- data/lib/mocktail/value/explanation_data.rb +14 -0
- data/lib/mocktail/value/fake_method_data.rb +7 -6
- data/lib/mocktail/value/matcher_registry.rb +2 -0
- data/lib/mocktail/value/no_explanation_data.rb +16 -0
- data/lib/mocktail/value/signature.rb +19 -27
- data/lib/mocktail/value/stubbing.rb +11 -12
- data/lib/mocktail/value/top_shelf.rb +5 -0
- data/lib/mocktail/value/type_replacement.rb +7 -8
- data/lib/mocktail/value/type_replacement_data.rb +10 -7
- data/lib/mocktail/value/unsatisfying_call.rb +5 -6
- data/lib/mocktail/value/unsatisfying_call_explanation.rb +18 -0
- data/lib/mocktail/value.rb +5 -2
- data/lib/mocktail/verifies_call/finds_verifiable_calls.rb +2 -0
- data/lib/mocktail/verifies_call/raises_verification_error/gathers_calls_of_method.rb +2 -0
- data/lib/mocktail/verifies_call/raises_verification_error.rb +2 -0
- data/lib/mocktail/verifies_call.rb +3 -0
- data/lib/mocktail/version.rb +8 -1
- data/lib/mocktail.rb +46 -5
- data/mocktail.gemspec +8 -4
- data/rbi/mocktail-pregenerated.rbi +1865 -0
- data/rbi/mocktail.rbi +77 -0
- data/rbi/sorbet-runtime.rbi +29 -0
- data/spoom_report.html +1248 -0
- metadata +130 -3
@@ -0,0 +1,1865 @@
|
|
1
|
+
# typed: true
|
2
|
+
|
3
|
+
# DO NOT EDIT MANUALLY
|
4
|
+
# This is an autogenerated file for types exported from the `mocktail` gem.
|
5
|
+
# Please instead update this file by running `bin/tapioca gem mocktail`.
|
6
|
+
|
7
|
+
# typed: true
|
8
|
+
|
9
|
+
# DO NOT EDIT MANUALLY
|
10
|
+
# This is an autogenerated file for types exported from the `mocktail` gem.
|
11
|
+
# Please instead update this file by running `bin/tapioca gem mocktail`.
|
12
|
+
|
13
|
+
# The Cabinet stores all thread-local state, so anything that goes here
|
14
|
+
# is guaranteed by Mocktail to be local to the currently-running thread
|
15
|
+
#
|
16
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/typed.rb#3
|
17
|
+
# The Cabinet stores all thread-local state, so anything that goes here
|
18
|
+
module Mocktail
|
19
|
+
extend ::Mocktail::DSL
|
20
|
+
|
21
|
+
class << self
|
22
|
+
# Stores most transactional state about calls & stubbing configurations
|
23
|
+
# Anything returned by this is undocumented and could change at any time, so
|
24
|
+
# don't commit code that relies on it!
|
25
|
+
#
|
26
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail.rb#149
|
27
|
+
sig { returns(::Mocktail::Cabinet) }
|
28
|
+
def cabinet; end
|
29
|
+
|
30
|
+
# An alias for Mocktail.explain(double).reference.calls
|
31
|
+
# Takes an optional second parameter of the method name to filter only
|
32
|
+
# calls to that method
|
33
|
+
#
|
34
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail.rb#141
|
35
|
+
sig do
|
36
|
+
params(
|
37
|
+
double: ::Object,
|
38
|
+
method_name: T.nilable(T.any(::String, ::Symbol))
|
39
|
+
).returns(T::Array[::Mocktail::Call])
|
40
|
+
end
|
41
|
+
def calls(double, method_name = T.unsafe(nil)); end
|
42
|
+
|
43
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail.rb#99
|
44
|
+
sig { returns(::Mocktail::Matchers::Captor) }
|
45
|
+
def captor; end
|
46
|
+
|
47
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail.rb#125
|
48
|
+
sig { params(thing: ::Object).returns(::Mocktail::Explanation) }
|
49
|
+
def explain(thing); end
|
50
|
+
|
51
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail.rb#130
|
52
|
+
sig { returns(T::Array[::Mocktail::UnsatisfyingCallExplanation]) }
|
53
|
+
def explain_nils; end
|
54
|
+
|
55
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail.rb#94
|
56
|
+
sig { returns(::Mocktail::MatcherPresentation) }
|
57
|
+
def matchers; end
|
58
|
+
|
59
|
+
# Returns an instance of `type` whose implementation is mocked out
|
60
|
+
#
|
61
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail.rb#52
|
62
|
+
sig do
|
63
|
+
type_parameters(:T)
|
64
|
+
.params(
|
65
|
+
type: T::Class[T.all(::Object, T.type_parameter(:T))]
|
66
|
+
).returns(T.all(::Object, T.type_parameter(:T)))
|
67
|
+
end
|
68
|
+
def of(type); end
|
69
|
+
|
70
|
+
# Returns an instance of `klass` whose implementation is mocked out AND
|
71
|
+
# stubs its constructor to return that fake the next time klass.new is called
|
72
|
+
#
|
73
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail.rb#63
|
74
|
+
sig do
|
75
|
+
type_parameters(:T)
|
76
|
+
.params(
|
77
|
+
type: T::Class[T.all(::Object, T.type_parameter(:T))],
|
78
|
+
count: T.nilable(::Integer)
|
79
|
+
).returns(T.type_parameter(:T))
|
80
|
+
end
|
81
|
+
def of_next(type, count: T.unsafe(nil)); end
|
82
|
+
|
83
|
+
# An alias of of_next that always returns an array of fakes
|
84
|
+
#
|
85
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail.rb#89
|
86
|
+
sig do
|
87
|
+
type_parameters(:T)
|
88
|
+
.params(
|
89
|
+
type: T::Class[T.all(::Object, T.type_parameter(:T))],
|
90
|
+
count: ::Integer
|
91
|
+
).returns(T::Array[T.type_parameter(:T)])
|
92
|
+
end
|
93
|
+
def of_next_with_count(type, count); end
|
94
|
+
|
95
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail.rb#104
|
96
|
+
sig { params(matcher: T.class_of(Mocktail::Matchers::Base)).void }
|
97
|
+
def register_matcher(matcher); end
|
98
|
+
|
99
|
+
# Replaces every singleton method on `type` with a fake, and when instantiated
|
100
|
+
# or included will also fake instance methods
|
101
|
+
#
|
102
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail.rb#111
|
103
|
+
sig { params(type: T.any(::Module, T::Class[T.anything])).void }
|
104
|
+
def replace(type); end
|
105
|
+
|
106
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail.rb#117
|
107
|
+
sig { void }
|
108
|
+
def reset; end
|
109
|
+
end
|
110
|
+
end
|
111
|
+
|
112
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/errors.rb#12
|
113
|
+
class Mocktail::AmbiguousDemonstrationError < ::Mocktail::Error; end
|
114
|
+
|
115
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail.rb#44
|
116
|
+
Mocktail::BASE_PATH = T.let(T.unsafe(nil), String)
|
117
|
+
|
118
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/share/bind.rb#4
|
119
|
+
module Mocktail::Bind
|
120
|
+
class << self
|
121
|
+
# sig intentionally omitted, because the wrapper will cause infinite recursion if certain methods are mocked
|
122
|
+
#
|
123
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/share/bind.rb#6
|
124
|
+
def call(mock, method_name, *args, **kwargs, &blk); end
|
125
|
+
end
|
126
|
+
end
|
127
|
+
|
128
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/value/cabinet.rb#8
|
129
|
+
class Mocktail::Cabinet
|
130
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/value/cabinet.rb#24
|
131
|
+
sig { void }
|
132
|
+
def initialize; end
|
133
|
+
|
134
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/value/cabinet.rb#15
|
135
|
+
sig { returns(T::Array[::Mocktail::Call]) }
|
136
|
+
def calls; end
|
137
|
+
|
138
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/value/cabinet.rb#85
|
139
|
+
sig { params(double: ::Mocktail::Double).returns(T::Array[::Mocktail::Call]) }
|
140
|
+
def calls_for_double(double); end
|
141
|
+
|
142
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/value/cabinet.rb#12
|
143
|
+
sig { params(demonstration_in_progress: T::Boolean).void }
|
144
|
+
def demonstration_in_progress=(demonstration_in_progress); end
|
145
|
+
|
146
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/value/cabinet.rb#65
|
147
|
+
sig { returns(T::Boolean) }
|
148
|
+
def demonstration_in_progress?; end
|
149
|
+
|
150
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/value/cabinet.rb#70
|
151
|
+
sig { params(thing: T.anything).returns(T.nilable(::Mocktail::Double)) }
|
152
|
+
def double_for_instance(thing); end
|
153
|
+
|
154
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/value/cabinet.rb#33
|
155
|
+
sig { void }
|
156
|
+
def reset!; end
|
157
|
+
|
158
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/value/cabinet.rb#50
|
159
|
+
sig { params(call: ::Mocktail::Call).void }
|
160
|
+
def store_call(call); end
|
161
|
+
|
162
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/value/cabinet.rb#45
|
163
|
+
sig { params(double: ::Mocktail::Double).void }
|
164
|
+
def store_double(double); end
|
165
|
+
|
166
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/value/cabinet.rb#55
|
167
|
+
sig { params(stubbing: Mocktail::Stubbing[T.anything]).void }
|
168
|
+
def store_stubbing(stubbing); end
|
169
|
+
|
170
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/value/cabinet.rb#60
|
171
|
+
sig { params(unsatisfying_call: ::Mocktail::UnsatisfyingCall).void }
|
172
|
+
def store_unsatisfying_call(unsatisfying_call); end
|
173
|
+
|
174
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/value/cabinet.rb#18
|
175
|
+
sig { returns(T::Array[Mocktail::Stubbing[T.anything]]) }
|
176
|
+
def stubbings; end
|
177
|
+
|
178
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/value/cabinet.rb#78
|
179
|
+
sig { params(double: ::Mocktail::Double).returns(T::Array[Mocktail::Stubbing[T.anything]]) }
|
180
|
+
def stubbings_for_double(double); end
|
181
|
+
|
182
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/value/cabinet.rb#21
|
183
|
+
sig { returns(T::Array[::Mocktail::UnsatisfyingCall]) }
|
184
|
+
def unsatisfying_calls; end
|
185
|
+
end
|
186
|
+
|
187
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/value/call.rb#4
|
188
|
+
class Mocktail::Call < ::T::Struct
|
189
|
+
const :singleton, T.nilable(T::Boolean)
|
190
|
+
const :double, ::Object, default: T.unsafe(nil)
|
191
|
+
const :original_type, T.nilable(T.any(::Module, T::Class[T.anything]))
|
192
|
+
const :dry_type, T.nilable(T.any(::Module, T::Class[T.anything]))
|
193
|
+
const :method, T.nilable(::Symbol)
|
194
|
+
const :original_method, T.nilable(T.any(::Method, ::UnboundMethod))
|
195
|
+
const :args, T::Array[T.untyped], default: T.unsafe(nil)
|
196
|
+
const :kwargs, T::Hash[::Symbol, T.untyped], default: T.unsafe(nil)
|
197
|
+
const :block, T.nilable(::Proc)
|
198
|
+
|
199
|
+
# Because T::Struct compares with referential equality, we need
|
200
|
+
# to redefine the equality methods to compare the values of the attributes.
|
201
|
+
#
|
202
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/value/call.rb#27
|
203
|
+
sig { params(other: T.nilable(T.anything)).returns(T::Boolean) }
|
204
|
+
def ==(other); end
|
205
|
+
|
206
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/value/call.rb#32
|
207
|
+
sig { params(other: T.anything).returns(T::Boolean) }
|
208
|
+
def eql?(other); end
|
209
|
+
|
210
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/value/call.rb#47
|
211
|
+
sig { returns(::Integer) }
|
212
|
+
def hash; end
|
213
|
+
|
214
|
+
class << self
|
215
|
+
# source://sorbet-runtime/0.5.10983/lib/types/struct.rb#13
|
216
|
+
def inherited(s); end
|
217
|
+
end
|
218
|
+
end
|
219
|
+
|
220
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/share/cleans_backtrace.rb#4
|
221
|
+
class Mocktail::CleansBacktrace
|
222
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/share/cleans_backtrace.rb#12
|
223
|
+
sig { type_parameters(:T).params(error: T.all(::StandardError, T.type_parameter(:T))).returns(T.type_parameter(:T)) }
|
224
|
+
def clean(error); end
|
225
|
+
end
|
226
|
+
|
227
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/collects_calls.rb#4
|
228
|
+
class Mocktail::CollectsCalls
|
229
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/collects_calls.rb#8
|
230
|
+
sig { params(double: ::Object, method_name: T.nilable(::Symbol)).returns(T::Array[::Mocktail::Call]) }
|
231
|
+
def collect(double, method_name); end
|
232
|
+
end
|
233
|
+
|
234
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/share/creates_identifier.rb#4
|
235
|
+
class Mocktail::CreatesIdentifier
|
236
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/share/creates_identifier.rb#10
|
237
|
+
sig { params(s: T.anything, default: ::String, max_length: ::Integer).returns(::String) }
|
238
|
+
def create(s, default: T.unsafe(nil), max_length: T.unsafe(nil)); end
|
239
|
+
|
240
|
+
private
|
241
|
+
|
242
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/share/creates_identifier.rb#33
|
243
|
+
sig { params(id: ::String, default: ::String).returns(::String) }
|
244
|
+
def unreserved(id, default); end
|
245
|
+
end
|
246
|
+
|
247
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/share/creates_identifier.rb#7
|
248
|
+
Mocktail::CreatesIdentifier::KEYWORDS = T.let(T.unsafe(nil), Array)
|
249
|
+
|
250
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/dsl.rb#4
|
251
|
+
module Mocktail::DSL
|
252
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/dsl.rb#18
|
253
|
+
sig do
|
254
|
+
type_parameters(:T)
|
255
|
+
.params(
|
256
|
+
ignore_block: T::Boolean,
|
257
|
+
ignore_extra_args: T::Boolean,
|
258
|
+
ignore_arity: T::Boolean,
|
259
|
+
times: T.nilable(::Integer),
|
260
|
+
demo: T.proc.params(matchers: ::Mocktail::MatcherPresentation).returns(T.type_parameter(:T))
|
261
|
+
).returns(Mocktail::Stubbing[T.type_parameter(:T)])
|
262
|
+
end
|
263
|
+
def stubs(ignore_block: T.unsafe(nil), ignore_extra_args: T.unsafe(nil), ignore_arity: T.unsafe(nil), times: T.unsafe(nil), &demo); end
|
264
|
+
|
265
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/dsl.rb#37
|
266
|
+
sig do
|
267
|
+
params(
|
268
|
+
ignore_block: T::Boolean,
|
269
|
+
ignore_extra_args: T::Boolean,
|
270
|
+
ignore_arity: T::Boolean,
|
271
|
+
times: T.nilable(::Integer),
|
272
|
+
demo: T.proc.params(matchers: ::Mocktail::MatcherPresentation).void
|
273
|
+
).void
|
274
|
+
end
|
275
|
+
def verify(ignore_block: T.unsafe(nil), ignore_extra_args: T.unsafe(nil), ignore_arity: T.unsafe(nil), times: T.unsafe(nil), &demo); end
|
276
|
+
end
|
277
|
+
|
278
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/debug.rb#4
|
279
|
+
module Mocktail::Debug
|
280
|
+
class << self
|
281
|
+
# It would be easy and bad for the mocktail lib to call something like
|
282
|
+
#
|
283
|
+
# double == other_double
|
284
|
+
#
|
285
|
+
# But if it's a double, that means anyone who stubs that method could change
|
286
|
+
# the internal behavior of the library in unexpected ways (as happened here:
|
287
|
+
# https://github.com/testdouble/mocktail/issues/7 )
|
288
|
+
#
|
289
|
+
# For that reason when we run our tests, we also want to blow up if this
|
290
|
+
# happens unintentionally. This works in conjunction with the test
|
291
|
+
# MockingMethodfulClassesTest, because it mocks every defined method on the
|
292
|
+
# mocked BasicObject
|
293
|
+
#
|
294
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/debug.rb#20
|
295
|
+
sig { void }
|
296
|
+
def guard_against_mocktail_accidentally_calling_mocks_if_debugging!; end
|
297
|
+
end
|
298
|
+
end
|
299
|
+
|
300
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/imitates_type/makes_double/declares_dry_class.rb#6
|
301
|
+
class Mocktail::DeclaresDryClass
|
302
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/imitates_type/makes_double/declares_dry_class.rb#12
|
303
|
+
sig { void }
|
304
|
+
def initialize; end
|
305
|
+
|
306
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/imitates_type/makes_double/declares_dry_class.rb#23
|
307
|
+
sig do
|
308
|
+
type_parameters(:T)
|
309
|
+
.params(
|
310
|
+
type: T.all(T.type_parameter(:T), T::Class[::Object]),
|
311
|
+
instance_methods: T::Array[::Symbol]
|
312
|
+
).returns(T.type_parameter(:T))
|
313
|
+
end
|
314
|
+
def declare(type, instance_methods); end
|
315
|
+
|
316
|
+
private
|
317
|
+
|
318
|
+
# These have special implementations, but if the user defines
|
319
|
+
# any of them on the object itself, then they'll be replaced with normal
|
320
|
+
# mocked methods. YMMV
|
321
|
+
#
|
322
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/imitates_type/makes_double/declares_dry_class.rb#55
|
323
|
+
sig do
|
324
|
+
params(
|
325
|
+
dry_class: T::Class[::Object],
|
326
|
+
type: T.any(::Module, T::Class[T.anything]),
|
327
|
+
instance_methods: T::Array[::Symbol]
|
328
|
+
).void
|
329
|
+
end
|
330
|
+
def add_more_methods!(dry_class, type, instance_methods); end
|
331
|
+
|
332
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/imitates_type/makes_double/declares_dry_class.rb#94
|
333
|
+
sig do
|
334
|
+
params(
|
335
|
+
dry_class: T::Class[::Object],
|
336
|
+
method_name: ::Symbol,
|
337
|
+
type: T.any(::Module, T::Class[T.anything]),
|
338
|
+
instance_methods: T::Array[::Symbol]
|
339
|
+
).void
|
340
|
+
end
|
341
|
+
def add_stringify_methods!(dry_class, method_name, type, instance_methods); end
|
342
|
+
|
343
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/imitates_type/makes_double/declares_dry_class.rb#64
|
344
|
+
sig do
|
345
|
+
params(
|
346
|
+
dry_class: T::Class[::Object],
|
347
|
+
type: T.any(::Module, T::Class[T.anything]),
|
348
|
+
instance_methods: T::Array[::Symbol]
|
349
|
+
).void
|
350
|
+
end
|
351
|
+
def define_double_methods!(dry_class, type, instance_methods); end
|
352
|
+
|
353
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/imitates_type/makes_double/declares_dry_class.rb#115
|
354
|
+
sig do
|
355
|
+
params(
|
356
|
+
dry_class: T::Class[::Object],
|
357
|
+
type: T.any(::Module, T::Class[T.anything]),
|
358
|
+
instance_methods: T::Array[::Symbol]
|
359
|
+
).void
|
360
|
+
end
|
361
|
+
def define_method_missing_errors!(dry_class, type, instance_methods); end
|
362
|
+
end
|
363
|
+
|
364
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/imitates_type/makes_double/declares_dry_class.rb#9
|
365
|
+
Mocktail::DeclaresDryClass::DEFAULT_ANCESTORS = T.let(T.unsafe(nil), Array)
|
366
|
+
|
367
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/value/demo_config.rb#4
|
368
|
+
class Mocktail::DemoConfig < ::T::Struct
|
369
|
+
const :ignore_block, T::Boolean, default: T.unsafe(nil)
|
370
|
+
const :ignore_extra_args, T::Boolean, default: T.unsafe(nil)
|
371
|
+
const :ignore_arity, T::Boolean, default: T.unsafe(nil)
|
372
|
+
const :times, T.nilable(::Integer), default: T.unsafe(nil)
|
373
|
+
|
374
|
+
class << self
|
375
|
+
# source://sorbet-runtime/0.5.10983/lib/types/struct.rb#13
|
376
|
+
def inherited(s); end
|
377
|
+
end
|
378
|
+
end
|
379
|
+
|
380
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/handles_dry_call/fulfills_stubbing/describes_unsatisfied_stubbing.rb#7
|
381
|
+
class Mocktail::DescribesUnsatisfiedStubbing
|
382
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/handles_dry_call/fulfills_stubbing/describes_unsatisfied_stubbing.rb#11
|
383
|
+
sig { void }
|
384
|
+
def initialize; end
|
385
|
+
|
386
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/handles_dry_call/fulfills_stubbing/describes_unsatisfied_stubbing.rb#16
|
387
|
+
sig { params(dry_call: ::Mocktail::Call).returns(::Mocktail::UnsatisfyingCall) }
|
388
|
+
def describe(dry_call); end
|
389
|
+
end
|
390
|
+
|
391
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/share/determines_matching_calls.rb#6
|
392
|
+
class Mocktail::DeterminesMatchingCalls
|
393
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/share/determines_matching_calls.rb#10
|
394
|
+
sig do
|
395
|
+
params(
|
396
|
+
real_call: ::Mocktail::Call,
|
397
|
+
demo_call: ::Mocktail::Call,
|
398
|
+
demo_config: ::Mocktail::DemoConfig
|
399
|
+
).returns(T::Boolean)
|
400
|
+
end
|
401
|
+
def determine(real_call, demo_call, demo_config); end
|
402
|
+
|
403
|
+
private
|
404
|
+
|
405
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/share/determines_matching_calls.rb#23
|
406
|
+
sig do
|
407
|
+
params(
|
408
|
+
real_args: T::Array[T.untyped],
|
409
|
+
demo_args: T::Array[T.untyped],
|
410
|
+
ignore_extra_args: T::Boolean
|
411
|
+
).returns(T::Boolean)
|
412
|
+
end
|
413
|
+
def args_match?(real_args, demo_args, ignore_extra_args); end
|
414
|
+
|
415
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/share/determines_matching_calls.rb#50
|
416
|
+
sig do
|
417
|
+
params(
|
418
|
+
real_block: T.nilable(::Proc),
|
419
|
+
demo_block: T.nilable(::Proc),
|
420
|
+
ignore_block: T::Boolean
|
421
|
+
).returns(T::Boolean)
|
422
|
+
end
|
423
|
+
def blocks_match?(real_block, demo_block, ignore_block); end
|
424
|
+
|
425
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/share/determines_matching_calls.rb#37
|
426
|
+
sig do
|
427
|
+
params(
|
428
|
+
real_kwargs: T::Hash[::Symbol, T.untyped],
|
429
|
+
demo_kwargs: T::Hash[::Symbol, T.untyped],
|
430
|
+
ignore_extra_args: T::Boolean
|
431
|
+
).returns(T::Boolean)
|
432
|
+
end
|
433
|
+
def kwargs_match?(real_kwargs, demo_kwargs, ignore_extra_args); end
|
434
|
+
|
435
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/share/determines_matching_calls.rb#63
|
436
|
+
sig { params(real_arg: T.untyped, demo_arg: T.untyped).returns(T::Boolean) }
|
437
|
+
def match?(real_arg, demo_arg); end
|
438
|
+
end
|
439
|
+
|
440
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/value/double.rb#4
|
441
|
+
class Mocktail::Double < ::T::Struct
|
442
|
+
const :original_type, T.any(::Module, T::Class[T.anything])
|
443
|
+
const :dry_type, T::Class[T.anything]
|
444
|
+
const :dry_instance, ::Object
|
445
|
+
const :dry_methods, T::Array[::Symbol]
|
446
|
+
|
447
|
+
class << self
|
448
|
+
# source://sorbet-runtime/0.5.10983/lib/types/struct.rb#13
|
449
|
+
def inherited(s); end
|
450
|
+
end
|
451
|
+
end
|
452
|
+
|
453
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/value/double_data.rb#7
|
454
|
+
class Mocktail::DoubleData < ::T::Struct
|
455
|
+
include ::Mocktail::ExplanationData
|
456
|
+
|
457
|
+
const :type, T.any(::Module, T::Class[T.anything])
|
458
|
+
const :double, ::Object
|
459
|
+
const :calls, T::Array[::Mocktail::Call]
|
460
|
+
const :stubbings, T::Array[Mocktail::Stubbing[T.anything]]
|
461
|
+
|
462
|
+
class << self
|
463
|
+
# source://sorbet-runtime/0.5.10983/lib/types/struct.rb#13
|
464
|
+
def inherited(s); end
|
465
|
+
end
|
466
|
+
end
|
467
|
+
|
468
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/value/explanation.rb#36
|
469
|
+
class Mocktail::DoubleExplanation < ::Mocktail::Explanation
|
470
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/value/explanation.rb#41
|
471
|
+
sig { params(reference: ::Mocktail::DoubleData, message: ::String).void }
|
472
|
+
def initialize(reference, message); end
|
473
|
+
|
474
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/value/explanation.rb#38
|
475
|
+
sig { override.returns(::Mocktail::DoubleData) }
|
476
|
+
def reference; end
|
477
|
+
end
|
478
|
+
|
479
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/imitates_type/ensures_imitation_support.rb#4
|
480
|
+
class Mocktail::EnsuresImitationSupport
|
481
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/imitates_type/ensures_imitation_support.rb#8
|
482
|
+
sig { params(type: T.any(::Module, T::Class[T.anything])).void }
|
483
|
+
def ensure(type); end
|
484
|
+
end
|
485
|
+
|
486
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/errors.rb#4
|
487
|
+
class Mocktail::Error < ::StandardError; end
|
488
|
+
|
489
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/explains_nils.rb#7
|
490
|
+
class Mocktail::ExplainsNils
|
491
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/explains_nils.rb#11
|
492
|
+
sig { void }
|
493
|
+
def initialize; end
|
494
|
+
|
495
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/explains_nils.rb#17
|
496
|
+
sig { returns(T::Array[::Mocktail::UnsatisfyingCallExplanation]) }
|
497
|
+
def explain; end
|
498
|
+
end
|
499
|
+
|
500
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/explains_thing.rb#7
|
501
|
+
class Mocktail::ExplainsThing
|
502
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/explains_thing.rb#11
|
503
|
+
sig { void }
|
504
|
+
def initialize; end
|
505
|
+
|
506
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/explains_thing.rb#17
|
507
|
+
sig { params(thing: ::Object).returns(::Mocktail::Explanation) }
|
508
|
+
def explain(thing); end
|
509
|
+
|
510
|
+
private
|
511
|
+
|
512
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/explains_thing.rb#54
|
513
|
+
sig { params(double: ::Mocktail::Double).returns(::Mocktail::DoubleData) }
|
514
|
+
def data_for_double(double); end
|
515
|
+
|
516
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/explains_thing.rb#78
|
517
|
+
sig { params(type_replacement: ::Mocktail::TypeReplacement).returns(::Mocktail::TypeReplacementData) }
|
518
|
+
def data_for_type_replacement(type_replacement); end
|
519
|
+
|
520
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/explains_thing.rb#106
|
521
|
+
sig do
|
522
|
+
params(
|
523
|
+
double_data: T.any(::Mocktail::DoubleData, ::Mocktail::TypeReplacementData),
|
524
|
+
method: ::Symbol
|
525
|
+
).returns(::String)
|
526
|
+
end
|
527
|
+
def describe_dry_method(double_data, method); end
|
528
|
+
|
529
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/explains_thing.rb#64
|
530
|
+
sig { params(double: ::Mocktail::Double).returns(::Mocktail::DoubleExplanation) }
|
531
|
+
def double_explanation(double); end
|
532
|
+
|
533
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/explains_thing.rb#33
|
534
|
+
sig { params(thing: ::Object).returns(T.nilable(::Mocktail::FakeMethodExplanation)) }
|
535
|
+
def fake_method_explanation_for(thing); end
|
536
|
+
|
537
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/explains_thing.rb#132
|
538
|
+
sig { params(thing: ::Object).returns(::Mocktail::NoExplanation) }
|
539
|
+
def no_explanation(thing); end
|
540
|
+
|
541
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/explains_thing.rb#92
|
542
|
+
sig { params(type_replacement: ::Mocktail::TypeReplacement).returns(::Mocktail::ReplacedTypeExplanation) }
|
543
|
+
def replaced_type_explanation(type_replacement); end
|
544
|
+
end
|
545
|
+
|
546
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/value/explanation.rb#4
|
547
|
+
class Mocktail::Explanation
|
548
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/value/explanation.rb#14
|
549
|
+
sig { params(reference: ::Mocktail::ExplanationData, message: ::String).void }
|
550
|
+
def initialize(reference, message); end
|
551
|
+
|
552
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/value/explanation.rb#11
|
553
|
+
sig { returns(::String) }
|
554
|
+
def message; end
|
555
|
+
|
556
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/value/explanation.rb#8
|
557
|
+
sig { returns(::Mocktail::ExplanationData) }
|
558
|
+
def reference; end
|
559
|
+
|
560
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/value/explanation.rb#20
|
561
|
+
sig { returns(T.class_of(Mocktail::Explanation)) }
|
562
|
+
def type; end
|
563
|
+
end
|
564
|
+
|
565
|
+
# @abstract Subclasses must implement the `abstract` methods below.
|
566
|
+
#
|
567
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/value/explanation_data.rb#4
|
568
|
+
module Mocktail::ExplanationData
|
569
|
+
include ::Kernel
|
570
|
+
|
571
|
+
interface!
|
572
|
+
|
573
|
+
# @abstract
|
574
|
+
#
|
575
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/value/explanation_data.rb#12
|
576
|
+
sig { abstract.returns(T::Array[::Mocktail::Call]) }
|
577
|
+
def calls; end
|
578
|
+
|
579
|
+
# @abstract
|
580
|
+
#
|
581
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/value/explanation_data.rb#16
|
582
|
+
sig { abstract.returns(T::Array[Mocktail::Stubbing[T.anything]]) }
|
583
|
+
def stubbings; end
|
584
|
+
end
|
585
|
+
|
586
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/value/fake_method_data.rb#4
|
587
|
+
class Mocktail::FakeMethodData < ::T::Struct
|
588
|
+
include ::Mocktail::ExplanationData
|
589
|
+
|
590
|
+
const :receiver, T.anything
|
591
|
+
const :calls, T::Array[::Mocktail::Call]
|
592
|
+
const :stubbings, T::Array[Mocktail::Stubbing[T.anything]]
|
593
|
+
|
594
|
+
class << self
|
595
|
+
# source://sorbet-runtime/0.5.10983/lib/types/struct.rb#13
|
596
|
+
def inherited(s); end
|
597
|
+
end
|
598
|
+
end
|
599
|
+
|
600
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/value/explanation.rb#58
|
601
|
+
class Mocktail::FakeMethodExplanation < ::Mocktail::Explanation
|
602
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/value/explanation.rb#63
|
603
|
+
sig { params(reference: ::Mocktail::FakeMethodData, message: ::String).void }
|
604
|
+
def initialize(reference, message); end
|
605
|
+
|
606
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/value/explanation.rb#60
|
607
|
+
sig { override.returns(::Mocktail::FakeMethodData) }
|
608
|
+
def reference; end
|
609
|
+
end
|
610
|
+
|
611
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/handles_dry_call/fulfills_stubbing/finds_satisfaction.rb#6
|
612
|
+
class Mocktail::FindsSatisfaction
|
613
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/handles_dry_call/fulfills_stubbing/finds_satisfaction.rb#10
|
614
|
+
sig { void }
|
615
|
+
def initialize; end
|
616
|
+
|
617
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/handles_dry_call/fulfills_stubbing/finds_satisfaction.rb#15
|
618
|
+
sig { params(dry_call: ::Mocktail::Call).returns(T.nilable(Mocktail::Stubbing[T.anything])) }
|
619
|
+
def find(dry_call); end
|
620
|
+
end
|
621
|
+
|
622
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/verifies_call/finds_verifiable_calls.rb#6
|
623
|
+
class Mocktail::FindsVerifiableCalls
|
624
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/verifies_call/finds_verifiable_calls.rb#10
|
625
|
+
sig { void }
|
626
|
+
def initialize; end
|
627
|
+
|
628
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/verifies_call/finds_verifiable_calls.rb#15
|
629
|
+
sig { params(recording: ::Mocktail::Call, demo_config: ::Mocktail::DemoConfig).returns(T::Array[::Mocktail::Call]) }
|
630
|
+
def find(recording, demo_config); end
|
631
|
+
end
|
632
|
+
|
633
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/handles_dry_call/fulfills_stubbing.rb#7
|
634
|
+
class Mocktail::FulfillsStubbing
|
635
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/handles_dry_call/fulfills_stubbing.rb#11
|
636
|
+
sig { void }
|
637
|
+
def initialize; end
|
638
|
+
|
639
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/handles_dry_call/fulfills_stubbing.rb#17
|
640
|
+
sig { params(dry_call: ::Mocktail::Call).returns(T.anything) }
|
641
|
+
def fulfill(dry_call); end
|
642
|
+
|
643
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/handles_dry_call/fulfills_stubbing.rb#28
|
644
|
+
sig { params(dry_call: ::Mocktail::Call).returns(T.nilable(Mocktail::Stubbing[T.anything])) }
|
645
|
+
def satisfaction(dry_call); end
|
646
|
+
|
647
|
+
private
|
648
|
+
|
649
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/handles_dry_call/fulfills_stubbing.rb#37
|
650
|
+
sig { params(dry_call: ::Mocktail::Call).void }
|
651
|
+
def store_unsatisfying_call!(dry_call); end
|
652
|
+
end
|
653
|
+
|
654
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/verifies_call/raises_verification_error/gathers_calls_of_method.rb#4
|
655
|
+
class Mocktail::GathersCallsOfMethod
|
656
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/verifies_call/raises_verification_error/gathers_calls_of_method.rb#8
|
657
|
+
sig { params(dry_call: ::Mocktail::Call).returns(T::Array[::Mocktail::Call]) }
|
658
|
+
def gather(dry_call); end
|
659
|
+
end
|
660
|
+
|
661
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/imitates_type/makes_double/gathers_fakeable_instance_methods.rb#4
|
662
|
+
class Mocktail::GathersFakeableInstanceMethods
|
663
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/imitates_type/makes_double/gathers_fakeable_instance_methods.rb#8
|
664
|
+
sig { params(type: T.any(::Module, T::Class[T.anything])).returns(T::Array[::Symbol]) }
|
665
|
+
def gather(type); end
|
666
|
+
|
667
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/imitates_type/makes_double/gathers_fakeable_instance_methods.rb#19
|
668
|
+
sig { params(type: T.any(::Module, T::Class[T.anything]), method_name: ::Symbol).returns(T::Boolean) }
|
669
|
+
def ignore?(type, method_name); end
|
670
|
+
|
671
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/imitates_type/makes_double/gathers_fakeable_instance_methods.rb#24
|
672
|
+
sig { returns(T::Array[::Module]) }
|
673
|
+
def ignored_ancestors; end
|
674
|
+
end
|
675
|
+
|
676
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/grabs_original_method_parameters.rb#4
|
677
|
+
class Mocktail::GrabsOriginalMethodParameters
|
678
|
+
# Sorbet wraps the original method in a sig wrapper, so we need to unwrap it.
|
679
|
+
# The value returned from `owner.instance_method(method_name)` does not have
|
680
|
+
# the real parameters values available, as they'll have been erased
|
681
|
+
#
|
682
|
+
# If the method isn't wrapped by Sorbet, this will return the #instance_method,
|
683
|
+
# per usual
|
684
|
+
#
|
685
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/grabs_original_method_parameters.rb#14
|
686
|
+
sig { params(method: T.nilable(T.any(::Method, ::UnboundMethod))).returns(T::Array[T::Array[::Symbol]]) }
|
687
|
+
def grab(method); end
|
688
|
+
|
689
|
+
private
|
690
|
+
|
691
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/grabs_original_method_parameters.rb#27
|
692
|
+
sig { params(method: T.any(::Method, ::UnboundMethod)).returns(T.nilable(::T::Private::Methods::Signature)) }
|
693
|
+
def sorbet_wrapped_method(method); end
|
694
|
+
end
|
695
|
+
|
696
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/handles_dry_call.rb#8
|
697
|
+
class Mocktail::HandlesDryCall
|
698
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/handles_dry_call.rb#12
|
699
|
+
sig { void }
|
700
|
+
def initialize; end
|
701
|
+
|
702
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/handles_dry_call.rb#19
|
703
|
+
sig { params(dry_call: ::Mocktail::Call).returns(T.anything) }
|
704
|
+
def handle(dry_call); end
|
705
|
+
end
|
706
|
+
|
707
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/handles_dry_new_call.rb#4
|
708
|
+
class Mocktail::HandlesDryNewCall
|
709
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/handles_dry_new_call.rb#8
|
710
|
+
sig { void }
|
711
|
+
def initialize; end
|
712
|
+
|
713
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/handles_dry_new_call.rb#16
|
714
|
+
sig do
|
715
|
+
params(
|
716
|
+
type: T::Class[T.all(::Object, ::T)],
|
717
|
+
args: T::Array[T.anything],
|
718
|
+
kwargs: T::Hash[::Symbol, T.anything],
|
719
|
+
block: T.nilable(::Proc)
|
720
|
+
).returns(T.anything)
|
721
|
+
end
|
722
|
+
def handle(type, args, kwargs, block); end
|
723
|
+
end
|
724
|
+
|
725
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/imitates_type.rb#7
|
726
|
+
class Mocktail::ImitatesType
|
727
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/imitates_type.rb#12
|
728
|
+
sig { void }
|
729
|
+
def initialize; end
|
730
|
+
|
731
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/imitates_type.rb#22
|
732
|
+
sig do
|
733
|
+
type_parameters(:T)
|
734
|
+
.params(
|
735
|
+
type: T::Class[T.all(::Object, T.type_parameter(:T))]
|
736
|
+
).returns(T.all(::Object, T.type_parameter(:T)))
|
737
|
+
end
|
738
|
+
def imitate(type); end
|
739
|
+
end
|
740
|
+
|
741
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/initializes_mocktail.rb#4
|
742
|
+
class Mocktail::InitializesMocktail
|
743
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/initializes_mocktail.rb#8
|
744
|
+
sig { void }
|
745
|
+
def init; end
|
746
|
+
end
|
747
|
+
|
748
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/errors.rb#14
|
749
|
+
class Mocktail::InvalidMatcherError < ::Mocktail::Error; end
|
750
|
+
|
751
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/handles_dry_call/logs_call.rb#4
|
752
|
+
class Mocktail::LogsCall
|
753
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/handles_dry_call/logs_call.rb#8
|
754
|
+
sig { params(dry_call: ::Mocktail::Call).void }
|
755
|
+
def log(dry_call); end
|
756
|
+
end
|
757
|
+
|
758
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/imitates_type/makes_double.rb#7
|
759
|
+
class Mocktail::MakesDouble
|
760
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/imitates_type/makes_double.rb#11
|
761
|
+
sig { void }
|
762
|
+
def initialize; end
|
763
|
+
|
764
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/imitates_type/makes_double.rb#17
|
765
|
+
sig { params(type: T::Class[::Object]).returns(::Mocktail::Double) }
|
766
|
+
def make(type); end
|
767
|
+
end
|
768
|
+
|
769
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/matcher_presentation.rb#4
|
770
|
+
class Mocktail::MatcherPresentation
|
771
|
+
sig { returns(T.untyped) }
|
772
|
+
def any; end
|
773
|
+
|
774
|
+
sig { type_parameters(:T).params(expecteds: T.type_parameter(:T)).returns(T::Array[T.type_parameter(:T)]) }
|
775
|
+
def includes(*expecteds); end
|
776
|
+
|
777
|
+
sig do
|
778
|
+
type_parameters(:K, :V)
|
779
|
+
.params(
|
780
|
+
expecteds: T::Hash[T.type_parameter(:K), T.type_parameter(:V)]
|
781
|
+
).returns(T::Hash[T.type_parameter(:K), T.type_parameter(:V)])
|
782
|
+
end
|
783
|
+
def includes_hash(*expecteds); end
|
784
|
+
|
785
|
+
sig do
|
786
|
+
type_parameters(:K, :V)
|
787
|
+
.params(
|
788
|
+
expecteds: T.type_parameter(:K)
|
789
|
+
).returns(T::Hash[T.type_parameter(:K), T.type_parameter(:V)])
|
790
|
+
end
|
791
|
+
def includes_key(*expecteds); end
|
792
|
+
|
793
|
+
sig { type_parameters(:T).params(expecteds: T.type_parameter(:T)).returns(T.type_parameter(:T)) }
|
794
|
+
def includes_string(*expecteds); end
|
795
|
+
|
796
|
+
sig { type_parameters(:T).params(expected: T::Class[T.type_parameter(:T)]).returns(T.type_parameter(:T)) }
|
797
|
+
def is_a(expected); end
|
798
|
+
|
799
|
+
sig { params(pattern: T.any(String, Regexp)).returns(String) }
|
800
|
+
def matches(pattern); end
|
801
|
+
|
802
|
+
# standard:disable Style/ArgumentsForwarding
|
803
|
+
#
|
804
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/matcher_presentation.rb#13
|
805
|
+
sig { params(name: ::Symbol, args: T.anything, kwargs: T.anything, blk: T.nilable(::Proc)).returns(T.anything) }
|
806
|
+
def method_missing(name, *args, **kwargs, &blk); end
|
807
|
+
|
808
|
+
sig { type_parameters(:T).params(unexpected: T.type_parameter(:T)).returns(T.type_parameter(:T)) }
|
809
|
+
def not(unexpected); end
|
810
|
+
|
811
|
+
sig { returns(T.untyped) }
|
812
|
+
def numeric; end
|
813
|
+
|
814
|
+
sig { params(blk: T.proc.params(arg: T.untyped).returns(T::Boolean)).returns(T.untyped) }
|
815
|
+
def that(&blk); end
|
816
|
+
|
817
|
+
private
|
818
|
+
|
819
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/matcher_presentation.rb#8
|
820
|
+
sig { params(name: ::Symbol, include_private: T::Boolean).returns(T::Boolean) }
|
821
|
+
def respond_to_missing?(name, include_private = T.unsafe(nil)); end
|
822
|
+
end
|
823
|
+
|
824
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/value/matcher_registry.rb#4
|
825
|
+
class Mocktail::MatcherRegistry
|
826
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/value/matcher_registry.rb#13
|
827
|
+
sig { void }
|
828
|
+
def initialize; end
|
829
|
+
|
830
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/value/matcher_registry.rb#18
|
831
|
+
sig { params(matcher_type: T.class_of(Mocktail::Matchers::Base)).void }
|
832
|
+
def add(matcher_type); end
|
833
|
+
|
834
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/value/matcher_registry.rb#23
|
835
|
+
sig { params(name: ::Symbol).returns(T.nilable(T.class_of(Mocktail::Matchers::Base))) }
|
836
|
+
def get(name); end
|
837
|
+
|
838
|
+
class << self
|
839
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/value/matcher_registry.rb#8
|
840
|
+
sig { returns(::Mocktail::MatcherRegistry) }
|
841
|
+
def instance; end
|
842
|
+
end
|
843
|
+
end
|
844
|
+
|
845
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/matchers.rb#4
|
846
|
+
module Mocktail::Matchers; end
|
847
|
+
|
848
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/matchers/any.rb#4
|
849
|
+
class Mocktail::Matchers::Any < ::Mocktail::Matchers::Base
|
850
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/matchers/any.rb#13
|
851
|
+
sig { void }
|
852
|
+
def initialize; end
|
853
|
+
|
854
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/matchers/any.rb#23
|
855
|
+
sig { returns(::String) }
|
856
|
+
def inspect; end
|
857
|
+
|
858
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/matchers/any.rb#18
|
859
|
+
sig { params(actual: T.anything).returns(T::Boolean) }
|
860
|
+
def match?(actual); end
|
861
|
+
|
862
|
+
class << self
|
863
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/matchers/any.rb#8
|
864
|
+
sig { returns(::Symbol) }
|
865
|
+
def matcher_name; end
|
866
|
+
end
|
867
|
+
end
|
868
|
+
|
869
|
+
# @abstract It cannot be directly instantiated. Subclasses must implement the `abstract` methods below.
|
870
|
+
#
|
871
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/matchers/base.rb#4
|
872
|
+
class Mocktail::Matchers::Base
|
873
|
+
# Custom matchers can receive any args, kwargs, or block they want. Usually
|
874
|
+
# single-argument, though, so that's defaulted here and in #insepct
|
875
|
+
#
|
876
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/matchers/base.rb#15
|
877
|
+
sig { params(expected: ::BasicObject).void }
|
878
|
+
def initialize(expected); end
|
879
|
+
|
880
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/matchers/base.rb#30
|
881
|
+
sig { returns(::String) }
|
882
|
+
def inspect; end
|
883
|
+
|
884
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/matchers/base.rb#35
|
885
|
+
sig { returns(::TrueClass) }
|
886
|
+
def is_mocktail_matcher?; end
|
887
|
+
|
888
|
+
# @raise [Mocktail::InvalidMatcherError]
|
889
|
+
#
|
890
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/matchers/base.rb#25
|
891
|
+
sig { params(actual: T.untyped).returns(T::Boolean) }
|
892
|
+
def match?(actual); end
|
893
|
+
|
894
|
+
class << self
|
895
|
+
# @raise [Mocktail::InvalidMatcherError]
|
896
|
+
#
|
897
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/matchers/base.rb#20
|
898
|
+
sig { returns(::Symbol) }
|
899
|
+
def matcher_name; end
|
900
|
+
end
|
901
|
+
end
|
902
|
+
|
903
|
+
# Captors are conceptually complex implementations, but with a simple usage/purpose:
|
904
|
+
# They are values the user can create and hold onto that will return a matcher
|
905
|
+
# and then "capture" the value made by the real call, for later analysis & assertion.
|
906
|
+
#
|
907
|
+
# Unlike other matchers, these don't make any useful sense for stubbing, but are
|
908
|
+
# very useful when asserting complication call verifications
|
909
|
+
#
|
910
|
+
# The fact the user will need the reference outside the verification call is
|
911
|
+
# why this is a top-level method on Mocktail, and not included in the |m| block
|
912
|
+
# arg to stubs/verify
|
913
|
+
#
|
914
|
+
# See Mockito, which is the earliest implementation I know of:
|
915
|
+
# https://javadoc.io/doc/org.mockito/mockito-core/latest/org/mockito/Captor.html
|
916
|
+
#
|
917
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/matchers/captor.rb#17
|
918
|
+
# Captors are conceptually complex implementations, but with a simple usage/purpose:
|
919
|
+
# They are values the user can create and hold onto that will return a matcher
|
920
|
+
# and then "capture" the value made by the real call, for later analysis & assertion.
|
921
|
+
# Unlike other matchers, these don't make any useful sense for stubbing, but are
|
922
|
+
# very useful when asserting complication call verifications
|
923
|
+
# The fact the user will need the reference outside the verification call is
|
924
|
+
# why this is a top-level method on Mocktail, and not included in the |m| block
|
925
|
+
# arg to stubs/verify
|
926
|
+
# See Mockito, which is the earliest implementation I know of:
|
927
|
+
class Mocktail::Matchers::Captor
|
928
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/matchers/captor.rb#62
|
929
|
+
sig { void }
|
930
|
+
def initialize; end
|
931
|
+
|
932
|
+
# This T.untyped is intentional. Even though a Capture is surely returned,
|
933
|
+
# in order for a verification demonstration to pass its own type check,
|
934
|
+
# it needs to think it's being returned whatever parameter is expected
|
935
|
+
#
|
936
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/matchers/captor.rb#59
|
937
|
+
sig { returns(T.untyped) }
|
938
|
+
def capture; end
|
939
|
+
|
940
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/matchers/captor.rb#67
|
941
|
+
sig { returns(T::Boolean) }
|
942
|
+
def captured?; end
|
943
|
+
|
944
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/matchers/captor.rb#72
|
945
|
+
sig { returns(T.untyped) }
|
946
|
+
def value; end
|
947
|
+
end
|
948
|
+
|
949
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/matchers/captor.rb#20
|
950
|
+
class Mocktail::Matchers::Captor::Capture < ::Mocktail::Matchers::Base
|
951
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/matchers/captor.rb#32
|
952
|
+
sig { void }
|
953
|
+
def initialize; end
|
954
|
+
|
955
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/matchers/captor.rb#45
|
956
|
+
sig { returns(T::Boolean) }
|
957
|
+
def captured?; end
|
958
|
+
|
959
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/matchers/captor.rb#50
|
960
|
+
sig { returns(::String) }
|
961
|
+
def inspect; end
|
962
|
+
|
963
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/matchers/captor.rb#38
|
964
|
+
sig { params(actual: T.untyped).returns(::TrueClass) }
|
965
|
+
def match?(actual); end
|
966
|
+
|
967
|
+
# Returns the value of attribute value.
|
968
|
+
#
|
969
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/matchers/captor.rb#29
|
970
|
+
sig { returns(T.untyped) }
|
971
|
+
def value; end
|
972
|
+
|
973
|
+
class << self
|
974
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/matchers/captor.rb#24
|
975
|
+
sig { returns(::Symbol) }
|
976
|
+
def matcher_name; end
|
977
|
+
end
|
978
|
+
end
|
979
|
+
|
980
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/matchers/includes.rb#4
|
981
|
+
class Mocktail::Matchers::Includes < ::Mocktail::Matchers::Base
|
982
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/matchers/includes.rb#13
|
983
|
+
sig { params(expecteds: T.untyped).void }
|
984
|
+
def initialize(*expecteds); end
|
985
|
+
|
986
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/matchers/includes.rb#28
|
987
|
+
sig { returns(::String) }
|
988
|
+
def inspect; end
|
989
|
+
|
990
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/matchers/includes.rb#18
|
991
|
+
sig { params(actual: T.untyped).returns(T::Boolean) }
|
992
|
+
def match?(actual); end
|
993
|
+
|
994
|
+
class << self
|
995
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/matchers/includes.rb#8
|
996
|
+
sig { returns(::Symbol) }
|
997
|
+
def matcher_name; end
|
998
|
+
end
|
999
|
+
end
|
1000
|
+
|
1001
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/matchers/includes_hash.rb#4
|
1002
|
+
class Mocktail::Matchers::IncludesHash < ::Mocktail::Matchers::Includes
|
1003
|
+
class << self
|
1004
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/matchers/includes_hash.rb#8
|
1005
|
+
sig { returns(::Symbol) }
|
1006
|
+
def matcher_name; end
|
1007
|
+
end
|
1008
|
+
end
|
1009
|
+
|
1010
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/matchers/includes_key.rb#4
|
1011
|
+
class Mocktail::Matchers::IncludesKey < ::Mocktail::Matchers::Includes
|
1012
|
+
class << self
|
1013
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/matchers/includes_key.rb#8
|
1014
|
+
sig { returns(::Symbol) }
|
1015
|
+
def matcher_name; end
|
1016
|
+
end
|
1017
|
+
end
|
1018
|
+
|
1019
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/matchers/includes_string.rb#4
|
1020
|
+
class Mocktail::Matchers::IncludesString < ::Mocktail::Matchers::Includes
|
1021
|
+
class << self
|
1022
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/matchers/includes_string.rb#8
|
1023
|
+
sig { returns(::Symbol) }
|
1024
|
+
def matcher_name; end
|
1025
|
+
end
|
1026
|
+
end
|
1027
|
+
|
1028
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/matchers/is_a.rb#4
|
1029
|
+
class Mocktail::Matchers::IsA < ::Mocktail::Matchers::Base
|
1030
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/matchers/is_a.rb#13
|
1031
|
+
sig { params(actual: T.untyped).returns(T::Boolean) }
|
1032
|
+
def match?(actual); end
|
1033
|
+
|
1034
|
+
class << self
|
1035
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/matchers/is_a.rb#8
|
1036
|
+
sig { returns(::Symbol) }
|
1037
|
+
def matcher_name; end
|
1038
|
+
end
|
1039
|
+
end
|
1040
|
+
|
1041
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/matchers/matches.rb#4
|
1042
|
+
class Mocktail::Matchers::Matches < ::Mocktail::Matchers::Base
|
1043
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/matchers/matches.rb#13
|
1044
|
+
sig { params(actual: T.untyped).returns(T::Boolean) }
|
1045
|
+
def match?(actual); end
|
1046
|
+
|
1047
|
+
class << self
|
1048
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/matchers/matches.rb#8
|
1049
|
+
sig { returns(::Symbol) }
|
1050
|
+
def matcher_name; end
|
1051
|
+
end
|
1052
|
+
end
|
1053
|
+
|
1054
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/matchers/not.rb#4
|
1055
|
+
class Mocktail::Matchers::Not < ::Mocktail::Matchers::Base
|
1056
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/matchers/not.rb#13
|
1057
|
+
sig { params(actual: T.untyped).returns(T::Boolean) }
|
1058
|
+
def match?(actual); end
|
1059
|
+
|
1060
|
+
class << self
|
1061
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/matchers/not.rb#8
|
1062
|
+
sig { returns(::Symbol) }
|
1063
|
+
def matcher_name; end
|
1064
|
+
end
|
1065
|
+
end
|
1066
|
+
|
1067
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/matchers/numeric.rb#4
|
1068
|
+
class Mocktail::Matchers::Numeric < ::Mocktail::Matchers::Base
|
1069
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/matchers/numeric.rb#13
|
1070
|
+
sig { void }
|
1071
|
+
def initialize; end
|
1072
|
+
|
1073
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/matchers/numeric.rb#23
|
1074
|
+
sig { returns(::String) }
|
1075
|
+
def inspect; end
|
1076
|
+
|
1077
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/matchers/numeric.rb#18
|
1078
|
+
sig { params(actual: T.untyped).returns(T::Boolean) }
|
1079
|
+
def match?(actual); end
|
1080
|
+
|
1081
|
+
class << self
|
1082
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/matchers/numeric.rb#8
|
1083
|
+
sig { returns(::Symbol) }
|
1084
|
+
def matcher_name; end
|
1085
|
+
end
|
1086
|
+
end
|
1087
|
+
|
1088
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/matchers/that.rb#4
|
1089
|
+
class Mocktail::Matchers::That < ::Mocktail::Matchers::Base
|
1090
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/matchers/that.rb#13
|
1091
|
+
sig { params(blk: T.nilable(T.proc.params(actual: T.untyped).returns(T.untyped))).void }
|
1092
|
+
def initialize(&blk); end
|
1093
|
+
|
1094
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/matchers/that.rb#28
|
1095
|
+
sig { returns(::String) }
|
1096
|
+
def inspect; end
|
1097
|
+
|
1098
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/matchers/that.rb#21
|
1099
|
+
sig { params(actual: T.untyped).returns(T::Boolean) }
|
1100
|
+
def match?(actual); end
|
1101
|
+
|
1102
|
+
class << self
|
1103
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/matchers/that.rb#8
|
1104
|
+
sig { returns(::Symbol) }
|
1105
|
+
def matcher_name; end
|
1106
|
+
end
|
1107
|
+
end
|
1108
|
+
|
1109
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/errors.rb#10
|
1110
|
+
class Mocktail::MissingDemonstrationError < ::Mocktail::Error; end
|
1111
|
+
|
1112
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/value/explanation.rb#25
|
1113
|
+
class Mocktail::NoExplanation < ::Mocktail::Explanation
|
1114
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/value/explanation.rb#30
|
1115
|
+
sig { params(reference: ::Mocktail::NoExplanationData, message: ::String).void }
|
1116
|
+
def initialize(reference, message); end
|
1117
|
+
|
1118
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/value/explanation.rb#27
|
1119
|
+
sig { override.returns(::Mocktail::NoExplanationData) }
|
1120
|
+
def reference; end
|
1121
|
+
end
|
1122
|
+
|
1123
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/value/no_explanation_data.rb#4
|
1124
|
+
class Mocktail::NoExplanationData < ::T::Struct
|
1125
|
+
include ::Mocktail::ExplanationData
|
1126
|
+
|
1127
|
+
const :thing, ::Object
|
1128
|
+
|
1129
|
+
# @raise [Error]
|
1130
|
+
#
|
1131
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/value/no_explanation_data.rb#11
|
1132
|
+
sig { override.returns(T::Array[::Mocktail::Call]) }
|
1133
|
+
def calls; end
|
1134
|
+
|
1135
|
+
# @raise [Error]
|
1136
|
+
#
|
1137
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/value/no_explanation_data.rb#16
|
1138
|
+
sig { override.returns(T::Array[Mocktail::Stubbing[T.anything]]) }
|
1139
|
+
def stubbings; end
|
1140
|
+
|
1141
|
+
class << self
|
1142
|
+
# source://sorbet-runtime/0.5.10983/lib/types/struct.rb#13
|
1143
|
+
def inherited(s); end
|
1144
|
+
end
|
1145
|
+
end
|
1146
|
+
|
1147
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/value/signature.rb#4
|
1148
|
+
class Mocktail::Params < ::T::Struct
|
1149
|
+
prop :all, T::Array[::Symbol], default: T.unsafe(nil)
|
1150
|
+
prop :required, T::Array[::Symbol], default: T.unsafe(nil)
|
1151
|
+
prop :optional, T::Array[::Symbol], default: T.unsafe(nil)
|
1152
|
+
prop :rest, T.nilable(::Symbol)
|
1153
|
+
|
1154
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/value/signature.rb#13
|
1155
|
+
sig { returns(T::Array[::Symbol]) }
|
1156
|
+
def allowed; end
|
1157
|
+
|
1158
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/value/signature.rb#18
|
1159
|
+
sig { returns(T::Boolean) }
|
1160
|
+
def rest?; end
|
1161
|
+
|
1162
|
+
class << self
|
1163
|
+
# source://sorbet-runtime/0.5.10983/lib/types/struct.rb#13
|
1164
|
+
def inherited(s); end
|
1165
|
+
end
|
1166
|
+
end
|
1167
|
+
|
1168
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/raises_neato_no_method_error.rb#8
|
1169
|
+
class Mocktail::RaisesNeatoNoMethodError
|
1170
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/raises_neato_no_method_error.rb#12
|
1171
|
+
sig { void }
|
1172
|
+
def initialize; end
|
1173
|
+
|
1174
|
+
# @raise [NoMethodError]
|
1175
|
+
#
|
1176
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/raises_neato_no_method_error.rb#19
|
1177
|
+
sig { params(call: ::Mocktail::Call).void }
|
1178
|
+
def call(call); end
|
1179
|
+
|
1180
|
+
private
|
1181
|
+
|
1182
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/raises_neato_no_method_error.rb#63
|
1183
|
+
sig { params(block: T.nilable(::Proc)).returns(T.nilable(::String)) }
|
1184
|
+
def block_param(block); end
|
1185
|
+
|
1186
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/raises_neato_no_method_error.rb#81
|
1187
|
+
sig { params(call: ::Mocktail::Call).returns(T.nilable(::String)) }
|
1188
|
+
def corrections(call); end
|
1189
|
+
|
1190
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/raises_neato_no_method_error.rb#70
|
1191
|
+
sig { params(identifiers: T::Array[::String]).returns(T::Array[::String]) }
|
1192
|
+
def count_repeats(identifiers); end
|
1193
|
+
|
1194
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/raises_neato_no_method_error.rb#56
|
1195
|
+
sig { params(kwargs: T::Hash[::Symbol, T.anything]).returns(T.nilable(::String)) }
|
1196
|
+
def kwparams_list(kwargs); end
|
1197
|
+
|
1198
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/raises_neato_no_method_error.rb#36
|
1199
|
+
sig { params(call: ::Mocktail::Call).returns(T.nilable(::String)) }
|
1200
|
+
def params(call); end
|
1201
|
+
|
1202
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/raises_neato_no_method_error.rb#47
|
1203
|
+
sig { params(args: T::Array[T.anything]).returns(T.nilable(::String)) }
|
1204
|
+
def params_list(args); end
|
1205
|
+
end
|
1206
|
+
|
1207
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/verifies_call/raises_verification_error.rb#8
|
1208
|
+
class Mocktail::RaisesVerificationError
|
1209
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/verifies_call/raises_verification_error.rb#12
|
1210
|
+
sig { void }
|
1211
|
+
def initialize; end
|
1212
|
+
|
1213
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/verifies_call/raises_verification_error.rb#19
|
1214
|
+
sig do
|
1215
|
+
params(
|
1216
|
+
recording: ::Mocktail::Call,
|
1217
|
+
verifiable_calls: T::Array[::Mocktail::Call],
|
1218
|
+
demo_config: ::Mocktail::DemoConfig
|
1219
|
+
).void
|
1220
|
+
end
|
1221
|
+
def raise(recording, verifiable_calls, demo_config); end
|
1222
|
+
|
1223
|
+
private
|
1224
|
+
|
1225
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/verifies_call/raises_verification_error.rb#50
|
1226
|
+
sig do
|
1227
|
+
params(
|
1228
|
+
recording: ::Mocktail::Call,
|
1229
|
+
verifiable_calls: T::Array[::Mocktail::Call],
|
1230
|
+
demo_config: ::Mocktail::DemoConfig
|
1231
|
+
).returns(T.nilable(::String))
|
1232
|
+
end
|
1233
|
+
def describe_other_calls(recording, verifiable_calls, demo_config); end
|
1234
|
+
|
1235
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/verifies_call/raises_verification_error.rb#39
|
1236
|
+
sig { params(demo_config: ::Mocktail::DemoConfig, count: ::Integer).returns(T.nilable(::String)) }
|
1237
|
+
def describe_verifiable_times_called(demo_config, count); end
|
1238
|
+
|
1239
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/verifies_call/raises_verification_error.rb#66
|
1240
|
+
sig { params(s: ::String, count: T.nilable(::Integer)).returns(::String) }
|
1241
|
+
def pl(s, count); end
|
1242
|
+
end
|
1243
|
+
|
1244
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/simulates_argument_error/reconciles_args_with_params.rb#4
|
1245
|
+
class Mocktail::ReconcilesArgsWithParams
|
1246
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/simulates_argument_error/reconciles_args_with_params.rb#8
|
1247
|
+
sig { params(signature: ::Mocktail::Signature).returns(T::Boolean) }
|
1248
|
+
def reconcile(signature); end
|
1249
|
+
|
1250
|
+
private
|
1251
|
+
|
1252
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/simulates_argument_error/reconciles_args_with_params.rb#16
|
1253
|
+
sig { params(arg_params: ::Mocktail::Params, args: T::Array[T.untyped]).returns(T::Boolean) }
|
1254
|
+
def args_match?(arg_params, args); end
|
1255
|
+
|
1256
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/simulates_argument_error/reconciles_args_with_params.rb#22
|
1257
|
+
sig { params(kwarg_params: ::Mocktail::Params, kwargs: T::Hash[::Symbol, T.untyped]).returns(T::Boolean) }
|
1258
|
+
def kwargs_match?(kwarg_params, kwargs); end
|
1259
|
+
end
|
1260
|
+
|
1261
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/imitates_type/makes_double/declares_dry_class/reconstructs_call.rb#4
|
1262
|
+
class Mocktail::ReconstructsCall
|
1263
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/imitates_type/makes_double/declares_dry_class/reconstructs_call.rb#19
|
1264
|
+
sig do
|
1265
|
+
params(
|
1266
|
+
double: ::Object,
|
1267
|
+
call_binding: ::Binding,
|
1268
|
+
default_args: T.nilable(T::Hash[::Symbol, T.anything]),
|
1269
|
+
dry_class: T::Class[::Object],
|
1270
|
+
type: T.any(::Module, T::Class[T.anything]),
|
1271
|
+
method: ::Symbol,
|
1272
|
+
original_method: T.any(::Method, ::UnboundMethod),
|
1273
|
+
signature: ::Mocktail::Signature
|
1274
|
+
).returns(::Mocktail::Call)
|
1275
|
+
end
|
1276
|
+
def reconstruct(double:, call_binding:, default_args:, dry_class:, type:, method:, original_method:, signature:); end
|
1277
|
+
|
1278
|
+
private
|
1279
|
+
|
1280
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/imitates_type/makes_double/declares_dry_class/reconstructs_call.rb#39
|
1281
|
+
sig do
|
1282
|
+
params(
|
1283
|
+
signature: ::Mocktail::Signature,
|
1284
|
+
call_binding: ::Binding,
|
1285
|
+
default_args: T.nilable(T::Hash[::Symbol, T.anything])
|
1286
|
+
).returns(T::Array[T.anything])
|
1287
|
+
end
|
1288
|
+
def args_for(signature, call_binding, default_args); end
|
1289
|
+
|
1290
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/imitates_type/makes_double/declares_dry_class/reconstructs_call.rb#52
|
1291
|
+
sig do
|
1292
|
+
params(
|
1293
|
+
signature: ::Mocktail::Signature,
|
1294
|
+
call_binding: ::Binding,
|
1295
|
+
default_args: T.nilable(T::Hash[::Symbol, T.anything])
|
1296
|
+
).returns(T::Hash[::Symbol, T.anything])
|
1297
|
+
end
|
1298
|
+
def kwargs_for(signature, call_binding, default_args); end
|
1299
|
+
|
1300
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/imitates_type/makes_double/declares_dry_class/reconstructs_call.rb#62
|
1301
|
+
sig do
|
1302
|
+
params(
|
1303
|
+
params: ::Mocktail::Params,
|
1304
|
+
default_args: T.nilable(T::Hash[::Symbol, T.anything])
|
1305
|
+
).returns([T::Array[::Symbol], T.nilable(::Symbol)])
|
1306
|
+
end
|
1307
|
+
def non_default_args(params, default_args); end
|
1308
|
+
end
|
1309
|
+
|
1310
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/records_demonstration.rb#4
|
1311
|
+
class Mocktail::RecordsDemonstration
|
1312
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/records_demonstration.rb#14
|
1313
|
+
sig do
|
1314
|
+
type_parameters(:T)
|
1315
|
+
.params(
|
1316
|
+
demonstration: T.proc.params(matchers: ::Mocktail::MatcherPresentation).returns(T.type_parameter(:T)),
|
1317
|
+
demo_config: ::Mocktail::DemoConfig
|
1318
|
+
).returns(::Mocktail::Call)
|
1319
|
+
end
|
1320
|
+
def record(demonstration, demo_config); end
|
1321
|
+
end
|
1322
|
+
|
1323
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/simulates_argument_error/recreates_message.rb#4
|
1324
|
+
class Mocktail::RecreatesMessage
|
1325
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/simulates_argument_error/recreates_message.rb#8
|
1326
|
+
sig { params(signature: ::Mocktail::Signature).returns(::String) }
|
1327
|
+
def recreate(signature); end
|
1328
|
+
end
|
1329
|
+
|
1330
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/replaces_type/redefines_new.rb#4
|
1331
|
+
class Mocktail::RedefinesNew
|
1332
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/replaces_type/redefines_new.rb#8
|
1333
|
+
sig { void }
|
1334
|
+
def initialize; end
|
1335
|
+
|
1336
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/replaces_type/redefines_new.rb#13
|
1337
|
+
sig { params(type: T.any(::Module, T::Class[T.anything])).void }
|
1338
|
+
def redefine(type); end
|
1339
|
+
end
|
1340
|
+
|
1341
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/replaces_type/redefines_singleton_methods.rb#4
|
1342
|
+
class Mocktail::RedefinesSingletonMethods
|
1343
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/replaces_type/redefines_singleton_methods.rb#8
|
1344
|
+
sig { void }
|
1345
|
+
def initialize; end
|
1346
|
+
|
1347
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/replaces_type/redefines_singleton_methods.rb#47
|
1348
|
+
sig { params(type: T.any(::Module, T::Class[T.anything])).void }
|
1349
|
+
def declare_singleton_method_missing_errors!(type); end
|
1350
|
+
|
1351
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/replaces_type/redefines_singleton_methods.rb#13
|
1352
|
+
sig { params(type: T.any(::Module, T::Class[T.anything])).void }
|
1353
|
+
def redefine(type); end
|
1354
|
+
|
1355
|
+
private
|
1356
|
+
|
1357
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/replaces_type/redefines_singleton_methods.rb#72
|
1358
|
+
sig { params(method: ::Method).returns(T::Boolean) }
|
1359
|
+
def sorbet_method_hook?(method); end
|
1360
|
+
end
|
1361
|
+
|
1362
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/registers_matcher.rb#4
|
1363
|
+
class Mocktail::RegistersMatcher
|
1364
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/registers_matcher.rb#8
|
1365
|
+
sig { void }
|
1366
|
+
def initialize; end
|
1367
|
+
|
1368
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/registers_matcher.rb#13
|
1369
|
+
sig { params(matcher_type: T.class_of(Mocktail::Matchers::Base)).void }
|
1370
|
+
def register(matcher_type); end
|
1371
|
+
|
1372
|
+
private
|
1373
|
+
|
1374
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/registers_matcher.rb#59
|
1375
|
+
sig { params(matcher_type: T.class_of(Mocktail::Matchers::Base)).returns(T::Boolean) }
|
1376
|
+
def invalid_flag?(matcher_type); end
|
1377
|
+
|
1378
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/registers_matcher.rb#51
|
1379
|
+
sig { params(matcher_type: T.class_of(Mocktail::Matchers::Base)).returns(T::Boolean) }
|
1380
|
+
def invalid_match?(matcher_type); end
|
1381
|
+
|
1382
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/registers_matcher.rb#43
|
1383
|
+
sig { params(matcher_type: T.class_of(Mocktail::Matchers::Base)).returns(T::Boolean) }
|
1384
|
+
def invalid_name?(matcher_type); end
|
1385
|
+
|
1386
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/registers_matcher.rb#38
|
1387
|
+
sig { params(matcher_type: T.class_of(Mocktail::Matchers::Base)).returns(T::Boolean) }
|
1388
|
+
def invalid_type?(matcher_type); end
|
1389
|
+
end
|
1390
|
+
|
1391
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/registers_stubbing.rb#6
|
1392
|
+
class Mocktail::RegistersStubbing
|
1393
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/registers_stubbing.rb#10
|
1394
|
+
sig { void }
|
1395
|
+
def initialize; end
|
1396
|
+
|
1397
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/registers_stubbing.rb#21
|
1398
|
+
sig do
|
1399
|
+
type_parameters(:T)
|
1400
|
+
.params(
|
1401
|
+
demonstration: T.proc.params(matchers: ::Mocktail::MatcherPresentation).returns(T.type_parameter(:T)),
|
1402
|
+
demo_config: ::Mocktail::DemoConfig
|
1403
|
+
).returns(Mocktail::Stubbing[T.type_parameter(:T)])
|
1404
|
+
end
|
1405
|
+
def register(demonstration, demo_config); end
|
1406
|
+
end
|
1407
|
+
|
1408
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/value/explanation.rb#47
|
1409
|
+
class Mocktail::ReplacedTypeExplanation < ::Mocktail::Explanation
|
1410
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/value/explanation.rb#52
|
1411
|
+
sig { params(reference: ::Mocktail::TypeReplacementData, message: ::String).void }
|
1412
|
+
def initialize(reference, message); end
|
1413
|
+
|
1414
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/value/explanation.rb#49
|
1415
|
+
sig { override.returns(::Mocktail::TypeReplacementData) }
|
1416
|
+
def reference; end
|
1417
|
+
end
|
1418
|
+
|
1419
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/replaces_next.rb#4
|
1420
|
+
class Mocktail::ReplacesNext
|
1421
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/replaces_next.rb#8
|
1422
|
+
sig { void }
|
1423
|
+
def initialize; end
|
1424
|
+
|
1425
|
+
# @raise [UnsupportedMocktail]
|
1426
|
+
#
|
1427
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/replaces_next.rb#28
|
1428
|
+
sig do
|
1429
|
+
type_parameters(:T)
|
1430
|
+
.params(
|
1431
|
+
type: T::Class[T.all(::Object, T.type_parameter(:T))],
|
1432
|
+
count: ::Integer
|
1433
|
+
).returns(T::Array[T.type_parameter(:T)])
|
1434
|
+
end
|
1435
|
+
def replace(type, count); end
|
1436
|
+
|
1437
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/replaces_next.rb#19
|
1438
|
+
sig do
|
1439
|
+
type_parameters(:T)
|
1440
|
+
.params(
|
1441
|
+
type: T::Class[T.all(::Object, T.type_parameter(:T))]
|
1442
|
+
).returns(T.type_parameter(:T))
|
1443
|
+
end
|
1444
|
+
def replace_once(type); end
|
1445
|
+
end
|
1446
|
+
|
1447
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/replaces_type.rb#8
|
1448
|
+
class Mocktail::ReplacesType
|
1449
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/replaces_type.rb#12
|
1450
|
+
sig { void }
|
1451
|
+
def initialize; end
|
1452
|
+
|
1453
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/replaces_type.rb#20
|
1454
|
+
sig { params(type: T.any(::Module, T::Class[T.anything])).void }
|
1455
|
+
def replace(type); end
|
1456
|
+
end
|
1457
|
+
|
1458
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/resets_state.rb#4
|
1459
|
+
class Mocktail::ResetsState
|
1460
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/resets_state.rb#8
|
1461
|
+
sig { void }
|
1462
|
+
def reset; end
|
1463
|
+
end
|
1464
|
+
|
1465
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/replaces_type/runs_sorbet_sig_blocks_before_replacement.rb#4
|
1466
|
+
class Mocktail::RunsSorbetSigBlocksBeforeReplacement
|
1467
|
+
# This is necessary because when Sorbet runs a sig block of a singleton
|
1468
|
+
# method, it has the net effect of unwrapping/redefining the method. If
|
1469
|
+
# we try to use Mocktail.replace(Foo) and Foo.bar has a Sorbet sig block,
|
1470
|
+
# then we'll end up with three "versions" of the same method and no way
|
1471
|
+
# to keep straight which one == which:
|
1472
|
+
#
|
1473
|
+
# A - Foo.bar, as defined in the original class
|
1474
|
+
# B - Foo.bar, as redefined by RedefinesSingletonMethods
|
1475
|
+
# C - Foo.bar, as wrapped by sorbet-runtime
|
1476
|
+
#
|
1477
|
+
# Initially, Foo.method(:bar) would == C, but after the type
|
1478
|
+
# replacement, it would == B (with a reference back to C as the original),
|
1479
|
+
# but after handling a single dry call, our invocation of
|
1480
|
+
# GrabsOriginalMethodParameters.grab(Foo.method(:bar)) would invoke the
|
1481
|
+
# Sorbet `sig` block, which has the net effect of redefining the method back
|
1482
|
+
# to A.
|
1483
|
+
#
|
1484
|
+
# It's very fun and confusing and a great time.
|
1485
|
+
#
|
1486
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/replaces_type/runs_sorbet_sig_blocks_before_replacement.rb#26
|
1487
|
+
sig { params(type: T.any(::Module, T::Class[T.anything])).void }
|
1488
|
+
def run(type); end
|
1489
|
+
end
|
1490
|
+
|
1491
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/value/signature.rb#23
|
1492
|
+
class Mocktail::Signature < ::T::Struct
|
1493
|
+
const :positional_params, ::Mocktail::Params
|
1494
|
+
const :positional_args, T::Array[T.anything]
|
1495
|
+
const :keyword_params, ::Mocktail::Params
|
1496
|
+
const :keyword_args, T::Hash[::Symbol, T.anything]
|
1497
|
+
const :block_param, T.nilable(::Symbol)
|
1498
|
+
const :block_arg, T.nilable(::Proc), default: T.unsafe(nil)
|
1499
|
+
|
1500
|
+
class << self
|
1501
|
+
# source://sorbet-runtime/0.5.10983/lib/types/struct.rb#13
|
1502
|
+
def inherited(s); end
|
1503
|
+
end
|
1504
|
+
end
|
1505
|
+
|
1506
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/value/signature.rb#33
|
1507
|
+
Mocktail::Signature::DEFAULT_BLOCK_PARAM = T.let(T.unsafe(nil), String)
|
1508
|
+
|
1509
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/value/signature.rb#31
|
1510
|
+
Mocktail::Signature::DEFAULT_REST_ARGS = T.let(T.unsafe(nil), String)
|
1511
|
+
|
1512
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/value/signature.rb#32
|
1513
|
+
Mocktail::Signature::DEFAULT_REST_KWARGS = T.let(T.unsafe(nil), String)
|
1514
|
+
|
1515
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/simulates_argument_error.rb#10
|
1516
|
+
class Mocktail::SimulatesArgumentError
|
1517
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/simulates_argument_error.rb#14
|
1518
|
+
sig { void }
|
1519
|
+
def initialize; end
|
1520
|
+
|
1521
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/simulates_argument_error.rb#23
|
1522
|
+
sig { params(dry_call: ::Mocktail::Call).returns(T.nilable(::ArgumentError)) }
|
1523
|
+
def simulate(dry_call); end
|
1524
|
+
end
|
1525
|
+
|
1526
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/share/stringifies_call.rb#4
|
1527
|
+
class Mocktail::StringifiesCall
|
1528
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/share/stringifies_call.rb#8
|
1529
|
+
sig { params(call: ::Mocktail::Call, anonymous_blocks: T::Boolean, always_parens: T::Boolean).returns(::String) }
|
1530
|
+
def stringify(call, anonymous_blocks: T.unsafe(nil), always_parens: T.unsafe(nil)); end
|
1531
|
+
|
1532
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/share/stringifies_call.rb#13
|
1533
|
+
sig do
|
1534
|
+
params(
|
1535
|
+
calls: T::Array[::Mocktail::Call],
|
1536
|
+
nonzero_message: ::String,
|
1537
|
+
zero_message: ::String,
|
1538
|
+
anonymous_blocks: T::Boolean,
|
1539
|
+
always_parens: T::Boolean
|
1540
|
+
).returns(::String)
|
1541
|
+
end
|
1542
|
+
def stringify_multiple(calls, nonzero_message:, zero_message:, anonymous_blocks: T.unsafe(nil), always_parens: T.unsafe(nil)); end
|
1543
|
+
|
1544
|
+
private
|
1545
|
+
|
1546
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/share/stringifies_call.rb#47
|
1547
|
+
sig { params(args: T::Array[::Object]).returns(T.nilable(::String)) }
|
1548
|
+
def argify(args); end
|
1549
|
+
|
1550
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/share/stringifies_call.rb#30
|
1551
|
+
sig { params(call: ::Mocktail::Call, parens: T::Boolean).returns(T.nilable(::String)) }
|
1552
|
+
def args_to_s(call, parens: T.unsafe(nil)); end
|
1553
|
+
|
1554
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/share/stringifies_call.rb#65
|
1555
|
+
sig { params(block: T.nilable(::Proc), anonymous: T::Boolean).returns(T.nilable(::String)) }
|
1556
|
+
def blockify(block, anonymous:); end
|
1557
|
+
|
1558
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/share/stringifies_call.rb#53
|
1559
|
+
sig { params(kwargs: T::Hash[::Symbol, ::Object]).returns(T.nilable(::String)) }
|
1560
|
+
def kwargify(kwargs); end
|
1561
|
+
|
1562
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/share/stringifies_call.rb#59
|
1563
|
+
sig { params(block: T.nilable(::Proc)).returns(T.nilable(::String)) }
|
1564
|
+
def lambdafy(block); end
|
1565
|
+
|
1566
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/share/stringifies_call.rb#76
|
1567
|
+
sig { params(block: ::Proc).returns(::String) }
|
1568
|
+
def source_locationify(block); end
|
1569
|
+
|
1570
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/share/stringifies_call.rb#81
|
1571
|
+
sig { params(path: ::String).returns(::String) }
|
1572
|
+
def strip_pwd(path); end
|
1573
|
+
end
|
1574
|
+
|
1575
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/share/stringifies_method_name.rb#4
|
1576
|
+
class Mocktail::StringifiesMethodName
|
1577
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/share/stringifies_method_name.rb#8
|
1578
|
+
sig { params(call: ::Mocktail::Call).returns(::String) }
|
1579
|
+
def stringify(call); end
|
1580
|
+
end
|
1581
|
+
|
1582
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/stringifies_method_signature.rb#4
|
1583
|
+
class Mocktail::StringifiesMethodSignature
|
1584
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/stringifies_method_signature.rb#8
|
1585
|
+
sig { params(signature: ::Mocktail::Signature).returns(::String) }
|
1586
|
+
def stringify(signature); end
|
1587
|
+
|
1588
|
+
private
|
1589
|
+
|
1590
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/stringifies_method_signature.rb#45
|
1591
|
+
sig { params(signature: ::Mocktail::Signature).returns(::String) }
|
1592
|
+
def block(signature); end
|
1593
|
+
|
1594
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/stringifies_method_signature.rb#32
|
1595
|
+
sig { params(signature: ::Mocktail::Signature).returns(T.nilable(::String)) }
|
1596
|
+
def keyword(signature); end
|
1597
|
+
|
1598
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/stringifies_method_signature.rb#19
|
1599
|
+
sig { params(signature: ::Mocktail::Signature).returns(T.nilable(::String)) }
|
1600
|
+
def positional(signature); end
|
1601
|
+
end
|
1602
|
+
|
1603
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/value/stubbing.rb#4
|
1604
|
+
class Mocktail::Stubbing < ::T::Struct
|
1605
|
+
extend T::Generic
|
1606
|
+
|
1607
|
+
MethodReturnType = type_member
|
1608
|
+
|
1609
|
+
const :demonstration, T.proc.params(matchers: ::Mocktail::MatcherPresentation).returns(MethodReturnType)
|
1610
|
+
const :demo_config, ::Mocktail::DemoConfig
|
1611
|
+
prop :satisfaction_count, ::Integer, default: T.unsafe(nil)
|
1612
|
+
const :recording, ::Mocktail::Call
|
1613
|
+
prop :effect, T.nilable(T.proc.params(call: ::Mocktail::Call).returns(MethodReturnType))
|
1614
|
+
|
1615
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/value/stubbing.rb#16
|
1616
|
+
sig { void }
|
1617
|
+
def satisfied!; end
|
1618
|
+
|
1619
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/value/stubbing.rb#21
|
1620
|
+
sig { params(block: T.proc.params(call: ::Mocktail::Call).returns(MethodReturnType)).void }
|
1621
|
+
def with(&block); end
|
1622
|
+
|
1623
|
+
class << self
|
1624
|
+
# source://sorbet-runtime/0.5.10983/lib/types/struct.rb#13
|
1625
|
+
def inherited(s); end
|
1626
|
+
end
|
1627
|
+
end
|
1628
|
+
|
1629
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/typed.rb#4
|
1630
|
+
Mocktail::TYPED = T.let(T.unsafe(nil), TrueClass)
|
1631
|
+
|
1632
|
+
# The TopShelf is where we keep all the more global, dangerous state.
|
1633
|
+
# In particular, this is where Mocktail manages state related to singleton
|
1634
|
+
# method replacements carried out with Mocktail.replace(ClassOrModule)
|
1635
|
+
#
|
1636
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/value/top_shelf.rb#7
|
1637
|
+
# The TopShelf is where we keep all the more global, dangerous state.
|
1638
|
+
# In particular, this is where Mocktail manages state related to singleton
|
1639
|
+
class Mocktail::TopShelf
|
1640
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/value/top_shelf.rb#19
|
1641
|
+
sig { void }
|
1642
|
+
def initialize; end
|
1643
|
+
|
1644
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/value/top_shelf.rb#50
|
1645
|
+
sig { params(type: T.any(::Module, T::Class[T.anything])).returns(T::Boolean) }
|
1646
|
+
def new_replaced?(type); end
|
1647
|
+
|
1648
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/value/top_shelf.rb#60
|
1649
|
+
sig { params(type: T::Class[T.anything]).returns(T::Boolean) }
|
1650
|
+
def of_next_registered?(type); end
|
1651
|
+
|
1652
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/value/top_shelf.rb#45
|
1653
|
+
sig { params(type: T.any(::Module, T::Class[T.anything])).void }
|
1654
|
+
def register_new_replacement!(type); end
|
1655
|
+
|
1656
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/value/top_shelf.rb#55
|
1657
|
+
sig { params(type: T::Class[T.anything]).void }
|
1658
|
+
def register_of_next_replacement!(type); end
|
1659
|
+
|
1660
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/value/top_shelf.rb#70
|
1661
|
+
sig { params(type: T.any(::Module, T::Class[T.anything])).void }
|
1662
|
+
def register_singleton_method_replacement!(type); end
|
1663
|
+
|
1664
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/value/top_shelf.rb#40
|
1665
|
+
sig { void }
|
1666
|
+
def reset_current_thread!; end
|
1667
|
+
|
1668
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/value/top_shelf.rb#75
|
1669
|
+
sig { params(type: T.any(::Module, T::Class[T.anything])).returns(T::Boolean) }
|
1670
|
+
def singleton_methods_replaced?(type); end
|
1671
|
+
|
1672
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/value/top_shelf.rb#26
|
1673
|
+
sig { params(type: T.any(::Module, T::Class[T.anything])).returns(::Mocktail::TypeReplacement) }
|
1674
|
+
def type_replacement_for(type); end
|
1675
|
+
|
1676
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/value/top_shelf.rb#33
|
1677
|
+
sig { params(type: T.any(::Module, T::Class[T.anything])).returns(T.nilable(::Mocktail::TypeReplacement)) }
|
1678
|
+
def type_replacement_if_exists_for(type); end
|
1679
|
+
|
1680
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/value/top_shelf.rb#65
|
1681
|
+
sig { params(type: T::Class[T.anything]).void }
|
1682
|
+
def unregister_of_next_replacement!(type); end
|
1683
|
+
|
1684
|
+
class << self
|
1685
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/value/top_shelf.rb#11
|
1686
|
+
sig { returns(::Mocktail::TopShelf) }
|
1687
|
+
def instance; end
|
1688
|
+
end
|
1689
|
+
end
|
1690
|
+
|
1691
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/simulates_argument_error/transforms_params.rb#6
|
1692
|
+
class Mocktail::TransformsParams
|
1693
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/simulates_argument_error/transforms_params.rb#10
|
1694
|
+
sig { void }
|
1695
|
+
def initialize; end
|
1696
|
+
|
1697
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/simulates_argument_error/transforms_params.rb#15
|
1698
|
+
sig do
|
1699
|
+
params(
|
1700
|
+
dry_call: ::Mocktail::Call,
|
1701
|
+
params: T.nilable(T::Array[T::Array[::Symbol]])
|
1702
|
+
).returns(::Mocktail::Signature)
|
1703
|
+
end
|
1704
|
+
def transform(dry_call, params: T.unsafe(nil)); end
|
1705
|
+
|
1706
|
+
private
|
1707
|
+
|
1708
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/simulates_argument_error/transforms_params.rb#48
|
1709
|
+
sig { params(params: T::Array[T::Array[::Symbol]]).returns(T::Array[T::Array[::Symbol]]) }
|
1710
|
+
def name_unnamed_params(params); end
|
1711
|
+
end
|
1712
|
+
|
1713
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/errors.rb#18
|
1714
|
+
class Mocktail::TypeCheckingError < ::Mocktail::Error; end
|
1715
|
+
|
1716
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/value/type_replacement.rb#4
|
1717
|
+
class Mocktail::TypeReplacement < ::T::Struct
|
1718
|
+
const :type, T.any(::Module, T::Class[T.anything])
|
1719
|
+
prop :original_methods, T.nilable(T::Array[::Method])
|
1720
|
+
prop :replacement_methods, T.nilable(T::Array[::Method])
|
1721
|
+
prop :original_new, T.nilable(::Method)
|
1722
|
+
prop :replacement_new, T.nilable(::Method)
|
1723
|
+
|
1724
|
+
class << self
|
1725
|
+
# source://sorbet-runtime/0.5.10983/lib/types/struct.rb#13
|
1726
|
+
def inherited(s); end
|
1727
|
+
end
|
1728
|
+
end
|
1729
|
+
|
1730
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/value/type_replacement_data.rb#4
|
1731
|
+
class Mocktail::TypeReplacementData < ::T::Struct
|
1732
|
+
include ::Mocktail::ExplanationData
|
1733
|
+
|
1734
|
+
const :type, T.any(::Module, T::Class[T.anything])
|
1735
|
+
const :replaced_method_names, T::Array[::Symbol]
|
1736
|
+
const :calls, T::Array[::Mocktail::Call]
|
1737
|
+
const :stubbings, T::Array[Mocktail::Stubbing[T.anything]]
|
1738
|
+
|
1739
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/value/type_replacement_data.rb#15
|
1740
|
+
sig { returns(T.any(::Module, T::Class[T.anything])) }
|
1741
|
+
def double; end
|
1742
|
+
|
1743
|
+
class << self
|
1744
|
+
# source://sorbet-runtime/0.5.10983/lib/types/struct.rb#13
|
1745
|
+
def inherited(s); end
|
1746
|
+
end
|
1747
|
+
end
|
1748
|
+
|
1749
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/errors.rb#6
|
1750
|
+
class Mocktail::UnexpectedError < ::Mocktail::Error; end
|
1751
|
+
|
1752
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/value/unsatisfying_call.rb#4
|
1753
|
+
class Mocktail::UnsatisfyingCall < ::T::Struct
|
1754
|
+
const :call, ::Mocktail::Call
|
1755
|
+
const :other_stubbings, T::Array[Mocktail::Stubbing[T.anything]]
|
1756
|
+
const :backtrace, T::Array[::String]
|
1757
|
+
|
1758
|
+
class << self
|
1759
|
+
# source://sorbet-runtime/0.5.10983/lib/types/struct.rb#13
|
1760
|
+
def inherited(s); end
|
1761
|
+
end
|
1762
|
+
end
|
1763
|
+
|
1764
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/value/unsatisfying_call_explanation.rb#4
|
1765
|
+
class Mocktail::UnsatisfyingCallExplanation
|
1766
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/value/unsatisfying_call_explanation.rb#14
|
1767
|
+
sig { params(reference: ::Mocktail::UnsatisfyingCall, message: ::String).void }
|
1768
|
+
def initialize(reference, message); end
|
1769
|
+
|
1770
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/value/unsatisfying_call_explanation.rb#11
|
1771
|
+
sig { returns(::String) }
|
1772
|
+
def message; end
|
1773
|
+
|
1774
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/value/unsatisfying_call_explanation.rb#8
|
1775
|
+
sig { returns(::Mocktail::UnsatisfyingCall) }
|
1776
|
+
def reference; end
|
1777
|
+
|
1778
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/value/unsatisfying_call_explanation.rb#20
|
1779
|
+
sig { returns(T.class_of(Mocktail::UnsatisfyingCallExplanation)) }
|
1780
|
+
def type; end
|
1781
|
+
end
|
1782
|
+
|
1783
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/errors.rb#8
|
1784
|
+
class Mocktail::UnsupportedMocktail < ::Mocktail::Error; end
|
1785
|
+
|
1786
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/version.rb#11
|
1787
|
+
Mocktail::VERSION = T.let(T.unsafe(nil), String)
|
1788
|
+
|
1789
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/handles_dry_call/validates_arguments.rb#4
|
1790
|
+
class Mocktail::ValidatesArguments
|
1791
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/handles_dry_call/validates_arguments.rb#32
|
1792
|
+
sig { void }
|
1793
|
+
def initialize; end
|
1794
|
+
|
1795
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/handles_dry_call/validates_arguments.rb#37
|
1796
|
+
sig { params(dry_call: ::Mocktail::Call).returns(::NilClass) }
|
1797
|
+
def validate(dry_call); end
|
1798
|
+
|
1799
|
+
class << self
|
1800
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/handles_dry_call/validates_arguments.rb#7
|
1801
|
+
sig { void }
|
1802
|
+
def disable!; end
|
1803
|
+
|
1804
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/handles_dry_call/validates_arguments.rb#17
|
1805
|
+
sig { returns(T::Boolean) }
|
1806
|
+
def disabled?; end
|
1807
|
+
|
1808
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/handles_dry_call/validates_arguments.rb#12
|
1809
|
+
sig { void }
|
1810
|
+
def enable!; end
|
1811
|
+
|
1812
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/handles_dry_call/validates_arguments.rb#22
|
1813
|
+
sig { params(disable: T.nilable(T::Boolean), blk: T.proc.returns(T.anything)).void }
|
1814
|
+
def optional(disable, &blk); end
|
1815
|
+
end
|
1816
|
+
end
|
1817
|
+
|
1818
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/errors.rb#16
|
1819
|
+
class Mocktail::VerificationError < ::Mocktail::Error; end
|
1820
|
+
|
1821
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/verifies_call.rb#8
|
1822
|
+
class Mocktail::VerifiesCall
|
1823
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/verifies_call.rb#12
|
1824
|
+
sig { void }
|
1825
|
+
def initialize; end
|
1826
|
+
|
1827
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/verifies_call.rb#19
|
1828
|
+
sig do
|
1829
|
+
params(
|
1830
|
+
demo: T.proc.params(matchers: ::Mocktail::MatcherPresentation).void,
|
1831
|
+
demo_config: ::Mocktail::DemoConfig
|
1832
|
+
).void
|
1833
|
+
end
|
1834
|
+
def verify(demo, demo_config); end
|
1835
|
+
|
1836
|
+
private
|
1837
|
+
|
1838
|
+
# source://mocktail//lib/mocktail/sorbet/mocktail/verifies_call.rb#32
|
1839
|
+
sig { params(verifiable_call_count: ::Integer, demo_config: ::Mocktail::DemoConfig).returns(T::Boolean) }
|
1840
|
+
def verification_satisfied?(verifiable_call_count, demo_config); end
|
1841
|
+
end
|
1842
|
+
|
1843
|
+
# sorbet gem fails to export some of these constants, so we need to in order to
|
1844
|
+
# pass static typecheck
|
1845
|
+
module T
|
1846
|
+
module Private
|
1847
|
+
module Methods
|
1848
|
+
module MethodHooks; end
|
1849
|
+
|
1850
|
+
class Signature
|
1851
|
+
sig { returns(T::Array[T::Array[Symbol]]) }
|
1852
|
+
def parameters; end
|
1853
|
+
end
|
1854
|
+
|
1855
|
+
module SingletonMethodHooks; end
|
1856
|
+
end
|
1857
|
+
|
1858
|
+
module RuntimeLevels
|
1859
|
+
class << self
|
1860
|
+
sig { returns(Symbol) }
|
1861
|
+
def default_checked_level; end
|
1862
|
+
end
|
1863
|
+
end
|
1864
|
+
end
|
1865
|
+
end
|