Beispiel #1
0
        public void LoadDiffMergeToolConfig_should_load_tool_config_if_tool_registered()
        {
            var tool = new SemanticMerge();

            var toolPath = @"c:\some\path\to the tool\MyTool.exe";

            _fileSettings.GetValue($"mergetool.{tool.Name}.path").Returns(toolPath);
            _configurationManager = new DiffMergeToolConfigurationManager(() => _fileSettings, FindFileInFolders);

            var config = _configurationManager.LoadDiffMergeToolConfig(tool.Name, null);

            config.Should().NotBeNull();
            config.ExeFileName.Should().Be(tool.ExeFileName);
            config.Path.Should().Be(toolPath.ToPosixPath());
            config.DiffCommand.Should().Be(tool.DiffCommand);
            config.MergeCommand.Should().Be(tool.MergeCommand);

            return;

            string FindFileInFolders(string fileName, IEnumerable <string> folders)
            {
                folders.Should().BeEquivalentTo(new[] { toolPath }.Union(tool.SearchPaths));
                return(toolPath);
            }
        }
Beispiel #2
0
        public void Setup()
        {
            _fileSettings = Substitute.For <IConfigValueStore>();

            _configurationManager = new DiffMergeToolConfigurationManager(() => _fileSettings);

            _fileSettings.GetValue(_configurationManager.GetTestAccessor().DiffToolKey).Returns(DiffToolName);
            _fileSettings.GetValue(_configurationManager.GetTestAccessor().MergeToolKey).Returns(MergeToolName);
        }
        public bool CheckSettings()
        {
            _diffMergeToolConfigurationManager = new DiffMergeToolConfigurationManager(() => CheckSettingsLogic.CommonLogic.ConfigFileSettingsSet.EffectiveSettings);

            var isValid = PerformChecks();

            CheckAtStartup.Checked = IsCheckAtStartupChecked(isValid);
            return(isValid);

            bool PerformChecks()
            {
                bool result = true;

                foreach (var func in CheckFuncs())
                {
                    try
                    {
                        result &= func();
                    }
                    catch (Exception e)
                    {
                        MessageBox.Show(this, e.Message, Strings.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }

                return(result);

                IEnumerable <Func <bool> > CheckFuncs()
                {
                    yield return(CheckGitCmdValid);

                    yield return(CheckGlobalUserSettingsValid);

                    yield return(CheckEditorTool);

                    yield return(CheckMergeTool);

                    yield return(CheckDiffToolConfiguration);

                    yield return(CheckTranslationConfigSettings);

                    if (EnvUtils.RunningOnWindows())
                    {
                        yield return(CheckGitExtensionsInstall);

                        yield return(CheckGitExtensionRegistrySettings);

                        yield return(CheckGitExe);

                        yield return(CheckSSHSettings);

                        yield return(CheckGitCredentialWinStore);
                    }
                }
            }
        }
Beispiel #4
0
        public void Setup()
        {
            _fileSettings = Substitute.For <IConfigValueStore>();

            _configurationManager = new DiffMergeToolConfigurationManager(() => _fileSettings);

            _fileSettings.GetValue(SettingKeyString.DiffToolKey).Returns(DiffToolName);
            _fileSettings.GetValue(SettingKeyString.MergeToolKey).Returns(MergeToolName);
            _fileSettings.GetValue(SettingKeyString.MergeToolNoGuiKey).Returns(MergeToolNameNoGui);
        }
        protected override void Init(ISettingsPageHost pageHost)
        {
            base.Init(pageHost);

            _diffMergeToolConfigurationManager = new DiffMergeToolConfigurationManager(() => CurrentSettings);

            CommonLogic.FillEncodings(Global_FilesEncoding);

            GlobalEditor.Items.AddRange(EditorHelper.GetEditors());
        }
 public TestAccessor(DiffMergeToolConfigurationManager manager)
 {
     _manager = manager;
 }