Merge pull request #2074 from reitermarkus/spec-java_requirement
Convert JavaRequirement test to spec.
This commit is contained in:
commit
445281f77a
34
Library/Homebrew/test/os/mac/java_requirement_spec.rb
Normal file
34
Library/Homebrew/test/os/mac/java_requirement_spec.rb
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
require "requirements/java_requirement"
|
||||||
|
require "fileutils"
|
||||||
|
|
||||||
|
describe JavaRequirement do
|
||||||
|
subject { described_class.new(%w[1.8]) }
|
||||||
|
let(:java_home) { Dir.mktmpdir }
|
||||||
|
let(:java_home_path) { Pathname.new(java_home) }
|
||||||
|
|
||||||
|
before(:each) do
|
||||||
|
FileUtils.mkdir java_home_path/"bin"
|
||||||
|
FileUtils.touch java_home_path/"bin/java"
|
||||||
|
allow(subject).to receive(:preferred_java).and_return(java_home_path/"bin/java")
|
||||||
|
expect(subject).to be_satisfied
|
||||||
|
end
|
||||||
|
|
||||||
|
after(:each) { java_home_path.rmtree }
|
||||||
|
|
||||||
|
specify "Apple Java environment" do
|
||||||
|
expect(ENV).to receive(:prepend_path)
|
||||||
|
expect(ENV).to receive(:append_to_cflags)
|
||||||
|
|
||||||
|
subject.modify_build_environment
|
||||||
|
expect(ENV["JAVA_HOME"]).to eq(java_home)
|
||||||
|
end
|
||||||
|
|
||||||
|
specify "Oracle Java environment" do
|
||||||
|
FileUtils.mkdir java_home_path/"include"
|
||||||
|
expect(ENV).to receive(:prepend_path)
|
||||||
|
expect(ENV).to receive(:append_to_cflags).twice
|
||||||
|
|
||||||
|
subject.modify_build_environment
|
||||||
|
expect(ENV["JAVA_HOME"]).to eq(java_home)
|
||||||
|
end
|
||||||
|
end
|
||||||
@ -1,31 +0,0 @@
|
|||||||
require "testing_env"
|
|
||||||
require "requirements/java_requirement"
|
|
||||||
require "fileutils"
|
|
||||||
|
|
||||||
class OSMacJavaRequirementTests < Homebrew::TestCase
|
|
||||||
def setup
|
|
||||||
super
|
|
||||||
@java_req = JavaRequirement.new(%w[1.8])
|
|
||||||
@tmp_java_home = mktmpdir
|
|
||||||
@tmp_pathname = Pathname.new(@tmp_java_home)
|
|
||||||
FileUtils.mkdir @tmp_pathname/"bin"
|
|
||||||
FileUtils.touch @tmp_pathname/"bin/java"
|
|
||||||
@java_req.stubs(:preferred_java).returns(@tmp_pathname/"bin/java")
|
|
||||||
@java_req.satisfied?
|
|
||||||
end
|
|
||||||
|
|
||||||
def test_java_env_apple
|
|
||||||
ENV.expects(:prepend_path)
|
|
||||||
ENV.expects(:append_to_cflags)
|
|
||||||
@java_req.modify_build_environment
|
|
||||||
assert_equal ENV["JAVA_HOME"], @tmp_java_home
|
|
||||||
end
|
|
||||||
|
|
||||||
def test_java_env_oracle
|
|
||||||
FileUtils.mkdir @tmp_pathname/"include"
|
|
||||||
ENV.expects(:prepend_path)
|
|
||||||
ENV.expects(:append_to_cflags).twice
|
|
||||||
@java_req.modify_build_environment
|
|
||||||
assert_equal ENV["JAVA_HOME"], @tmp_java_home
|
|
||||||
end
|
|
||||||
end
|
|
||||||
Loading…
x
Reference in New Issue
Block a user