2022-07-15 15:19:59 +01:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
|
|
|
describe Utils do
|
2022-07-16 02:49:33 +01:00
|
|
|
describe "ruby_check_version_script" do
|
2022-07-15 15:19:59 +01:00
|
|
|
subject do
|
2022-10-18 01:32:55 +01:00
|
|
|
homebrew_env = ENV.select { |key, _| key.start_with?("HOMEBREW_") }
|
|
|
|
Bundler.with_unbundled_env do
|
|
|
|
ENV.update(homebrew_env)
|
|
|
|
quiet_system "#{HOMEBREW_LIBRARY_PATH}/utils/ruby_check_version_script.rb", required_ruby_version
|
|
|
|
end
|
2022-07-15 15:19:59 +01:00
|
|
|
end
|
|
|
|
|
|
|
|
before do
|
|
|
|
ENV.delete("HOMEBREW_DEVELOPER")
|
|
|
|
ENV.delete("HOMEBREW_USE_RUBY_FROM_PATH")
|
|
|
|
end
|
|
|
|
|
2022-10-18 01:32:55 +01:00
|
|
|
describe "succeeds on the running Ruby version" do
|
|
|
|
let(:required_ruby_version) { RUBY_VERSION }
|
2022-07-15 15:19:59 +01:00
|
|
|
|
|
|
|
it { is_expected.to be true }
|
|
|
|
end
|
|
|
|
|
|
|
|
describe "succeeds on newer mismatched major/minor required Ruby version and configurated environment" do
|
|
|
|
let(:required_ruby_version) { "2.0.0" }
|
|
|
|
|
|
|
|
before do
|
|
|
|
ENV["HOMEBREW_DEVELOPER"] = "1"
|
|
|
|
ENV["HOMEBREW_USE_RUBY_FROM_PATH"] = "1"
|
|
|
|
end
|
|
|
|
|
|
|
|
it { is_expected.to be true }
|
|
|
|
end
|
|
|
|
|
|
|
|
describe "fails on on mismatched major/minor required Ruby version" do
|
|
|
|
let(:required_ruby_version) { "1.2.3" }
|
|
|
|
|
|
|
|
it { is_expected.to be false }
|
|
|
|
end
|
|
|
|
|
|
|
|
describe "fails on invalid required Ruby version" do
|
|
|
|
let(:required_ruby_version) { "fish" }
|
|
|
|
|
|
|
|
it { is_expected.to be false }
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|