Esempio n. 1
0
        private void TitleAddCommandExecute(object obj)
        {
            var newItem = new TitleReplacement();

            TitleReplacements.Add(newItem);
            TitleReplacementView.MoveCurrentTo(newItem);
        }
Esempio n. 2
0
        protected void UpgradeToImprovedRegexTitleReplacements(string titleReplacementPath)
        {
            if (int.TryParse(Data.GetValue($@"{titleReplacementPath}\numClasses"), out var replacementCount))
            {
                for (var i = 0; i < replacementCount; i++)
                {
                    string section = $"{titleReplacementPath}\\{i}\\";

                    var replacement = new TitleReplacement();
                    replacement.ReadValues(Data, section);

                    if (replacement.ReplacementType == ReplacementType.RegEx)
                    {
                        continue;
                    }

                    if (String.IsNullOrEmpty(replacement.Replace))
                    {
                        continue;
                    }

                    replacement.ReplacementType = ReplacementType.RegEx;
                    replacement.Search          = Regex.Escape(replacement.Search);
                    replacement.Replace         = Regex.Escape(replacement.Replace);

                    replacement.StoreValues(Data, section);
                }
            }
        }
        public void Execute(object parameter)
        {
            var titleReplacement = new TitleReplacement();
            var editTitleReplacementInteraction = new TitleReplacementEditInteraction(titleReplacement);

            _interactionRequest.Raise(editTitleReplacementInteraction, AddInteractionCallback);
        }
Esempio n. 4
0
        private string ReplaceTitle(TitleReplacement titleReplacement, string title)
        {
            if (string.IsNullOrEmpty(titleReplacement.Search))
            {
                return(title);
            }

            switch (titleReplacement.ReplacementType)
            {
            case ReplacementType.RegEx:
                title = Regex.Replace(title, titleReplacement.Search, titleReplacement.Replace);
                break;

            case ReplacementType.Start:
                if (title.StartsWith(titleReplacement.Search, StringComparison.InvariantCultureIgnoreCase))
                {
                    title = title.Substring(titleReplacement.Search.Length);
                }
                break;

            case ReplacementType.End:
                if (title.EndsWith(titleReplacement.Search, StringComparison.InvariantCultureIgnoreCase))
                {
                    title = title.Substring(0, title.LastIndexOf(titleReplacement.Search, StringComparison.InvariantCultureIgnoreCase));
                }
                break;

            case ReplacementType.Replace:
            default:
                title = title.Replace(titleReplacement.Search, "", StringComparison.InvariantCultureIgnoreCase);
                break;
            }

            return(title);
        }
Esempio n. 5
0
        private void ApplyV7TitleReplacements()
        {
            int replacementCount;

            if (int.TryParse(Data.GetValue(@"ApplicationSettings\TitleReplacement\numClasses"), out replacementCount))
            {
                for (var i = 0; i < replacementCount; i++)
                {
                    string section = $"ApplicationSettings\\TitleReplacement\\{i}\\";

                    var replacement = new TitleReplacement();
                    replacement.ReadValues(Data, section);

                    if (replacement.ReplacementType == ReplacementType.RegEx)
                    {
                        continue;
                    }

                    if (String.IsNullOrEmpty(replacement.Replace))
                    {
                        continue;
                    }

                    replacement.ReplacementType = ReplacementType.RegEx;
                    replacement.Search          = Regex.Escape(replacement.Search);
                    replacement.Replace         = Regex.Escape(replacement.Replace);

                    replacement.StoreValues(Data, section);
                }
            }
        }
        public void Execute_RunFailedInteractionWithTitleReplacement()
        {
            _interactionRequest.RegisterInteractionHandler <TitleReplacementEditInteraction>(i =>
            {
                i.Success = false; //User cancels
            });

            var titleReplacement       = new TitleReplacement();
            var titleReplacementSearch = "searchText";

            titleReplacement.Search = titleReplacementSearch;
            var titleReplacementReplace = "replaceText";

            titleReplacement.Replace         = titleReplacementReplace;
            titleReplacement.ReplacementType = ReplacementType.RegEx;

            _command.Execute(titleReplacement);

            var titleReplacementEditInteraction = _interactionRequest.AssertWasRaised <TitleReplacementEditInteraction>();

            Assert.AreSame(titleReplacementEditInteraction.Replacement, titleReplacement);
        }
Esempio n. 7
0
 public void AddReplacement(TitleReplacement titleReplacement)
 {
     _replacements.Add(titleReplacement);
 }
Esempio n. 8
0
        public void TitleReplacement_WithValidRegEx_IsValid(string search, string replace)
        {
            var replacement = new TitleReplacement(ReplacementType.RegEx, search, replace);

            Assert.IsTrue(replacement.IsValid());
        }
Esempio n. 9
0
        public void TitleReplacement_(string search, string replace)
        {
            var replacement = new TitleReplacement(ReplacementType.RegEx, search, replace);

            Assert.IsFalse(replacement.IsValid());
        }
Esempio n. 10
0
        public void TitleReplacement_WithEmptySearch_IsNotValid(ReplacementType type)
        {
            var replacement = new TitleReplacement(type, "", "");

            Assert.IsFalse(replacement.IsValid());
        }
Esempio n. 11
0
 public TitleReplacementEditInteraction(TitleReplacement replacement)
 {
     Replacement = replacement;
 }