public void ExceptionTest() { var unixPath = @"/usr/local/teamcity-agent/work/6c86e2555ed64afc/Lx.Tools/Lx.Tools.Projects/Lx.Tools.Projects.Tests/bin/Debug"; var winPath = @"C:\usr\local\teamcity-agent\work\6c86e2555ed64afc\Lx.Tools\Lx.Tools.Projects\Lx.Tools.Projects.Tests\bin\Debug\..\..\Lx.Tools.Projects.Tests.csproj"; var dumper = new SourceDumper(unixPath, new HashSet<Option> {SourceDumperOptions.RelativePaths}); var res = dumper.Dump(new List<string> {winPath}).ToArray(); Assert.IsNotNull(res); Assert.AreEqual(1, res.Count()); Assert.AreEqual(winPath, res.FirstOrDefault()); }
protected override void InnerRun(HashSet<Option> options, string[] args) { foreach (var file in args) { if (file == null) continue; Project project; if (IsNotCsproj(file, out project)) { _console.Error.WriteLine(file + " is not a valid csproj. Ignored"); continue; } var directory = Path.GetDirectoryName(file); var sourceDumper = new SourceDumper(directory, options); var projectItems = project.GetItems("Compile").Select(x => x.EvaluatedInclude); var items = sourceDumper.Dump(projectItems); var fileName = Path.GetFileNameWithoutExtension(file); var newFile = fileName + ".dll.sources"; using ( var writer = (options.Contains(SourceDumperOptions.OutputFile)) ? _factory.CreateFileWriter(Path.Combine(directory, newFile)) : _factory.CreateConsoleWriter()) { foreach (var item in items) { writer.WriteLine(item); } } } Exit(0); }
public void TestWinPaths() { var dumper = new SourceDumper(_curDir, new HashSet<Option> {SourceDumperOptions.WindowsPaths}); var result = dumper.Dump(new List<string> {@"..\winfile.cs", "../unixfile.cs", _windowsRooted, _unixRooted}).ToList(); Assert.IsNotNull(result); Assert.IsNotEmpty(result); Assert.AreEqual(@"..\winfile.cs", result[0]); Assert.AreEqual(@"..\unixfile.cs", result[1]); Assert.AreEqual(_windowsRooted, result[2]); Assert.AreEqual(_unixRooted.Replace('/', '\\'), result[3]); }
public void TestRelativePathsOnWindows() { var winRelative = @"..\..\Lx.csproj"; var winRooted = Path.Combine(_windowsRooted, winRelative); var dumper = new SourceDumper(_curDir, new HashSet<Option> {SourceDumperOptions.RelativePaths}); var result = dumper.Dump(new List<string> {winRelative, winRooted}).ToList(); Assert.IsNotNull(result); Assert.IsNotEmpty(result); Assert.AreEqual(2, result.Count); Assert.AreEqual(winRelative.Replace('\\', Path.DirectorySeparatorChar), result[0], "1: For " + winRelative); Assert.AreEqual(winRelative.Replace('\\', Path.DirectorySeparatorChar), result[1], "2: For " + winRooted); }
public void TestRelativePathsOnUnix() { var unixRelative = "../../Lx.csproj"; var unixRooted = Path.Combine(_unixRooted, unixRelative); var dumper = new SourceDumper(_unixRooted, new HashSet<Option> {SourceDumperOptions.RelativePaths}); var result = dumper.Dump(new List<string> {unixRelative, unixRooted}).ToList(); Assert.IsNotNull(result); Assert.IsNotEmpty(result); Assert.AreEqual(unixRelative.Replace('/', Path.DirectorySeparatorChar), result[0], "1: For " + unixRelative); Assert.AreEqual(unixRelative.Replace('/', Path.DirectorySeparatorChar), result[1], "2: For " + unixRooted); }
public void TestNoOption() { var dumper = new SourceDumper(_curDir, new HashSet<Option>()); var result = dumper.Dump(new List<string> {"file1.cs", "file2.cs"}).ToList(); Assert.IsNotNull(result); Assert.IsNotEmpty(result); Assert.AreEqual(2, result.Count); Assert.AreEqual("file1.cs", result[0]); Assert.AreEqual("file2.cs", result[1]); }
public void TestAbsolutePaths() { var winFile = @"..\winfile.cs"; var unixfile = @"../unixfile.cs"; _fileSystem.Setup(x => x.ResolvePath(winFile)).Returns((string) null); _fileSystem.Setup(x => x.ResolvePath(unixfile)).Returns((string) null); var dumper = new SourceDumper(_curDir, new HashSet<Option> {SourceDumperOptions.AbsolutePaths}); var result = dumper.Dump(new List<string> {@"..\winfile.cs", "../unixfile.cs", _windowsRooted, _unixRooted}).ToList(); Assert.IsNotNull(result); Assert.IsNotEmpty(result); Assert.AreEqual(winFile, result[0]); Assert.AreEqual(unixfile, result[1]); Assert.AreEqual(_windowsRooted, result[2]); Assert.AreEqual(_unixRooted, result[3]); }