Merge pull request #5280 from apjanke/fix-java-req-version-parsing

JavaRequirement: fix version parsing to handle Java 9 and higher
This commit is contained in:
Mike McQuaid 2018-11-19 14:03:10 +00:00 committed by GitHub
commit 1365010f93
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
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