41 lines
1.0 KiB
Ruby
41 lines
1.0 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
require "cli/args"
|
|
require "requirements/java_requirement"
|
|
require "fileutils"
|
|
|
|
describe JavaRequirement do
|
|
subject { described_class.new(%w[1.8]) }
|
|
|
|
let(:java_home) { mktmpdir }
|
|
|
|
let(:args) { Homebrew::CLI::Args.new }
|
|
|
|
before do
|
|
FileUtils.mkdir java_home/"bin"
|
|
FileUtils.touch java_home/"bin/java"
|
|
allow(subject).to receive(:preferred_java).and_return(java_home/"bin/java")
|
|
end
|
|
|
|
specify "Apple Java environment" do
|
|
expect(subject).to be_satisfied(args: args)
|
|
|
|
expect(ENV).to receive(:prepend_path)
|
|
expect(ENV).to receive(:append_to_cflags)
|
|
|
|
subject.modify_build_environment(args: args)
|
|
expect(ENV["JAVA_HOME"]).to eq(java_home.to_s)
|
|
end
|
|
|
|
specify "Oracle Java environment" do
|
|
expect(subject).to be_satisfied(args: args)
|
|
|
|
FileUtils.mkdir java_home/"include"
|
|
expect(ENV).to receive(:prepend_path)
|
|
expect(ENV).to receive(:append_to_cflags).twice
|
|
|
|
subject.modify_build_environment(args: args)
|
|
expect(ENV["JAVA_HOME"]).to eq(java_home.to_s)
|
|
end
|
|
end
|