aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/test/os/mac/java_requirement_spec.rb
diff options
context:
space:
mode:
authorMarkus Reiter2017-02-21 02:50:52 +0100
committerMarkus Reiter2017-02-21 02:50:52 +0100
commit9c1db3c820f715f62f550ba1e54f16f9b89bc6ed (patch)
treec68a4cf5cfe92ae5f0be5e7397b2efaf923027d5 /Library/Homebrew/test/os/mac/java_requirement_spec.rb
parentbd0a1314c8a2676a69b81ba840fb7ea6e50ae736 (diff)
downloadbrew-9c1db3c820f715f62f550ba1e54f16f9b89bc6ed.tar.bz2
Convert JavaRequirement test to spec.
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