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
def display_s
name
name.capitalize
end
def mktemp(&block)

View File

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

View File

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

View File

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

View File

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

View File

@ -23,19 +23,19 @@ describe JavaRequirement do
describe "#display_s" do
context "without specific version" do
its(:display_s) { is_expected.to eq("java") }
its(:display_s) { is_expected.to eq("Java") }
end
context "with version 1.8" do
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
context "with version 1.8+" do
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

View File

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