diff --git a/Library/Homebrew/requirements/java_requirement.rb b/Library/Homebrew/requirements/java_requirement.rb index 78014fdab8..ee1b548d1f 100644 --- a/Library/Homebrew/requirements/java_requirement.rb +++ b/Library/Homebrew/requirements/java_requirement.rb @@ -30,6 +30,7 @@ class JavaRequirement < Requirement def initialize(tags = []) @version = tags.shift if /^\d/ =~ tags.first super(tags) + @cask = suggestion.token end def message diff --git a/Library/Homebrew/test/java_requirement_spec.rb b/Library/Homebrew/test/java_requirement_spec.rb index f851136a0b..ea911f584e 100644 --- a/Library/Homebrew/test/java_requirement_spec.rb +++ b/Library/Homebrew/test/java_requirement_spec.rb @@ -105,4 +105,25 @@ describe JavaRequirement do end end end + + describe "#suggestion" do + context "without specific version" do + its(:suggestion) { is_expected.to match(/brew cask install adoptopenjdk/) } + its(:cask) { is_expected.to eq("adoptopenjdk") } + end + + context "with version 1.8" do + subject { described_class.new(%w[1.8]) } + + its(:suggestion) { is_expected.to match(%r{brew cask install homebrew/cask-versions/adoptopenjdk8}) } + its(:cask) { is_expected.to eq("homebrew/cask-versions/adoptopenjdk8") } + end + + context "with version 1.8+" do + subject { described_class.new(%w[1.8+]) } + + its(:suggestion) { is_expected.to match(/brew cask install adoptopenjdk/) } + its(:cask) { is_expected.to eq("adoptopenjdk") } + end + end end