public void RemoveDirectoryWithDSStoreFileSucceeds() { string path = Path.Combine(TemporaryDirectory, "dir"); Directory.CreateDirectory(path); WriteFile(PathGeneratorUtilities.GetRelativePath("dir", FileSystemUnix.DsStoreMetaFileName), string.Empty); WriteFile(PathGeneratorUtilities.GetRelativePath("dir", "someFile"), string.Empty); try { FileUtilities.DeleteDirectoryContents(path, deleteRootDirectory: true); } #pragma warning disable ERP022 // Unobserved exception in generic exception handler catch { // Deleting a directory should enumerate the .DS_Store files and delete them too Assert.True(false); } #pragma warning restore ERP022 // Unobserved exception in generic exception handler }
public void EnumerationIndicatesDirectories() { string path = Path.Combine(TemporaryDirectory, "dir"); Directory.CreateDirectory(path); Directory.CreateDirectory(GetFullPath(PathGeneratorUtilities.GetRelativePath("dir", "childDir"))); Directory.CreateDirectory(GetFullPath(PathGeneratorUtilities.GetRelativePath("dir", "childDir2"))); var names = new List <string>(); EnumerateDirectoryResult result = FileUtilities.EnumerateDirectoryEntries( path, (name, attr) => { XAssert.IsTrue((attr & FileAttributes.Directory) != 0, "All children are directories."); names.Add(name); }); XAssert.IsTrue(result.Succeeded); XAssert.AreEqual(EnumerateDirectoryStatus.Success, result.Status); Assert.Equal(new[] { "childDir", "childDir2" }, names); }
public void EnumerationSkipsDSStoreFiles() { string path = Path.Combine(TemporaryDirectory, "dir"); Directory.CreateDirectory(path); WriteFile(PathGeneratorUtilities.GetRelativePath("dir", FileSystemUnix.DsStoreMetaFileName), string.Empty); WriteFile(PathGeneratorUtilities.GetRelativePath("dir", "someFile"), string.Empty); var names = new List <string>(); // Plain enumeration should NOT include .DS_Store meta files var result = FileUtilities.EnumerateDirectoryEntries( path, (name, attr) => { XAssert.IsTrue((attr & FileAttributes.Directory) == 0, "All children are files."); names.Add(name); }); XAssert.IsTrue(result.Succeeded); XAssert.AreEqual(EnumerateDirectoryStatus.Success, result.Status); XAssert.SetEqual(new[] { "someFile" }, names); }
public void NormalizesExtraSeparators() { Assert.Equal(PathGeneratorUtilities.GetRelativePath("some", "dir", "file.txt"), new RelativePath(@"some\\\dir//file.txt").Path); }
public void ConvertsBackSlash() { Assert.Equal(PathGeneratorUtilities.GetRelativePath("some", "dir", "file.txt"), new RelativePath(@"some\dir\file.txt").Path); }
public void ConvertsForwardSlash() { Assert.Equal(PathGeneratorUtilities.GetRelativePath("some", "dir", "file.txt"), new RelativePath("some/dir/file.txt").Path); }
public void Succeeds() { string expected = PathGeneratorUtilities.GetRelativePath(Constants.ValidLevelOneRelativePath, "segment"); Assert.Equal(expected, new RelativePath(Constants.ValidLevelOneRelativePath).ConcatenateWith <RelativePath>("segment").Path); }