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); }
public void DataListUtil_EndsWithClosingTags_VariableHasClosingTags_True() { //------------Execute Test--------------------------- var isClosed = DataListUtil.EndsWithClosingTags("[[var]]"); //------------Assert Results------------------------- Assert.IsTrue(isClosed); }
public void DataListUtil_EndsWithClosingTags_VariableIsEmpty_False() { //------------Execute Test--------------------------- var isClosed = DataListUtil.EndsWithClosingTags(""); //------------Assert Results------------------------- Assert.IsFalse(isClosed); }