38 lines
1.0 KiB
Ruby
Raw Normal View History

# frozen_string_literal: true
require "cmd/shared_examples/args_parse"
2024-03-21 10:39:08 -07:00
require "dev-cmd/irb"
2024-03-21 10:39:08 -07:00
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
2023-09-29 04:47:44 +01:00
# 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
2017-02-23 06:04:32 +01:00
end
end