2024-03-22 09:33:28 -07:00

31 lines
914 B
Ruby

# frozen_string_literal: true
require "cmd/shared_examples/args_parse"
require "dev-cmd/ruby"
RSpec.describe Homebrew::DevCmd::Ruby do
it_behaves_like "parseable arguments"
it "executes ruby code with Homebrew's libraries loaded", :integration_test do
expect { brew "ruby", "-e", "exit 0" }
.to be_a_success
.and not_to_output.to_stdout
.and not_to_output.to_stderr
end
# 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
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
end
end