Mike McQuaid aa44509be9
Test dev-cmd *_args methods
Also, add a few missing invocations.
2019-03-27 13:35:42 +00:00

80 lines
2.3 KiB
Ruby

require "cmd/shared_examples/args_parse"
describe "Homebrew.tap_args" do
it_behaves_like "parseable arguments"
end
describe "brew tap", :integration_test do
it "taps a given Tap" do
path = Tap::TAP_DIRECTORY/"homebrew/homebrew-foo"
path.mkpath
path.cd do
system "git", "init"
system "git", "remote", "add", "origin", "https://github.com/Homebrew/homebrew-foo"
FileUtils.touch "readme"
system "git", "add", "--all"
system "git", "commit", "-m", "init"
end
expect { brew "tap" }
.to output(%r{homebrew/foo}).to_stdout
.and not_to_output.to_stderr
.and be_a_success
expect { brew "tap-info" }
.to output(/2 taps/).to_stdout
.and not_to_output.to_stderr
.and be_a_success
expect { brew "tap-info", "homebrew/foo" }
.to output(%r{https://github\.com/Homebrew/homebrew-foo}).to_stdout
.and not_to_output.to_stderr
.and be_a_success
expect { brew "tap-info", "--json=v1", "--installed" }
.to output(%r{https://github\.com/Homebrew/homebrew-foo}).to_stdout
.and not_to_output.to_stderr
.and be_a_success
expect { brew "tap-pin", "homebrew/foo" }
.to output(%r{Pinned homebrew/foo}).to_stdout
.and not_to_output.to_stderr
.and be_a_success
expect { brew "tap", "--list-pinned" }
.to output(%r{homebrew/foo}).to_stdout
.and not_to_output.to_stderr
.and be_a_success
expect { brew "tap-unpin", "homebrew/foo" }
.to output(%r{Unpinned homebrew/foo}).to_stdout
.and not_to_output.to_stderr
.and be_a_success
expect { brew "tap", "homebrew/bar", path/".git" }
.to output(/Tapped/).to_stdout
.and output(/Cloning/).to_stderr
.and be_a_success
expect { brew "untap", "homebrew/bar" }
.to output(/Untapped/).to_stdout
.and not_to_output.to_stderr
.and be_a_success
expect { brew "tap", "--force-auto-update", "homebrew/bar", path/".git" }
.to output(/Tapped/).to_stdout
.and output(/Cloning/).to_stderr
.and be_a_success
expect { brew "untap", "homebrew/bar" }
.to output(/Untapped/).to_stdout
.and not_to_output.to_stderr
.and be_a_success
expect { brew "tap", "homebrew/bar", path/".git", "-q", "--full" }
.to be_a_success
.and not_to_output.to_stdout
.and not_to_output.to_stderr
end
end