2019-04-19 15:38:03 +09:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2019-03-27 11:49:56 +00:00
|
|
|
require "cmd/shared_examples/args_parse"
|
|
|
|
|
2024-02-18 15:11:11 -08:00
|
|
|
RSpec.describe "brew ruby" do
|
2019-03-27 11:49:56 +00:00
|
|
|
it_behaves_like "parseable arguments"
|
|
|
|
|
2021-02-01 16:14:25 -05:00
|
|
|
it "executes ruby code with Homebrew's libraries loaded", :integration_test do
|
2018-02-28 09:31:29 -08:00
|
|
|
expect { brew "ruby", "-e", "exit 0" }
|
|
|
|
.to be_a_success
|
|
|
|
.and not_to_output.to_stdout
|
|
|
|
.and not_to_output.to_stderr
|
|
|
|
end
|
2020-11-30 23:30:52 -08:00
|
|
|
|
2021-02-01 16:14:25 -05:00
|
|
|
# Doesn't actually need Linux but only running there as integration tests are slow.
|
|
|
|
describe "-e 'puts \"testball\".f.path'", :integration_test, :needs_linux do
|
|
|
|
let!(:target) do
|
|
|
|
target_path = setup_test_formula "testball"
|
|
|
|
{ path: target_path }
|
|
|
|
end
|
2020-11-30 23:30:52 -08:00
|
|
|
|
2021-02-01 16:14:25 -05:00
|
|
|
it "prints the path of a test formula" do
|
|
|
|
expect { brew "ruby", "-e", "puts 'testball'.f.path" }
|
|
|
|
.to be_a_success
|
|
|
|
.and output(/^#{target[:path]}$/).to_stdout
|
|
|
|
.and not_to_output.to_stderr
|
|
|
|
end
|
2020-11-30 23:30:52 -08:00
|
|
|
end
|
|
|
|
end
|