TextBoxTest.cs 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202
  1. //
  2. // Copyright (c) 2005 Novell, Inc.
  3. //
  4. // Authors:
  5. // Ritvik Mayank ([email protected])
  6. //
  7. using System;
  8. using System.Windows.Forms;
  9. using System.Drawing;
  10. using System.Reflection;
  11. using NUnit.Framework;
  12. namespace MonoTests.System.Windows.Forms
  13. {
  14. [TestFixture]
  15. public class TextBoxBaseTest
  16. {
  17. TextBox textBox;
  18. [SetUp]
  19. public void SetUp()
  20. {
  21. textBox = new TextBox();
  22. }
  23. [Test]
  24. public void TextBoxBasePropertyTest ()
  25. {
  26. Assert.AreEqual (false, textBox.AcceptsTab, "#1a");
  27. textBox.Multiline = true;
  28. textBox.AcceptsTab = true;
  29. SendKeys.SendWait ("^%");
  30. Assert.AreEqual (true, textBox.AcceptsTab, "#1b");
  31. Assert.AreEqual (true, textBox.AutoSize, "#2");
  32. Assert.AreEqual ("Window", textBox.BackColor.Name, "#3a");
  33. textBox.BackColor = Color.White;
  34. Assert.AreEqual ("White", textBox.BackColor.Name, "#3b");
  35. Assert.AreEqual (null, textBox.BackgroundImage, "#4a");
  36. string gif = "M.gif";
  37. textBox.BackgroundImage = Image.FromFile (gif);
  38. // comparing image objects fails on MS .Net so using Size property
  39. Assert.AreEqual (Image.FromFile(gif, true).Size, textBox.BackgroundImage.Size, "#4b");
  40. Assert.AreEqual (BorderStyle.Fixed3D, textBox.BorderStyle, "#5");
  41. Assert.AreEqual (false, textBox.CanUndo, "#6a");
  42. textBox.Paste ();
  43. Assert.AreEqual (true, textBox.CanUndo, "#6b");
  44. textBox.ClearUndo ();
  45. Assert.AreEqual (false, textBox.CanUndo, "#6c");
  46. Assert.AreEqual ("WindowText", textBox.ForeColor.Name, "#7");
  47. Assert.AreEqual (true, textBox.HideSelection, "#8");
  48. Assert.AreEqual (1, textBox.Lines.Length, "#9");
  49. Assert.AreEqual (32767, textBox.MaxLength, "#10");
  50. Assert.AreEqual (true, textBox.Modified, "#11");
  51. Assert.AreEqual (true, textBox.Multiline, "#12a");
  52. textBox.WordWrap = false;
  53. Assert.AreEqual (true, textBox.Multiline, "#12b");
  54. textBox.AcceptsReturn = true;
  55. Assert.AreEqual (true, textBox.Multiline, "#12c");
  56. Assert.AreEqual (20, textBox.PreferredHeight, "#13");
  57. Assert.AreEqual (false, textBox.ReadOnly, "#14");
  58. Assert.AreEqual ("", textBox.SelectedText, "#15");
  59. textBox.Text = "sample TextBox";
  60. Assert.AreEqual (0, textBox.SelectionLength, "#16b");
  61. Assert.AreEqual (0, textBox.SelectionStart, "#17");
  62. textBox.WordWrap = false;
  63. textBox.AcceptsReturn = true;
  64. Assert.AreEqual ("sample TextBox", textBox.Text, "#18");
  65. Assert.AreEqual (14, textBox.TextLength, "#19");
  66. Assert.AreEqual (false, textBox.WordWrap, "#20");
  67. }
  68. [Test]
  69. public void TextBoxPropertyTest ()
  70. {
  71. Assert.AreEqual (false, textBox.AcceptsReturn, "#21");
  72. Assert.AreEqual (CharacterCasing.Normal, textBox.CharacterCasing, "#22");
  73. Assert.AreEqual ('\0', textBox.PasswordChar, "#23");
  74. textBox.PasswordChar = '*';
  75. Assert.AreEqual ('*', textBox.PasswordChar, "#23b");
  76. Assert.AreEqual (ScrollBars.None, textBox.ScrollBars, "#24");
  77. Assert.AreEqual (-1, textBox.SelectionLength, "#25");
  78. Assert.AreEqual (HorizontalAlignment.Left , textBox.TextAlign, "#26");
  79. }
  80. #if NET_2_0
  81. [Test]
  82. public void UseSystemPasswordCharDefault()
  83. {
  84. Assert.IsFalse(textBox.UseSystemPasswordChar);
  85. }
  86. [Test]
  87. public void UseSystemPasswordCharOverridesPasswordChar()
  88. {
  89. textBox.PasswordChar = '!';
  90. textBox.UseSystemPasswordChar = true;
  91. Assert.AreEqual('*', textBox.PasswordChar);
  92. }
  93. #endif
  94. [Test]
  95. public void AppendTextTest ()
  96. {
  97. Form f = new Form ();
  98. f.Visible = true;
  99. textBox.Visible = true;
  100. textBox.Text = "TextBox1";
  101. TextBox textBox2 = new TextBox ();
  102. textBox2.Visible = true;
  103. f.Controls.Add (textBox);
  104. f.Controls.Add (textBox2);
  105. textBox2.AppendText (textBox.Text);
  106. Assert.AreEqual ("TextBox1", textBox2.Text, "#27");
  107. }
  108. [Test]
  109. public void ClearTest ()
  110. {
  111. textBox.Text = "TextBox1";
  112. Assert.AreEqual ("TextBox1", textBox.Text, "#28a" );
  113. textBox.Clear ();
  114. Assert.AreEqual ("", textBox.Text, "#28b");
  115. }
  116. [Test]
  117. public void ClearUndoTest ()
  118. {
  119. textBox.Text = "TextBox1";
  120. textBox.SelectionLength = 4;
  121. textBox.Copy ();
  122. Assert.AreEqual ("Text", textBox.SelectedText, "#29a");
  123. textBox.Paste ();
  124. Assert.AreEqual (true, textBox.CanUndo, "#29b");
  125. textBox.ClearUndo ();
  126. Assert.AreEqual (false, textBox.CanUndo, "#29c");
  127. }
  128. [Test]
  129. public void CopyTest ()
  130. {
  131. textBox.Text = "ABCDE";
  132. textBox.SelectionLength = 4;
  133. textBox.Copy ();
  134. Assert.AreEqual ("ABCD", textBox.SelectedText, "#30");
  135. }
  136. [Test]
  137. public void CutTest ()
  138. {
  139. textBox.Text = "ABCDE";
  140. textBox.SelectionLength = 4;
  141. textBox.Cut ();
  142. Assert.AreEqual ("E", textBox.Text, "#31");
  143. }
  144. [Test]
  145. public void PasteTest ()
  146. {
  147. textBox.Text = "ABCDE";
  148. textBox.SelectionLength = 4;
  149. textBox.SelectionStart = textBox.SelectionStart + textBox.SelectionLength;
  150. textBox.Paste ();
  151. Assert.AreEqual ("ABCDABCD", textBox.Text, "#32");
  152. }
  153. [Test]
  154. public void SelectTest ()
  155. {
  156. textBox.Text = "This is a sample test.";
  157. textBox.Select (0, 4);
  158. Assert.AreEqual ("This", textBox.SelectedText, "#33");
  159. }
  160. [Test]
  161. public void SelectAllTest ()
  162. {
  163. textBox.Text = "This is a sample test.";
  164. textBox.SelectAll ();
  165. Assert.AreEqual ("This is a sample test.", textBox.SelectedText, "#34");
  166. }
  167. [Test]
  168. public void ToStringTest ()
  169. {
  170. Assert.AreEqual ("System.Windows.Forms.TextBox, Text: ", textBox.ToString(), "#35");
  171. }
  172. [Test]
  173. public void UndoTest1 ()
  174. {
  175. textBox.Text = "ABCDE";
  176. textBox.SelectionLength = 4;
  177. textBox.Copy ();
  178. textBox.SelectionStart = textBox.SelectionStart + textBox.SelectionLength;
  179. textBox.Paste ();
  180. textBox.Undo ();
  181. Assert.AreEqual ("ABCDE", textBox.Text, "#36");
  182. }
  183. }
  184. }