Esempio n. 1
0
        public void DirectoryWithTrailingSeparators(string trailing)
        {
            // When getting strings back we should retain the root path as specified for Directory.
            // DirectoryInfo returns the normalized full path in all cases.

            // Add the trailing separator up front for Directory as we want to validate against
            // the path _with_ the separator on it. Creation doesn't care about trailing, and
            // Path.Combine doesn't change the existing separators, it just adds the canonical
            // separator if needed.
            string root         = GetTestFilePath() + (IsDirectoryInfo ? "" : trailing);
            string rootFile     = Path.Combine(root, GetTestFileName());
            string subDirectory = Path.Combine(root, GetTestFileName());
            string nestedFile   = Path.Combine(subDirectory, GetTestFileName());

            Directory.CreateDirectory(subDirectory);
            File.Create(rootFile).Dispose();
            File.Create(nestedFile).Dispose();

            // Add the trailing separator if we haven't (for DI) so we can validate that we
            // either retain (D) or don't retain (DI) the separators as we specified them.
            // Note that some of the cases actually match canonical (one standard separator)
            // so they never change.
            string[] files = GetEntries(root + (IsDirectoryInfo ? trailing : ""), "*", SearchOption.AllDirectories);
            FSAssert.EqualWhenOrdered(new string[] { rootFile, nestedFile }, files);
        }
        public void HiddenFilesAreReturned()
        {
            // Note that APIs that take EnumerationOptions do NOT find hidden files by default

            DirectoryInfo testDirectory = Directory.CreateDirectory(GetTestFilePath());
            FileInfo      fileOne       = new FileInfo(Path.Combine(testDirectory.FullName, GetTestFileName()));

            // Put a period in front to make it hidden on Unix
            FileInfo fileTwo = new FileInfo(Path.Combine(testDirectory.FullName, "." + GetTestFileName()));

            fileOne.Create().Dispose();
            fileTwo.Create().Dispose();
            if (PlatformDetection.IsWindows)
            {
                fileTwo.Attributes = fileTwo.Attributes | FileAttributes.Hidden;
            }

            if (TestFiles)
            {
                FSAssert.EqualWhenOrdered(new string[] { fileOne.FullName, fileTwo.FullName }, GetEntries(testDirectory.FullName));
            }
            else
            {
                Assert.Empty(GetEntries(testDirectory.FullName));
            }
        }
Esempio n. 3
0
        public void EnumerateDirectories_NonBreakingSpace()
        {
            DirectoryInfo rootDirectory = Directory.CreateDirectory(GetTestFilePath());
            DirectoryInfo subDirectory1 = rootDirectory.CreateSubdirectory("\u00A0");
            DirectoryInfo subDirectory2 = subDirectory1.CreateSubdirectory(GetTestFileName());

            FSAssert.EqualWhenOrdered(new string[] { subDirectory1.FullName, subDirectory2.FullName }, Directory.EnumerateDirectories(rootDirectory.FullName, string.Empty, SearchOption.AllDirectories));
        }