예제 #1
0
        static string PerformResultInsertionForScalars(string input, IntellisenseProviderContext context, string replace)
        {
            int replaceStringIndex = 0;
            var inputText          = context.InputText ?? string.Empty;
            var caretPosition      = context.CaretPosition;

            IList <int> stringIndexes = inputText.AllIndexesOf(replace).ToList();

            if (stringIndexes.Count > 0)
            {
                replaceStringIndex = stringIndexes.Where(i => i < caretPosition).Max();
            }

            var region     = inputText.RegionInPostion(caretPosition);
            var regionName = region.Name ?? string.Empty;

            if (DataListUtil.EndsWithClosingTags(regionName))
            {
                var indexOfClosingBracket = DataListUtil.IndexOfClosingTags(input);
                indexOfClosingBracket = indexOfClosingBracket > 0 ? indexOfClosingBracket : 0;
                input          = input.Substring(0, indexOfClosingBracket);
                caretPosition += 2;
            }

            string updatedInputText = inputText.Remove(replaceStringIndex, replace.Length)
                                      .Insert(replaceStringIndex, input);

            context.CaretPosition = caretPosition + (updatedInputText.Length - inputText.Length);
            return(updatedInputText);
        }
예제 #2
0
        public void DataListUtil_EndsWithClosingTags_VariableHasClosingTags_True()
        {
            //------------Execute Test---------------------------
            var isClosed = DataListUtil.EndsWithClosingTags("[[var]]");

            //------------Assert Results-------------------------
            Assert.IsTrue(isClosed);
        }
예제 #3
0
        public void DataListUtil_EndsWithClosingTags_VariableIsEmpty_False()
        {
            //------------Execute Test---------------------------
            var isClosed = DataListUtil.EndsWithClosingTags("");

            //------------Assert Results-------------------------
            Assert.IsFalse(isClosed);
        }