示例#1
0
        public void GrammarCanParseVersion()
        {
            NuGetv2 n;
            NuGetv2 f  = NuGetv2.Grammar.NuGetv2Version.Parse("3.2.5-foo");
            NuGetv2 f2 = NuGetv2.Grammar.NuGetv2Version.Parse("3.1.0.3-foo");
            NuGetv2 f3 = NuGetv2.Grammar.NuGetv2Version.Parse("3.1.0.3-foo-bar");
            NuGetv2 f4 = NuGetv2.Grammar.NuGetv2Version.Parse("3.1.0.3-foo-v1-20200911.23");

            n = NuGetv2.Parse("3.2.5-foo");
            Assert.Equal(n, NuGetv2.Grammar.NuGetv2Version.Parse("3.2.5-foo"));
            Assert.Equal(3, n.Version.Major);
            Assert.Equal(2, n.Version.Minor);
            Assert.Equal(5, n.Version.Build);
            Assert.Equal("foo", n.SpecialVersion);

            n = NuGetv2.Parse("1.2.3.4-foo-v1-20200911.23");
            Assert.Equal(n, NuGetv2.Grammar.NuGetv2Version.Parse("1.2.3.4-foo-v1-20200911.23"));
            Assert.Equal(1, n.Version.Major);
            Assert.Equal(2, n.Version.Minor);
            Assert.Equal(3, n.Version.Build);
            Assert.Equal(3, n.Version.Build);
            Assert.Equal("foo-v1-20200911.23", n.SpecialVersion);

            n = NuGetv2.Grammar.NuGetv2Version.Parse("3.4.0199");

            //Assert.Throws<ParseException>(() => NuGetv2.Grammar.NuGetv2Version.Parse("A.2.3"));
            //Assert.Throws<ParseException>(() => NuGetv2.Grammar.NuGetv2Version.Parse("3.2.3.X"));
        }
        public override bool IsVulnerabilityVersionInPackageVersionRange(string vulnerability_version, string package_version)
        {
            string message = "";
            bool   r       = NuGetv2.RangeIntersect(vulnerability_version, package_version, out message);

            if (!r && !string.IsNullOrEmpty(message))
            {
                throw new Exception(message);
            }
            else
            {
                return(r);
            }
        }
示例#3
0
        public void GrammarCanParseVersion()
        {
            NuGetv2 f  = NuGetv2.Grammar.NuGetv2Version.Parse("3.2.5-foo");
            NuGetv2 f2 = NuGetv2.Grammar.NuGetv2Version.Parse("3.1.0.3-foo");
            NuGetv2 n  = NuGetv2.Parse("3.2.5-foo");

            Assert.Equal(n, NuGetv2.Grammar.NuGetv2Version.Parse("3.2.5-foo"));
            Assert.Equal(n.Version.Major, 3);
            Assert.Equal(n.SpecialVersion, "foo");
            Assert.Equal(n.Version.Minor, 2);
            Assert.Equal(n.Version.Build, 5);
            n = NuGetv2.Grammar.NuGetv2Version.Parse("3.4.0199");

            //Assert.Throws<ParseException>(() => NuGetv2.Grammar.NuGetv2Version.Parse("A.2.3"));
            //Assert.Throws<ParseException>(() => NuGetv2.Grammar.NuGetv2Version.Parse("3.2.3.X"));
        }
示例#4
0
        public void CanCompare()
        {
            NuGetv2 v0  = new NuGetv2("0.7");
            NuGetv2 v1  = new NuGetv2("2.3");
            NuGetv2 v2  = new NuGetv2("2.4");
            NuGetv2 v3  = new NuGetv2("2.4.4");
            NuGetv2 v4  = new NuGetv2("3.3.3.4");
            NuGetv2 v4b = new NuGetv2("3.3.3.5");

            Assert.True(v2 > v1);
            Assert.True(v4b > v4);
            Assert.True(v4 < v4b);
            Assert.Equal(v0, NuGetv2.Parse("0.7.0"));
            Assert.True(v3 > v2);
            Assert.True(v1 < v4);
            Assert.True(v090b2 > v090a1);
            Assert.True(v090a1 < v090b2);
        }
示例#5
0
        public void CanRangeIntersect()
        {
            string e;

            Assert.True(NuGetv2.RangeIntersect("4.5.7", "(2.4, 6.1.3-alpha5]", out e));
            Assert.False(NuGetv2.RangeIntersect("4.5.7", "(4.5.7, 6.1.3-alpha5]", out e));
            Assert.True(NuGetv2.RangeIntersect("4.5.7", "[4.5.7, 6.1.3-alpha5]", out e));
            Assert.True(NuGetv2.RangeIntersect("(5.5,]", "(2.4, 6.1.3-alpha5]", out e));
            Assert.True(NuGetv2.RangeIntersect("(11, 11.9)", "(11, 11.3.0-beta7]", out e));
            Assert.True(NuGetv2.RangeIntersect("(11, 13.3.0-beta7]", "12", out e));
            Assert.False(NuGetv2.RangeIntersect("(11, 13.3.0-beta7]", "13.4", out e));
            Assert.True(NuGetv2.RangeIntersect("3.4.0199", ">= 0.0.0", out e));
            Assert.False(NuGetv2.RangeIntersect("1.3.0", ">=1.2.19 <1.2.24", out e));
            Assert.False(NuGetv2.RangeIntersect("1.3.0", ">1.3.0-beta.1 <1.3.0-beta.14", out e));
            Assert.True(NuGetv2.RangeIntersect("1.3.0", ">1.3.0-beta.14.4 <1.4.0-beta.2", out e));
            Assert.True(NuGetv2.RangeIntersect("5.1", "4.4, 6.3,5.1", out e));
            Assert.False(NuGetv2.RangeIntersect("5.1", "5.4,6.3, 5.0", out e));
        }