|
127 | 127 | it "prompts when asking for casks with dependencies", :cask do |
128 | 128 | cask = Cask::CaskLoader.load(cask_path("local-caffeine")) |
129 | 129 | dependency = instance_double(Dependency, installed?: false, name: "unar") |
| 130 | + cask_dependent = instance_double(CaskDependent) |
130 | 131 |
|
131 | 132 | allow(CaskDependent).to receive(:new) |
132 | 133 | .with(cask) |
133 | | - .and_return(instance_double(CaskDependent, runtime_dependencies: [dependency])) |
| 134 | + .and_return(cask_dependent) |
| 135 | + allow(cask_dependent).to receive(:runtime_dependencies).and_return([dependency]) |
134 | 136 | expect(Homebrew::Install).to receive(:ask_input).with(action: "installation") |
135 | 137 |
|
136 | 138 | expect do |
|
143 | 145 | EOS |
144 | 146 | end |
145 | 147 |
|
| 148 | + it "does not read installed formula metadata for cask dependency dry-run plans", :cask do |
| 149 | + cask = Cask::CaskLoader.load(cask_path("local-caffeine")) |
| 150 | + dependency = instance_double(Dependency, installed?: false, name: "ripgrep") |
| 151 | + cask_dependent = instance_double(CaskDependent) |
| 152 | + |
| 153 | + allow(CaskDependent).to receive(:new) |
| 154 | + .with(cask) |
| 155 | + .and_return(cask_dependent) |
| 156 | + expect(cask_dependent).to receive(:runtime_dependencies) |
| 157 | + .with(read_from_tab: false, undeclared: false) |
| 158 | + .and_return([dependency]) |
| 159 | + |
| 160 | + expect do |
| 161 | + Homebrew::Install.ask_casks([cask], prompt: false) |
| 162 | + end.to output(<<~EOS).to_stdout |
| 163 | + ==> Would install 1 cask: |
| 164 | + local-caffeine |
| 165 | + ==> Would install 1 dependency for local-caffeine: |
| 166 | + ripgrep |
| 167 | + EOS |
| 168 | + end |
| 169 | + |
146 | 170 | it "prompts when asking for casks with cask dependencies", :cask do |
147 | 171 | cask = Cask::CaskLoader.load(cask_path("with-depends-on-cask")) |
148 | 172 |
|
|
0 commit comments