2 // Copyright (c) 2005 Novell, Inc.
5 // Ritvik Mayank (mritvik@novell.com)
9 using System.Windows.Forms;
11 using System.Reflection;
12 using NUnit.Framework;
14 namespace MonoTests.System.Windows.Forms
17 public class TextBoxBaseTest
24 textBox = new TextBox();
28 public void TextBoxBasePropertyTest ()
30 Assert.AreEqual (false, textBox.AcceptsTab, "#1a");
31 textBox.Multiline = true;
32 textBox.AcceptsTab = true;
33 SendKeys.SendWait ("^%");
34 Assert.AreEqual (true, textBox.AcceptsTab, "#1b");
35 Assert.AreEqual (true, textBox.AutoSize, "#2");
36 Assert.AreEqual ("Window", textBox.BackColor.Name, "#3a");
37 textBox.BackColor = Color.White;
38 Assert.AreEqual ("White", textBox.BackColor.Name, "#3b");
39 Assert.AreEqual (null, textBox.BackgroundImage, "#4a");
41 textBox.BackgroundImage = Image.FromFile (gif);
42 // comparing image objects fails on MS .Net so using Size property
43 Assert.AreEqual (Image.FromFile(gif, true).Size, textBox.BackgroundImage.Size, "#4b");
45 Assert.AreEqual (BorderStyle.Fixed3D, textBox.BorderStyle, "#5");
46 Assert.AreEqual (false, textBox.CanUndo, "#6a");
48 Assert.AreEqual (true, textBox.CanUndo, "#6b");
50 Assert.AreEqual (false, textBox.CanUndo, "#6c");
51 Assert.AreEqual ("WindowText", textBox.ForeColor.Name, "#7");
52 Assert.AreEqual (true, textBox.HideSelection, "#8");
53 Assert.AreEqual (1, textBox.Lines.Length, "#9");
54 Assert.AreEqual (32767, textBox.MaxLength, "#10");
55 Assert.AreEqual (true, textBox.Modified, "#11");
56 Assert.AreEqual (true, textBox.Multiline, "#12a");
57 textBox.WordWrap = false;
58 Assert.AreEqual (true, textBox.Multiline, "#12b");
59 textBox.AcceptsReturn = true;
60 Assert.AreEqual (true, textBox.Multiline, "#12c");
61 Assert.AreEqual (20, textBox.PreferredHeight, "#13");
62 Assert.AreEqual (false, textBox.ReadOnly, "#14");
63 Assert.AreEqual ("", textBox.SelectedText, "#15");
64 textBox.Text = "sample TextBox";
65 Assert.AreEqual (0, textBox.SelectionLength, "#16b");
66 Assert.AreEqual (0, textBox.SelectionStart, "#17");
67 textBox.WordWrap = false;
68 textBox.AcceptsReturn = true;
69 Assert.AreEqual ("sample TextBox", textBox.Text, "#18");
70 Assert.AreEqual (14, textBox.TextLength, "#19");
71 Assert.AreEqual (false, textBox.WordWrap, "#20");
75 public void TextBoxPropertyTest ()
77 Assert.AreEqual (false, textBox.AcceptsReturn, "#21");
78 Assert.AreEqual (CharacterCasing.Normal, textBox.CharacterCasing, "#22");
79 Assert.AreEqual ('\0', textBox.PasswordChar, "#23");
80 textBox.PasswordChar = '*';
81 Assert.AreEqual ('*', textBox.PasswordChar, "#23b");
82 Assert.AreEqual (ScrollBars.None, textBox.ScrollBars, "#24");
83 Assert.AreEqual (-1, textBox.SelectionLength, "#25");
84 Assert.AreEqual (HorizontalAlignment.Left , textBox.TextAlign, "#26");
89 public void UseSystemPasswordCharDefault()
91 Assert.IsFalse(textBox.UseSystemPasswordChar);
95 public void UseSystemPasswordCharOverridesPasswordChar()
97 textBox.PasswordChar = '!';
98 textBox.UseSystemPasswordChar = true;
99 Assert.AreEqual('*', textBox.PasswordChar);
104 public void AppendTextTest ()
106 Form f = new Form ();
108 textBox.Visible = true;
109 textBox.Text = "TextBox1";
110 TextBox textBox2 = new TextBox ();
111 textBox2.Visible = true;
112 f.Controls.Add (textBox);
113 f.Controls.Add (textBox2);
114 textBox2.AppendText (textBox.Text);
115 Assert.AreEqual ("TextBox1", textBox2.Text, "#27");
119 public void ClearTest ()
121 textBox.Text = "TextBox1";
122 Assert.AreEqual ("TextBox1", textBox.Text, "#28a" );
124 Assert.AreEqual ("", textBox.Text, "#28b");
128 public void ClearUndoTest ()
130 textBox.Text = "TextBox1";
131 textBox.SelectionLength = 4;
133 Assert.AreEqual ("Text", textBox.SelectedText, "#29a");
135 Assert.AreEqual (true, textBox.CanUndo, "#29b");
136 textBox.ClearUndo ();
137 Assert.AreEqual (false, textBox.CanUndo, "#29c");
141 public void CopyTest ()
143 textBox.Text = "ABCDE";
144 textBox.SelectionLength = 4;
146 Assert.AreEqual ("ABCD", textBox.SelectedText, "#30");
150 public void CutTest ()
152 textBox.Text = "ABCDE";
153 textBox.SelectionLength = 4;
155 Assert.AreEqual ("E", textBox.Text, "#31");
159 public void PasteTest ()
161 textBox.Text = "ABCDE";
162 textBox.SelectionLength = 4;
163 textBox.SelectionStart = textBox.SelectionStart + textBox.SelectionLength;
165 Assert.AreEqual ("ABCDABCD", textBox.Text, "#32");
169 public void SelectTest ()
171 textBox.Text = "This is a sample test.";
172 textBox.Select (0, 4);
173 Assert.AreEqual ("This", textBox.SelectedText, "#33");
177 public void SelectAllTest ()
179 textBox.Text = "This is a sample test.";
180 textBox.SelectAll ();
181 Assert.AreEqual ("This is a sample test.", textBox.SelectedText, "#34");
185 public void ToStringTest ()
187 Assert.AreEqual ("System.Windows.Forms.TextBox, Text: ", textBox.ToString(), "#35");
191 public void UndoTest1 ()
193 textBox.Text = "ABCDE";
194 textBox.SelectionLength = 4;
196 textBox.SelectionStart = textBox.SelectionStart + textBox.SelectionLength;
199 Assert.AreEqual ("ABCDE", textBox.Text, "#36");