public void CanSatisfyRangeIntersect() { Assert.True(SemanticVersion.RangeIntersect(ExpressionType.LessThan, v1, ExpressionType.LessThan, v11)); Assert.False(SemanticVersion.RangeIntersect(ExpressionType.LessThan, v1, ExpressionType.GreaterThan, v11)); Assert.True(SemanticVersion.RangeIntersect(ExpressionType.GreaterThan, v11, ExpressionType.GreaterThan, v11)); Assert.False(SemanticVersion.RangeIntersect(ExpressionType.LessThan, v090b1, ExpressionType.GreaterThan, v11)); Assert.True(SemanticVersion.RangeIntersect(ExpressionType.LessThan, v090b1, ExpressionType.GreaterThan, v090a2)); Assert.True(SemanticVersion.RangeIntersect(ExpressionType.GreaterThan, v090a2, ExpressionType.LessThan, v186)); }
public override bool IsVulnerabilityVersionInPackageVersionRange(string vulnerability_version, string package_version) { try { return(SemanticVersion.RangeIntersect(vulnerability_version, package_version)); } catch (ParseException e) { throw new Exception(e.Message); } }
public void CanRangeIntersect() { Assert.True(SemanticVersion.RangeIntersect("<10.3.2.alpha.1", "<11.0")); Assert.True(SemanticVersion.RangeIntersect("<10.3.2.alpha.1", ">1.3")); Assert.True(SemanticVersion.RangeIntersect(">=1.2.2", ">1.2.0-alpha.0")); Assert.False(SemanticVersion.RangeIntersect(">=1.2.0-alpha.0", "<1.2.0-alpha.0")); Assert.True(SemanticVersion.RangeIntersect(">=1.2.0-alpha.0", "<=1.2.0-alpha.0")); Assert.True(SemanticVersion.RangeIntersect(">1.4.0-alpha.0", "<=1.7.0")); Assert.True(SemanticVersion.RangeIntersect("1.4.0", "<=1.7.0")); Assert.False(SemanticVersion.RangeIntersect("10.4", "<=1.7.0.alpha.1")); Assert.True(SemanticVersion.RangeIntersect("1.7.0-alpha.1", "<1.7.0")); Assert.True(SemanticVersion.RangeIntersect(">1.9.0-beta.0", "1.9.0-beta.1")); Assert.True(SemanticVersion.RangeIntersect(">=10", "11.9.0-beta.0")); }
public override bool IsVulnerabilityVersionInPackageVersionRange(string vulnerability_version, string package_version) { string message = ""; bool r = SemanticVersion.RangeIntersect(vulnerability_version, package_version, out message); if (!r && !string.IsNullOrEmpty(message)) { throw new Exception(message); } else { return(r); } }
public void CanNodeSemverGt() { List <string[]> ranges = new List <string[]> { new string[] { "~1.2.2", "1.3.0" }, new string[] { "~0.6.1-1", "0.7.1-1" }, new string[] { "1.0.0 - 2.0.0", "2.0.1" }, new string[] { "1.0.0", "1.0.1-beta1" }, new string[] { "1.0.0", "2.0.0" }, new string[] { "<=2.0.0", "2.1.1" }, new string[] { "<=2.0.0", "3.2.9" }, new string[] { "<2.0.0", "2.0.0" }, new string[] { "0.1.20 || 1.2.4", "1.2.5" }, new string[] { "2.x.x", "3.0.0" }, new string[] { "1.2.x", "1.3.0" }, new string[] { "1.2.x || 2.x", "3.0.0" }, new string[] { "2.*.*", "5.0.1" }, new string[] { "1.2.*", "1.3.3" }, new string[] { "1.2.* || 2.*", "4.0.0" }, new string[] { "2", "3.0.0" }, new string[] { "2.3", "2.4.2" }, new string[] { "~2.4", "2.5.0" }, // >=2.4.0 <2.5.0 new string[] { "~2.4", "2.5.5" }, new string[] { "~3.2.1", "3.3.0" }, // >=3.2.1 <3.3.0 new string[] { "~1", "2.2.3" }, // >=1.0.0 <2.0.0 new string[] { "~1", "2.2.4" }, new string[] { "~ 1", "3.2.3" }, new string[] { "~1.0", "1.1.2" }, // >=1.0.0 <1.1.0 new string[] { "~ 1.0", "1.1.0" }, new string[] { "<1.2", "1.2.0" }, new string[] { "< 1.2", "1.2.1" }, new string[] { "1", "2.0.0beta" }, new string[] { "~v0.5.4-pre", "0.6.0" }, new string[] { "~v0.5.4-pre", "0.6.1-pre" }, new string[] { "0.7.x", "0.8.0" }, //new string[] {"0.7.x", "0.8.0-asdf"}, //new string[] {"0.7.x", "0.8.0"}, new string[] { "~1.2.2", "1.3.0" }, new string[] { "1.0.0 - 2.0.0", "2.2.3" }, new string[] { "1.0.0", "1.0.1" }, new string[] { "<=2.0.0", "3.0.0" }, new string[] { "<=2.0.0", "2.9999.9999" }, new string[] { "<=2.0.0", "2.2.9" }, new string[] { "<2.0.0", "2.9999.9999" }, new string[] { "<2.0.0", "2.2.9" }, new string[] { "2.x.x", "3.1.3" }, new string[] { "1.2.x", "1.3.3" }, new string[] { "1.2.x || 2.x", "3.1.3" }, new string[] { "2.*.*", "3.1.3" }, new string[] { "1.2.*", "1.3.3" }, new string[] { "1.2.* || 2.*", "3.1.3" }, new string[] { "2", "3.1.2" }, new string[] { "2.3", "2.4.1" }, new string[] { "~2.4", "2.5.0" }, // >=2.4.0 <2.5.0 new string[] { "~3.2.1", "3.3.2" }, // >=3.2.1 <3.3.0 new string[] { "~1", "2.2.3" }, // >=1.0.0 <2.0.0 new string[] { "~1", "2.2.3" }, new string[] { "~1.0", "1.1.0" }, // >=1.0.0 <1.1.0 new string[] { "<1", "1.0.0" }, new string[] { "1", "2.0.0beta" }, new string[] { "<1", "1.0.0beta" }, new string[] { "< 1", "1.0.0beta" }, new string[] { "0.7.x", "0.8.2" }, //new string[] {"0.7.x", "0.7.2"} }; string e; Assert.False(SemanticVersion.RangeIntersect("0.7.x", "0.8.0", out e)); foreach (string[] r in ranges) { Assert.False(SemanticVersion.RangeIntersect(r[0], r[1], out e)); Assert.True(string.IsNullOrEmpty(e)); } }
public override bool IsVulnerabilityVersionInPackageVersionRange(string vulnerability_version, string package_version) { return(SemanticVersion.RangeIntersect(vulnerability_version, package_version)); }