Example #1
0
        // The general edit row for non-detailed mod edits.
        private void EditButtons()
        {
            var buttonSize   = new Vector2(150 * ImGuiHelpers.GlobalScale, 0);
            var folderExists = Directory.Exists(_mod.ModPath.FullName);
            var tt           = folderExists
                ? $"Open \"{_mod.ModPath.FullName}\" in the file explorer of your choice."
                : $"Mod directory \"{_mod.ModPath.FullName}\" does not exist.";

            if (ImGuiUtil.DrawDisabledButton("Open Mod Directory", buttonSize, tt, !folderExists))
            {
                Process.Start(new ProcessStartInfo(_mod.ModPath.FullName)
                {
                    UseShellExecute = true
                });
            }

            ImGui.SameLine();
            if (ImGuiUtil.DrawDisabledButton("Reload Mod", buttonSize, "Reload the current mod from its files.\n"
                                             + "If the mod directory or meta file do not exist anymore or if the new mod name is empty, the mod is deleted instead.",
                                             false))
            {
                Penumbra.ModManager.ReloadMod(_mod.Index);
            }

            BackupButtons(buttonSize);
            MoveDirectory.Draw(_mod, buttonSize);

            ImGui.Dummy(_window._defaultSpace);
        }
Example #2
0
        public void MoveDirectory_DestinationDirectoryAlreadyExists_ReturnsFalse()
        {
            // Arrange
            var sut         = new MoveDirectory();
            var dummyEngine = new DummyBuildEngine();

            sut.BuildEngine          = dummyEngine;
            sut.SourceDirectory      = TestUtils.CreateTestSpecificFolderWithSubPaths(TestContext, "source");
            sut.DestinationDirectory = TestUtils.CreateTestSpecificFolderWithSubPaths(TestContext, "destination");

            // Act & Assert
            sut.Execute().Should().BeFalse();
            dummyEngine.AssertSingleErrorExists("The destination directory is invalid.");
        }
Example #3
0
        public void MoveDirectory_InvalidSourceDirectoryPath_ReturnsFalse(string sourceDirectory)
        {
            // Arrange
            var sut         = new MoveDirectory();
            var dummyEngine = new DummyBuildEngine();

            sut.BuildEngine          = dummyEngine;
            sut.SourceDirectory      = sourceDirectory;
            sut.DestinationDirectory = @"C:\SomeRandomPath\";

            // Act & Assert
            sut.Execute().Should().BeFalse();
            dummyEngine.AssertSingleErrorExists("The source directory is invalid.");
        }
Example #4
0
        public void MoveDirectory_ValidPaths_DirectoryMoved()
        {
            // Arrange
            var sut                  = new MoveDirectory();
            var sourceDirectory      = TestUtils.CreateTestSpecificFolderWithSubPaths(TestContext, "Source");
            var destinationDirectory = Path.Combine(TestUtils.CreateTestSpecificFolderWithSubPaths(TestContext), "Destination");

            TestUtils.CreateEmptyFile(sourceDirectory, "RandomFile1.txt");
            TestUtils.CreateEmptyFile(TestUtils.CreateTestSpecificFolderWithSubPaths(TestContext, "Source", "Subdirectory"), "RandomFile2.txt");
            var dummyEngine = new DummyBuildEngine();

            sut.DestinationDirectory = destinationDirectory;
            sut.SourceDirectory      = sourceDirectory;
            sut.BuildEngine          = dummyEngine;

            // Act & Assert
            sut.Execute().Should().BeTrue();
            dummyEngine.AssertNoErrors();
            File.Exists(Path.Combine(destinationDirectory, "RandomFile1.txt")).Should().BeTrue();
            File.Exists(Path.Combine(destinationDirectory, @"SubDirectory\RandomFile2.txt")).Should().BeTrue();
        }