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"); }
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"); }
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; }
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")); }
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")); } }
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"); }
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"); }
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); }
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."); }
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"); }
public XmlUpdateTest() { prjRootPath = TaskUtility.GetProjectRootDirectory(true); testFile = Path.Combine(prjRootPath, @"Source\Test\Subversion.proj"); }