/// <summary> /// Returns the text to use as a replacement. /// </summary> /// <param name="textBox">Target text box.</param> /// <param name="parameter">Text data to insert.</param> /// <returns>Indented text to use as a replacement.</returns> protected override string GetText(TextBox textBox, object parameter) { return parameter == null ? null : ApplyIndentation(parameter.ToString(), GetIndentation(textBox.GetLineText(textBox.GetLineIndexFromCharacterIndex(textBox.CaretIndex)))); }
public void TextBoxGetLineIndexFromCharacterIndexTest() { TextBox textBox = new TextBox { Text = TestText }; Assert.AreEqual(-1, textBox.GetCharacterIndexFromLineIndex(-1)); Assert.AreEqual(-1, textBox.GetCharacterIndexFromLineIndex(20)); Assert.AreEqual(0, textBox.GetLineIndexFromCharacterIndex(TestText.IndexOf("0"))); Assert.AreEqual(0, textBox.GetLineIndexFromCharacterIndex(TestText.IndexOf("1"))); Assert.AreEqual(0, textBox.GetLineIndexFromCharacterIndex(TestText.IndexOf("2"))); Assert.AreEqual(0, textBox.GetLineIndexFromCharacterIndex(TestText.IndexOf("2") + 1)); Assert.AreEqual(0, textBox.GetLineIndexFromCharacterIndex(TestText.IndexOf("2") + 2)); Assert.AreEqual(1, textBox.GetLineIndexFromCharacterIndex(TestText.IndexOf("3"))); Assert.AreEqual(1, textBox.GetLineIndexFromCharacterIndex(TestText.IndexOf("4"))); Assert.AreEqual(1, textBox.GetLineIndexFromCharacterIndex(TestText.IndexOf("5"))); Assert.AreEqual(1, textBox.GetLineIndexFromCharacterIndex(TestText.IndexOf("6"))); Assert.AreEqual(2, textBox.GetLineIndexFromCharacterIndex(TestText.IndexOf("7"))); Assert.AreEqual(4, textBox.GetLineIndexFromCharacterIndex(TestText.IndexOf("8"))); Assert.AreEqual(4, textBox.GetLineIndexFromCharacterIndex(TestText.IndexOf("9"))); }