Exemplo n.º 1
0
        public void ZipNoRoot()
        {
            var task = new Zip();

            task.BuildEngine = new MockBuild();

            string testDir     = TaskUtility.TestDirectory;
            string prjRootPath = TaskUtility.GetProjectRootDirectory(true);

            string workingDir = Path.Combine(prjRootPath, @"Source\MSBuild.Community.Tasks.Tests");

            string[] files = Directory.GetFiles(workingDir, "*.*", SearchOption.AllDirectories);

            TaskItem[] items = TaskUtility.StringArrayToItemArray(files);

            task.Files       = items;
            task.ZipFileName = Path.Combine(testDir, ZIP_FILE_NAME);

            if (File.Exists(task.ZipFileName))
            {
                File.Delete(task.ZipFileName);
            }

            Assert.IsTrue(task.Execute(), "Execute Failed");
            Assert.IsTrue(File.Exists(task.ZipFileName), "Zip file not found");
        }
Exemplo n.º 2
0
        public void ZipRelativeExecute()
        {
            var task = new Zip();

            task.BuildEngine = new MockBuild();

            string testDir     = TaskUtility.TestDirectory;
            string prjRootPath = TaskUtility.GetProjectRootDirectory(true);

            string        workingDir = Path.Combine(prjRootPath, @"Source\MSBuild.Community.Tasks.Tests");
            List <string> files      = Directory.GetFiles(workingDir, "*.*", SearchOption.TopDirectoryOnly).ToList();

            files.Add(Path.Combine(workingDir, "..\\..\\readme.md"));

            TaskItem[] items = TaskUtility.StringArrayToItemArray(files.ToArray());

            task.Files            = items;
            task.WorkingDirectory = workingDir;
            task.ZipFileName      = Path.Combine(testDir, ZIP_WITH_RELATIVE_FILE_NAME);

            if (File.Exists(task.ZipFileName))
            {
                File.Delete(task.ZipFileName);
            }

            Assert.IsTrue(task.Execute(), "Execute Failed");
            Assert.IsTrue(ZipFile.Read(task.ZipFileName).ContainsEntry("readme.md"), "The zip doesnt contains the readme.md file");
            Assert.IsTrue(File.Exists(task.ZipFileName), "Zip file not found");
        }
Exemplo n.º 3
0
 public void Setup()
 {
     task          = new ILMerge();
     task.ToolPath = Path.Combine(TaskUtility.GetProjectRootDirectory(true),
                                  @"Source\packages\ilmerge.2.12.0803\");
     task.BuildEngine     = new MockBuild();
     task.InputAssemblies = this.inputAssemblies;
 }
Exemplo n.º 4
0
        public void The_WellKnown_item_metadata_can_be_accessed_on_returned_projects()
        {
            // http://msdn2.microsoft.com/en-us/library/ms164313.aspx
            GetSolutionProjects task = new GetSolutionProjects();

            task.BuildEngine = new MockBuild();
            task.Solution    = Path.Combine(TaskUtility.GetProjectRootDirectory(true), @"Source\MSBuild.Community.Tasks.Tests\Solution\TestSolution.sln");
            Assert.IsTrue(task.Execute());

            Assert.AreEqual("TestProject1", task.Output[0].GetMetadata("Filename"));
        }
Exemplo n.º 5
0
        public void Solution_folders_are_not_returned_as_projects()
        {
            GetSolutionProjects task = new GetSolutionProjects();

            task.BuildEngine = new MockBuild();
            task.Solution    = Path.Combine(TaskUtility.GetProjectRootDirectory(true), @"Source\MSBuild.Community.Tasks.Tests\Solution\TestSolution.sln");
            Assert.IsTrue(task.Execute());
            foreach (ITaskItem project in task.Output)
            {
                Assert.AreNotEqual("TestFolder1", project.GetMetadata("ProjectName"));
            }
        }
Exemplo n.º 6
0
        public void XPathThatReturnsBooleanValue()
        {
            XmlRead task = new XmlRead();

            task.BuildEngine = new MockBuild();
            string prjRootPath = TaskUtility.GetProjectRootDirectory(true);

            task.XmlFileName = Path.Combine(prjRootPath, @"Source\Subversion.proj");
            task.XPath       = "10 < 10";
            task.Namespace   = "http://schemas.microsoft.com/developer/msbuild/2003";
            task.Prefix      = "n";
            Assert.IsTrue(task.Execute(), "Execute failed.");
            Assert.AreEqual("False", task.Value);
        }
        public void NDocExecute()
        {
            string prjRootPath = TaskUtility.GetProjectRootDirectory(true);
            string workingDir  = Path.Combine(prjRootPath, @"Documentation");

            NDoc task = new NDoc();

            task.BuildEngine      = new MockBuild();
            task.ToolPath         = Path.Combine(workingDir, "ndoc");
            task.ProjectFilePath  = Path.Combine(workingDir, @"MSBuild.Community.Tasks.ndoc");
            task.WorkingDirectory = workingDir;
            task.Documenter       = "XML";
            Assert.IsTrue(task.Execute(), "Execute Failed");
        }
Exemplo n.º 8
0
        public void XmlReadExecute()
        {
            XmlRead task = new XmlRead();

            task.BuildEngine = new MockBuild();
            string prjRootPath = TaskUtility.GetProjectRootDirectory(true);

            task.XmlFileName = Path.Combine(prjRootPath, @"Source\Subversion.proj");
            task.XPath       = "string(/n:Project/n:PropertyGroup/n:MSBuildCommunityTasksPath/text())";
            task.Namespace   = "http://schemas.microsoft.com/developer/msbuild/2003";
            task.Prefix      = "n";
            Assert.IsTrue(task.Execute(), "Execute Failed");

            task.XPath = "/n:Project/n:Target/@Name";
            Assert.IsTrue(task.Execute(), "Execute Failed");
        }
Exemplo n.º 9
0
        public void GetSolutionProjects()
        {
            GetSolutionProjects task = new GetSolutionProjects();

            task.BuildEngine = new MockBuild();
            task.Solution    = Path.Combine(TaskUtility.GetProjectRootDirectory(true), @"Source\MSBuild.Community.Tasks.Tests\Solution\TestSolution.sln");

            Assert.IsTrue(task.Execute());

            ITaskItem[] items = task.Output;
            string      expectedProjectPath;
            string      actualProjectPath;
            string      expectedProjectName;
            string      actualProjectName;

            Assert.AreEqual(4, items.Length);
            for (int i = 0; i < 3; i++)
            {
                expectedProjectPath = string.Format("TestProject{0}\\TestProject{0}.csproj", i + 1);
                actualProjectPath   = items[i].GetMetadata("ProjectPath");
                expectedProjectName = string.Format("TestProject{0}", i + 1);
                actualProjectName   = items[i].GetMetadata("ProjectName");

                Assert.AreEqual(expectedProjectPath, actualProjectPath);
                Assert.AreEqual(expectedProjectName, actualProjectName);
            }

            //Added test to check handling of projects with spaces in the name
            expectedProjectPath = "Test Project4\\Test Project4.csproj";
            actualProjectPath   = items[3].GetMetadata("ProjectPath");
            expectedProjectName = "Test Project4";
            actualProjectName   = items[3].GetMetadata("ProjectName");

            Assert.AreEqual(expectedProjectPath, actualProjectPath);
            Assert.AreEqual(expectedProjectName, actualProjectName);

            //Added test for reading the GUID attribute
            string expectedGUID = "{D6CFCEDB-15CF-4EB6-87FB-8A5113727718}";
            string actualGUID   = items[3].GetMetadata("ProjectGUID");

            Assert.AreEqual(expectedGUID, actualGUID);
        }
Exemplo n.º 10
0
        public void The_item_spec_will_contain_the_full_path_to_the_project_file()
        {
            GetSolutionProjects task = new GetSolutionProjects();

            task.BuildEngine = new MockBuild();
            string msbuildProjectDirectory = TaskUtility.GetProjectRootDirectory(true);
            string solutionDirectory       = Path.Combine(msbuildProjectDirectory, @"Source\MSBuild.Community.Tasks.Tests\Solution");

            task.Solution = Path.Combine(solutionDirectory, @"TestSolution.sln");
            Assert.IsTrue(task.Execute());
            ITaskItem[] items = task.Output;

            // Make sure the test .sln file is setup the way we expect
            string projectEntryInSolutionFile = @"TestProject1\TestProject1.csproj";

            Assert.AreEqual(projectEntryInSolutionFile, items[0].GetMetadata("ProjectPath"), "The TestSolution.sln file has changed since this test was written. Please fix the file or this test so that the expectations are in synch.");

            string expectedFullPathToProjectFile = Path.Combine(solutionDirectory, projectEntryInSolutionFile);

            Assert.AreEqual(expectedFullPathToProjectFile, items[0].ItemSpec, "The ItemSpec should contain the full path to the contained project file.");
        }
Exemplo n.º 11
0
        public void ZipExecuteWithEmptyFolders()
        {
            var task = new Zip();

            task.BuildEngine = new MockBuild();

            string testDir     = TaskUtility.TestDirectory;
            string prjRootPath = TaskUtility.GetProjectRootDirectory(true);

            string workingDir = Path.Combine(prjRootPath, @"Source\MSBuild.Community.Tasks.Tests");

            string[] files                 = Directory.GetFiles(workingDir, "*.*", SearchOption.TopDirectoryOnly);
            string[] directories           = Directory.GetDirectories(workingDir, "*.*", SearchOption.TopDirectoryOnly);
            string[] filesFromXmlDirectory = new string[0]; //Directory.GetFiles(workingDir + "\\" + "Xml", "*.*", SearchOption.TopDirectoryOnly);

            var filesAndDirectories = new string[files.Length + directories.Length + filesFromXmlDirectory.Length];


            files.CopyTo(filesAndDirectories, 0);
            directories.CopyTo(filesAndDirectories, files.Length + filesFromXmlDirectory.Length);
            filesFromXmlDirectory.CopyTo(filesAndDirectories, files.Length);

            TaskItem[] items = TaskUtility.StringArrayToItemArray(filesAndDirectories);

            task.Files            = items;
            task.WorkingDirectory = workingDir;
            task.ZipFileName      = Path.Combine(testDir, ZIP_WITH_FOLDERS_FILE_NAME);

            if (File.Exists(task.ZipFileName))
            {
                File.Delete(task.ZipFileName);
            }

            Assert.IsTrue(task.Execute(), "Execute Failed");
            Assert.IsTrue(File.Exists(task.ZipFileName), "Zip file not found");
        }
Exemplo n.º 12
0
 public XmlUpdateTest()
 {
     prjRootPath = TaskUtility.GetProjectRootDirectory(true);
     testFile    = Path.Combine(prjRootPath, @"Source\Test\Subversion.proj");
 }