
The usual cycle of deprecating, disabling, and removing things in Homebrew major/minor releases.
45 lines
1.1 KiB
Ruby
45 lines
1.1 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
require "bundle"
|
|
require "bundle/whalebrew_dumper"
|
|
|
|
RSpec.describe Homebrew::Bundle::WhalebrewDumper do
|
|
subject(:dumper) { described_class }
|
|
|
|
context "when whalebrew is not installed" do
|
|
before do
|
|
dumper.reset!
|
|
allow(Homebrew::Bundle).to receive(:whalebrew_installed?).and_return(false)
|
|
end
|
|
|
|
it "returns empty list" do
|
|
expect(dumper.images).to be_empty
|
|
end
|
|
|
|
it "dumps as empty string" do
|
|
expect(dumper.dump).to eql("")
|
|
end
|
|
end
|
|
|
|
context "when whalebrew is installed" do
|
|
before do
|
|
allow(Homebrew::Bundle).to receive(:whalebrew_installed?).and_return(true)
|
|
allow(dumper).to receive(:images).and_return(["whalebrew/wget", "whalebrew/dig"])
|
|
end
|
|
|
|
context "when images are installed" do
|
|
let(:expected_whalebrew_dump) do
|
|
%Q(whalebrew "whalebrew/wget"\nwhalebrew "whalebrew/dig")
|
|
end
|
|
|
|
it "returns correct listing" do
|
|
expect(dumper.images).to eq(["whalebrew/wget", "whalebrew/dig"])
|
|
end
|
|
|
|
it "dumps usable output for Brewfile" do
|
|
expect(dumper.dump).to eql(expected_whalebrew_dump)
|
|
end
|
|
end
|
|
end
|
|
end
|