Skip to content

Commit fa38e69

Browse files
authored
Merge pull request #23065 from hyuraku/formulary-factory-cache-type
Type formulary_factory cache values as Formula
2 parents 92b8b03 + 2bdcabe commit fa38e69

2 files changed

Lines changed: 13 additions & 8 deletions

File tree

Library/Homebrew/formulary.rb

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,8 +55,7 @@ def self.platform_cache_tag
5555
sig {
5656
returns({
5757
api: T.nilable(T::Hash[String, T.class_of(Formula)]),
58-
# TODO: the hash values should be Formula instances, but the linux tests were failing
59-
formulary_factory: T.nilable(T::Hash[String, T.untyped]),
58+
formulary_factory: T.nilable(T::Hash[String, Formula]),
6059
path: T.nilable(T::Hash[String, T.class_of(Formula)]),
6160
})
6261
}

Library/Homebrew/test/cmd/bundle/exec_subcommand_spec.rb

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -183,9 +183,11 @@
183183
let(:brewfile_contents) { "brew 'nginx'\nbrew 'redis'" }
184184

185185
let(:nginx_formula) do
186-
instance_double(
187-
Formula,
188-
name: "nginx",
186+
nginx = formula("nginx") do
187+
T.bind(self, T.class_of(Formula))
188+
url "nginx-1.0"
189+
end
190+
allow(nginx).to receive_messages(
189191
any_version_installed?: true,
190192
any_installed_prefix: HOMEBREW_PREFIX/"opt/nginx",
191193
plist_name: "homebrew.mxcl.nginx",
@@ -194,12 +196,15 @@
194196
conflicts: [instance_double(Formula::FormulaConflict, name: "httpd")],
195197
keg_only?: false,
196198
)
199+
nginx
197200
end
198201

199202
let(:redis_formula) do
200-
instance_double(
201-
Formula,
202-
name: "redis",
203+
redis = formula("redis") do
204+
T.bind(self, T.class_of(Formula))
205+
url "redis-1.0"
206+
end
207+
allow(redis).to receive_messages(
203208
any_version_installed?: true,
204209
any_installed_prefix: HOMEBREW_PREFIX/"opt/redis",
205210
plist_name: "homebrew.mxcl.redis",
@@ -208,6 +213,7 @@
208213
conflicts: [],
209214
keg_only?: false,
210215
)
216+
redis
211217
end
212218

213219
let(:services_info_pre) do

0 commit comments

Comments
 (0)