mirror of
https://github.com/Homebrew/brew.git
synced 2025-07-15 19:56:59 +08:00
45 lines
1.3 KiB
Ruby
45 lines
1.3 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
RSpec.describe Cask::Artifact::BashCompletion, :cask do
|
|
let(:cask) { Cask::CaskLoader.load(cask_token) }
|
|
|
|
context "with install" do
|
|
let(:install_phase) do
|
|
lambda do
|
|
cask.artifacts.select { |a| a.is_a?(described_class) }.each do |artifact|
|
|
artifact.install_phase(command: NeverSudoSystemCommand, force: false)
|
|
end
|
|
end
|
|
end
|
|
|
|
let(:source_path) { cask.staged_path.join("test.bash") }
|
|
let(:target_path) { cask.config.bash_completion.join("test") }
|
|
let(:full_source_path) { cask.staged_path.join("test.bash-completion") }
|
|
let(:full_target_path) { cask.config.bash_completion.join("test") }
|
|
|
|
before do
|
|
InstallHelper.install_without_artifacts(cask)
|
|
end
|
|
|
|
context "with completion" do
|
|
let(:cask_token) { "with-shellcompletion" }
|
|
|
|
it "links the completion to the proper directory" do
|
|
install_phase.call
|
|
|
|
expect(File).to be_identical target_path, source_path
|
|
end
|
|
end
|
|
|
|
context "with long completion" do
|
|
let(:cask_token) { "with-shellcompletion-long" }
|
|
|
|
it "links the completion to the proper directory" do
|
|
install_phase.call
|
|
|
|
expect(File).to be_identical full_target_path, full_source_path
|
|
end
|
|
end
|
|
end
|
|
end
|