/// <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))));
 }
Esempio n. 2
0
 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")));
 }