brew/Library/Homebrew/test/cmd/deps_spec.rb

40 lines
1.2 KiB
Ruby
Raw Normal View History

# frozen_string_literal: true
2020-05-04 12:59:56 +01:00
require "cmd/shared_examples/args_parse"
RSpec.describe "brew deps" do
2020-05-04 12:59:56 +01:00
it_behaves_like "parseable arguments"
it "outputs all of a Formula's dependencies and their dependencies on separate lines", :integration_test do
# Included in output
2017-02-21 20:14:21 -05:00
setup_test_formula "bar"
setup_test_formula "foo"
setup_test_formula "test"
# Excluded from output
2018-07-11 15:17:40 +02:00
setup_test_formula "baz", <<~RUBY
url "https://brew.sh/baz-1.0"
2017-02-21 20:14:21 -05:00
depends_on "bar"
depends_on "build" => :build
depends_on "test" => :test
depends_on "optional" => :optional
depends_on "recommended_test" => [:recommended, :test]
depends_on "installed"
2018-07-11 15:17:40 +02:00
RUBY
setup_test_formula "build"
setup_test_formula "optional"
setup_test_formula "recommended_test"
setup_test_formula "installed"
# Mock `Formula#any_version_installed?` by creating the tab in a plausible keg directory
keg_dir = HOMEBREW_CELLAR/"installed"/"1.0"
keg_dir.mkpath
touch keg_dir/Tab::FILENAME
2017-02-23 01:54:44 -05:00
expect { brew "deps", "baz", "--include-test", "--missing", "--skip-recommended" }
2017-02-24 17:21:50 -05:00
.to be_a_success
.and output("bar\nfoo\ntest\n").to_stdout
2017-02-23 01:54:44 -05:00
.and not_to_output.to_stderr
2017-02-21 20:14:21 -05:00
end
end