aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/test/os/mac/java_requirement_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'Library/Homebrew/test/os/mac/java_requirement_spec.rb')
-rw-r--r--Library/Homebrew/test/os/mac/java_requirement_spec.rb34
1 files changed, 34 insertions, 0 deletions
diff --git a/Library/Homebrew/test/os/mac/java_requirement_spec.rb b/Library/Homebrew/test/os/mac/java_requirement_spec.rb
new file mode 100644
index 000000000..f6404db92
--- /dev/null
+++ b/Library/Homebrew/test/os/mac/java_requirement_spec.rb
@@ -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