Beispiel #1
0
        private void RecycleAllowedWordListFile(string fileName)
        {
            var folderPath   = Path.Combine(Path.GetDirectoryName(CurrentBook.CollectionSettings.SettingsFilePath), "Allowed Words");
            var fullFileName = Path.Combine(folderPath, fileName);

            if (RobustFile.Exists(fullFileName))
            {
                PathUtilities.DeleteToRecycleBin(fullFileName);
            }
        }
        public void DeleteToRecycleBin_NonexistingFileReturnsFalse()
        {
            // Setup
            var file = Path.Combine(Path.GetTempPath(), Path.GetRandomFileName());

            // Exercise
            var result = PathUtilities.DeleteToRecycleBin(file);

            // Verify
            Assert.That(result, Is.False);
        }
        public void DeleteToRecycleBin_FileDeleted()
        {
            // Setup
            var file = Path.GetTempFileName();

            // Exercise
            var result = PathUtilities.DeleteToRecycleBin(file);

            // Verify
            Assert.That(result, Is.True);
            Assert.That(File.Exists(file), Is.False);
        }
Beispiel #4
0
 /// <summary>
 /// Actually do the move of a file/directory to the recycleBin
 /// </summary>
 /// <param name="path"></param>
 /// <returns>true if it succeed.</returns>
 public static bool Recycle(string path)
 {
     try
     {
         return(PathUtilities.DeleteToRecycleBin(path));
     }
     catch (Exception exception)
     {
         Palaso.Reporting.ErrorReport.NotifyUserOfProblem(exception,
                                                          "Could not delete file or directory {0}.", path);
         return(false);
     }
 }
        public void DeleteToRecycleBin_DirectoryDeleted()
        {
            // Setup
            var dir = Path.Combine(Path.GetTempPath(), Path.GetRandomFileName());

            Directory.CreateDirectory(dir);

            var file = Path.Combine(dir, Path.GetRandomFileName());

            File.WriteAllText(file, "Some content");

            // Exercise
            var result = PathUtilities.DeleteToRecycleBin(dir);

            // Verify
            Assert.That(result, Is.True);
            Assert.That(File.Exists(file), Is.False);
            Assert.That(Directory.Exists(dir), Is.False);
        }
        public void DeleteToRecycleBin_MovedToTrashBin()
        {
            // Setup
            var file    = Path.GetTempFileName();
            var content = Guid.NewGuid().ToString();

            File.WriteAllText(file, content);

            // Exercise
            var result = PathUtilities.DeleteToRecycleBin(file);

            // Verify
            Assert.That(result, Is.True);
            var trashBinPath = Path.Combine(
                Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData),
                "Trash");

            var trashedFile = GetTrashedFileName(trashBinPath, file);

            using (TempFile.TrackExisting(trashedFile))
            {
                Assert.That(File.Exists(trashedFile), Is.True);
                Assert.That(File.ReadAllText(trashedFile), Is.EqualTo(content));

                var metaFile = Path.Combine(trashBinPath, "info", Path.GetFileName(trashedFile) + ".trashinfo");
                using (TempFile.TrackExisting(metaFile))
                {
                    Assert.That(File.Exists(metaFile), Is.True);

                    var metaFileContent = File.ReadAllText(metaFile);
                    var lines           = metaFileContent.Split('\n');
                    Assert.That(lines.Length, Is.GreaterThanOrEqualTo(3));
                    Assert.That(lines[0], Is.EqualTo("[Trash Info]"));
                    Assert.That(lines[1], Is.StringStarting("Path="));
                    Assert.That(lines[1], Is.StringEnding(file));
                    Assert.That(lines[2], Is.StringMatching(@"DeletionDate=\d\d\d\d\d\d\d\dT\d\d:\d\d:\d\d"));
                }
            }
        }