mirror of
https://github.com/Homebrew/brew.git
synced 2025-07-14 16:09:03 +08:00

/usr/libexec/java_home is specific to macOS. Language::Java::java_home_cmd is not implemented on Linux and raises NotImplementedError. Add private Language::Java::java_home_shell and use it instead of java_home_cmd. Add public Language::Java::java_home for use by formulae.
40 lines
1.4 KiB
Ruby
40 lines
1.4 KiB
Ruby
require "language/java"
|
|
|
|
describe Language::Java do
|
|
describe "::java_home" do
|
|
it "returns valid JAVA_HOME if version is specified", :needs_java do
|
|
java_home = described_class.java_home("1.8+")
|
|
expect(java_home/"bin/java").to be_an_executable
|
|
end
|
|
|
|
it "returns valid JAVA_HOME if version is not specified", :needs_java do
|
|
java_home = described_class.java_home
|
|
expect(java_home/"bin/java").to be_an_executable
|
|
end
|
|
end
|
|
|
|
describe "::java_home_env" do
|
|
it "returns java_home path with version if version specified", :needs_macos do
|
|
java_home = described_class.java_home_env("blah")
|
|
expect(java_home[:JAVA_HOME]).to include("--version blah")
|
|
end
|
|
|
|
it "returns java_home path without version if version is not specified", :needs_java do
|
|
java_home = described_class.java_home_env
|
|
expect(java_home[:JAVA_HOME]).not_to include("--version")
|
|
end
|
|
end
|
|
|
|
describe "::overridable_java_home_env" do
|
|
it "returns java_home path with version if version specified", :needs_macos do
|
|
java_home = described_class.overridable_java_home_env("blah")
|
|
expect(java_home[:JAVA_HOME]).to include("--version blah")
|
|
end
|
|
|
|
it "returns java_home path without version if version is not specified", :needs_java do
|
|
java_home = described_class.overridable_java_home_env
|
|
expect(java_home[:JAVA_HOME]).not_to include("--version")
|
|
end
|
|
end
|
|
end
|