Ejemplo n.º 1
0
        public NuSpecGeneratorTests(ITestOutputHelper output)
        {
            m_output  = output;
            m_context = FrontEndContext.CreateInstanceForTesting();
            var monikers = new NugetFrameworkMonikers(m_context.StringTable);

            m_packageGenerator = new PackageGenerator(m_context, monikers);
        }
Ejemplo n.º 2
0
        public void TestNuget451()
        {
            // Perform a random sample for some target framework moniker scenarios. Otherwise there are too many combinations.
            // This just guarantees a basic functionality of the moniker management and spec generator functionality.
            var stringTable = new PathTable().StringTable;
            var monikers    = new NugetFrameworkMonikers(stringTable);

            // Public member
            Assert.Equal("net451", monikers.Net451.ToString(stringTable));
            Assert.Equal("net452", monikers.Net452.ToString(stringTable));

            // Is well known
            Assert.True(monikers.WellknownMonikers.Contains(monikers.Net451));

            // 4.5 is compatible with 4.5.1 and newer monikers, not older ones!
            var analyzedPackage = m_packageGenerator.AnalyzePackage(
                @"<?xml version='1.0' encoding='utf-8'?>
<package xmlns='http://schemas.microsoft.com/packaging/2013/05/nuspec.xsd'>
  <metadata>
    <id>MyPkg</id>
    <version>1.999</version>
    <dependencies>
      <group targetFramework='.NETFramework4.5'>
        <dependency id='System.Collections' version='4.0.11' />
        <dependency id='System.Collections.Concurrent' version='4.0.12' />
      </group>
    </dependencies>
  </metadata>
</package>", s_packagesOnConfig, new string[] { "lib/net45/my.dll" });

            List <PathAtom> compatibleTfms = new List <PathAtom>();

            NugetSpecGenerator.FindAllCompatibleFrameworkMonikers(analyzedPackage,
                                                                  (List <PathAtom> m) => compatibleTfms.AddRange(m),
                                                                  m_monikers.FullFrameworkVersionHistory,
                                                                  m_monikers.NetCoreVersionHistory);

            Assert.False(compatibleTfms.Contains(m_monikers.Net40));
            Assert.True(compatibleTfms.Contains(m_monikers.Net45));
            Assert.True(compatibleTfms.Contains(m_monikers.Net451));
            Assert.True(compatibleTfms.Contains(m_monikers.Net472));

            // Mapping tests
            Assert.Equal(monikers.Net451, monikers.TargetFrameworkNameToMoniker[".NETFramework4.5.1"]);
        }
Ejemplo n.º 3
0
        public void TestNuget451()
        {
            // Perform a random sample for .net 452 things. Otherwise there are too many combinations.
            // This just guarantees a basic functionality of the Register function.
            var stringTable = new PathTable().StringTable;
            var monikers = new NugetFrameworkMonikers(stringTable);

            // Public member
            Assert.Equal("net451", monikers.Net451.ToString(stringTable));
            Assert.Equal("net452", monikers.Net452.ToString(stringTable));

            // Is well known
            Assert.True(monikers.WellknownMonikers.Contains(monikers.Net451));

            // 4.5.1 is compatible with 4.5
            Assert.True(monikers.CompatibilityMatrix.ContainsKey(monikers.Net451));
            Assert.True(monikers.CompatibilityMatrix[monikers.Net451].Contains(monikers.Net45));

            Assert.Equal(monikers.Net451, monikers.TargetFrameworkNameToMoniker[".NETFramework4.5.1"]);
        }
Ejemplo n.º 4
0
 public NugetAnalyzedPackageTests()
 {
     m_context          = FrontEndContext.CreateInstanceForTesting();
     m_monikers         = new NugetFrameworkMonikers(m_context.StringTable);
     m_packageGenerator = new PackageGenerator(m_context, m_monikers);
 }
Ejemplo n.º 5
0
 public PackageGenerator(FrontEndContext context, NugetFrameworkMonikers monikers)
 {
     m_context  = context;
     m_monikers = monikers;
 }