JavaRequirement: fix version parsing to handle Java 9 and higher

This commit is contained in:
Andrew Janke 2018-11-08 15:25:53 -05:00
parent d06795fd79
commit e1e40a4b1a
2 changed files with 31 additions and 1 deletions

View File

@ -26,7 +26,7 @@ class JavaRequirement < Requirement
end end
def initialize(tags = []) def initialize(tags = [])
@version = tags.shift if /(\d+\.)+\d/ =~ tags.first @version = tags.shift if /^\d/ =~ tags.first
super(tags) super(tags)
end end

View File

@ -0,0 +1,30 @@
require "requirements/java_requirement"
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")
end
it "parses '9' tag correctly" do
req = described_class.new(["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")
end
it "parses '11' tag correctly" do
req = described_class.new(["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")
end
end
end