diff options
| author | Mike McQuaid | 2017-02-20 11:04:12 +0000 |
|---|---|---|
| committer | GitHub | 2017-02-20 11:04:12 +0000 |
| commit | fe4b2e97a1bc37a210029b19167e80a059a69720 (patch) | |
| tree | f5865574f44a14070734d5b6e2d2d0c408dbb3a2 /Library/Homebrew/test | |
| parent | 9f31d41fb263718bff98e194df411b8aaea72aba (diff) | |
| parent | c49b97dd9c4d65a68494a467d542a42528ea9b38 (diff) | |
| download | brew-fe4b2e97a1bc37a210029b19167e80a059a69720.tar.bz2 | |
Merge pull request #1632 from rwhogg/make-java-req-portable
java_requirement: port to Linux and refactor
Diffstat (limited to 'Library/Homebrew/test')
| -rw-r--r-- | Library/Homebrew/test/java_requirement_test.rb | 50 | ||||
| -rw-r--r-- | Library/Homebrew/test/os/mac/java_requirement_test.rb | 31 |
2 files changed, 81 insertions, 0 deletions
diff --git a/Library/Homebrew/test/java_requirement_test.rb b/Library/Homebrew/test/java_requirement_test.rb new file mode 100644 index 000000000..d0b51f92c --- /dev/null +++ b/Library/Homebrew/test/java_requirement_test.rb @@ -0,0 +1,50 @@ +require "testing_env" +require "requirements/java_requirement" + +class JavaRequirementTests < Homebrew::TestCase + def setup + super + ENV["JAVA_HOME"] = nil + end + + def test_message + a = JavaRequirement.new([]) + assert_match(/Java is required to install this formula./, a.message) + end + + def test_inspect + a = JavaRequirement.new(%w[1.7+]) + assert_equal a.inspect, '#<JavaRequirement: "java" [] version="1.7+">' + end + + def test_display_s + x = JavaRequirement.new([]) + assert_equal x.display_s, "java" + y = JavaRequirement.new(%w[1.8]) + assert_equal y.display_s, "java = 1.8" + z = JavaRequirement.new(%w[1.8+]) + assert_equal z.display_s, "java >= 1.8" + end + + def test_satisfied? + a = JavaRequirement.new(%w[1.8]) + File.stubs(:executable?).returns(false) + refute_predicate a, :satisfied? + + b = JavaRequirement.new([]) + b.stubs(:preferred_java).returns(Pathname.new("/usr/bin/java")) + assert_predicate b, :satisfied? + + c = JavaRequirement.new(%w[1.7+]) + c.stubs(:possible_javas).returns([Pathname.new("/usr/bin/java")]) + Utils.stubs(:popen_read).returns('java version "1.6.0_5"') + refute_predicate c, :satisfied? + Utils.stubs(:popen_read).returns('java version "1.8.0_5"') + assert_predicate c, :satisfied? + + d = JavaRequirement.new(%w[1.7]) + d.stubs(:possible_javas).returns([Pathname.new("/usr/bin/java")]) + Utils.stubs(:popen_read).returns('java version "1.8.0_5"') + refute_predicate d, :satisfied? + end +end diff --git a/Library/Homebrew/test/os/mac/java_requirement_test.rb b/Library/Homebrew/test/os/mac/java_requirement_test.rb new file mode 100644 index 000000000..83c1af95c --- /dev/null +++ b/Library/Homebrew/test/os/mac/java_requirement_test.rb @@ -0,0 +1,31 @@ +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 |
