requirements: improve display in brew info

This commit is contained in:
EricFromCanada 2020-11-01 12:02:13 -05:00
parent f4aeb3e956
commit a232ac8b1e
7 changed files with 24 additions and 12 deletions

View File

@ -126,7 +126,7 @@ class Requirement
end end
def display_s def display_s
name name.capitalize
end end
def mktemp(&block) def mktemp(&block)

View File

@ -55,9 +55,9 @@ class JavaRequirement < Requirement
else else
">=" ">="
end end
"#{name} #{op} #{version_without_plus}" "#{name.capitalize} #{op} #{version_without_plus}"
else else
name name.capitalize
end end
end end

View File

@ -71,7 +71,7 @@ class MacOSRequirement < Requirement
end end
def display_s def display_s
return "macOS is required" unless version_specified? return "macOS" unless version_specified?
"macOS #{@comparator} #{@version}" "macOS #{@comparator} #{@version}"
end end

View File

@ -7,8 +7,14 @@ require "requirement"
# #
# @api private # @api private
class OsxfuseRequirement < Requirement class OsxfuseRequirement < Requirement
extend T::Sig
cask "osxfuse" cask "osxfuse"
fatal true fatal true
sig { returns(String) }
def display_s
"FUSE"
end
end end
require "extend/os/requirements/osxfuse_requirement" require "extend/os/requirements/osxfuse_requirement"

View File

@ -48,6 +48,12 @@ class XcodeRequirement < Requirement
def inspect def inspect
"#<#{self.class.name}: #{tags.inspect} version=#{@version.inspect}>" "#<#{self.class.name}: #{tags.inspect} version=#{@version.inspect}>"
end end
def display_s
return name.capitalize unless @version
"#{name.capitalize} >= #{@version}"
end
end end
require "extend/os/requirements/xcode_requirement" require "extend/os/requirements/xcode_requirement"

View File

@ -23,19 +23,19 @@ describe JavaRequirement do
describe "#display_s" do describe "#display_s" do
context "without specific version" do context "without specific version" do
its(:display_s) { is_expected.to eq("java") } its(:display_s) { is_expected.to eq("Java") }
end end
context "with version 1.8" do context "with version 1.8" do
subject { described_class.new(%w[1.8]) } subject { described_class.new(%w[1.8]) }
its(:display_s) { is_expected.to eq("java = 1.8") } its(:display_s) { is_expected.to eq("Java = 1.8") }
end end
context "with version 1.8+" do context "with version 1.8+" do
subject { described_class.new(%w[1.8+]) } subject { described_class.new(%w[1.8+]) }
its(:display_s) { is_expected.to eq("java >= 1.8") } its(:display_s) { is_expected.to eq("Java >= 1.8") }
end end
end end

View File

@ -7,27 +7,27 @@ describe JavaRequirement do
describe "initialize" do describe "initialize" do
it "parses '1.8' tag correctly" do it "parses '1.8' tag correctly" do
req = described_class.new(["1.8"]) req = described_class.new(["1.8"])
expect(req.display_s).to eq("java = 1.8") expect(req.display_s).to eq("Java = 1.8")
end end
it "parses '9' tag correctly" do it "parses '9' tag correctly" do
req = described_class.new(["9"]) req = described_class.new(["9"])
expect(req.display_s).to eq("java = 9") expect(req.display_s).to eq("Java = 9")
end end
it "parses '9+' tag correctly" do it "parses '9+' tag correctly" do
req = described_class.new(["9+"]) req = described_class.new(["9+"])
expect(req.display_s).to eq("java >= 9") expect(req.display_s).to eq("Java >= 9")
end end
it "parses '11' tag correctly" do it "parses '11' tag correctly" do
req = described_class.new(["11"]) req = described_class.new(["11"])
expect(req.display_s).to eq("java = 11") expect(req.display_s).to eq("Java = 11")
end end
it "parses bogus tag correctly" do it "parses bogus tag correctly" do
req = described_class.new(["bogus1.8"]) req = described_class.new(["bogus1.8"])
expect(req.display_s).to eq("java") expect(req.display_s).to eq("Java")
end end
end end
end end