mirror of
https://github.com/Homebrew/brew.git
synced 2025-07-15 19:56:59 +08:00
38 lines
1.0 KiB
Ruby
38 lines
1.0 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
require "cmd/shared_examples/args_parse"
|
|
require "dev-cmd/irb"
|
|
|
|
RSpec.describe Homebrew::DevCmd::Irb do
|
|
it_behaves_like "parseable arguments"
|
|
|
|
describe "integration test" do
|
|
let(:history_file) { Pathname("#{Dir.home}/.brew_irb_history") }
|
|
|
|
after do
|
|
history_file.delete if history_file.exist?
|
|
end
|
|
|
|
it "starts an interactive Homebrew shell session", :integration_test do
|
|
setup_test_formula "testball"
|
|
|
|
irb_test = HOMEBREW_TEMP/"irb-test.rb"
|
|
irb_test.write <<~RUBY
|
|
"testball".f
|
|
:testball.f
|
|
exit
|
|
RUBY
|
|
|
|
expect { brew "irb", irb_test }
|
|
.to output(/Interactive Homebrew Shell/).to_stdout
|
|
.and not_to_output.to_stderr
|
|
.and be_a_success
|
|
|
|
# TODO: newer Ruby only supports history saving in interactive sessions
|
|
# and not if you feed in data from a file or stdin like we are doing here.
|
|
# The test will need to be adjusted for this to work.
|
|
# expect(history_file).to exist
|
|
end
|
|
end
|
|
end
|