Ejemplo n.º 1
0
        public void LibraryRange_ToLockFileDependencyGroupString(string versionRange, string expected)
        {
            // Arrange
            LibraryRange range = new LibraryRange()
            {
                Name           = "packageA",
                VersionRange   = VersionRange.Parse(versionRange),
                TypeConstraint = LibraryDependencyTarget.Project
            };

            // Act and Assert
            Assert.Equal(expected, range.ToLockFileDependencyGroupString());
        }
Ejemplo n.º 2
0
        private static IList <string> ReadDependencies(JObject dependenciesToken)
        {
            var dependencies = new List <string>();

            if (dependenciesToken != null)
            {
                foreach (var dependency in dependenciesToken)
                {
                    string name    = dependency.Key;
                    string version = null;

                    if (dependency.Value.Type == JTokenType.Object)
                    {
                        // { "PackageName" : { "version" :"1.0" ... }
                        version = dependency.Value.Value <string>("version");
                    }
                    else if (dependency.Value.Type == JTokenType.String)
                    {
                        // { "PackageName" : "1.0" }
                        version = dependency.Value.Value <string>();
                    }
                    else
                    {
                        throw new FormatException($"Unable to parse project.json file. Dependency '{name}' is not correctly formatted.");
                    }

                    var libraryRange = new LibraryRange
                    {
                        Name         = name,
                        VersionRange = VersionRange.Parse(version)
                    };

                    dependencies.Add(libraryRange.ToLockFileDependencyGroupString());
                }
            }

            return(dependencies);
        }