Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'mcs/class/Managed.Windows.Forms/Test/System.Windows.Forms/RichTextBoxTest.cs')
-rw-r--r--mcs/class/Managed.Windows.Forms/Test/System.Windows.Forms/RichTextBoxTest.cs187
1 files changed, 187 insertions, 0 deletions
diff --git a/mcs/class/Managed.Windows.Forms/Test/System.Windows.Forms/RichTextBoxTest.cs b/mcs/class/Managed.Windows.Forms/Test/System.Windows.Forms/RichTextBoxTest.cs
new file mode 100644
index 00000000000..64a74b79077
--- /dev/null
+++ b/mcs/class/Managed.Windows.Forms/Test/System.Windows.Forms/RichTextBoxTest.cs
@@ -0,0 +1,187 @@
+//
+// RichTextBoxTest.cs: Test cases for RichTextBox.
+//
+// Author:
+// Ritvik Mayank (mritvik@novell.com)
+//
+// (C) 2005 Novell, Inc. (http://www.novell.com)
+//
+
+using System;
+using System.Windows.Forms;
+using System.Drawing;
+using System.Reflection;
+using NUnit.Framework;
+
+namespace MonoTests.System.Windows.Forms
+{
+ [TestFixture]
+ public class RichTextBoxBaseTest
+ {
+#if not
+ [Test]
+ public void RichTextBoxPropertyTest ()
+ {
+ RichTextBox rTBox = new RichTextBox ();
+
+ // A
+ Assert.AreEqual (false, rTBox.AllowDrop, "#A1");
+ rTBox.Multiline = true;
+ rTBox.AcceptsTab = true;
+ SendKeys.SendWait ("^%");
+ Assert.AreEqual (false, rTBox.AutoSize, "#A2");
+ Assert.AreEqual (false, rTBox.AutoWordSelection, "#A3");
+
+
+ // B
+ rTBox.BackColor = Color.White;
+ Assert.AreEqual (null, rTBox.BackgroundImage, "#B1");
+ string gif = "M.gif";
+ rTBox.BackgroundImage = Image.FromFile (gif);
+ // comparing image objects fails on MS .Net so using Size property
+ Assert.AreEqual (Image.FromFile(gif, true).Size, rTBox.BackgroundImage.Size, "#B2");
+ Assert.AreEqual (0, rTBox.BulletIndent, "#B3");
+
+ // C
+ Assert.AreEqual (false, rTBox.CanRedo, "#C1");
+ rTBox.Paste ();
+ Assert.AreEqual (false, rTBox.CanRedo, "#C2");
+ rTBox.ClearUndo ();
+ Assert.AreEqual (false, rTBox.CanRedo, "#C3");
+
+ // D
+ Assert.AreEqual (true, rTBox.DetectUrls, "#D1");
+
+ // F
+ Assert.AreEqual (FontStyle.Regular, rTBox.Font.Style, "#F1");
+ Assert.AreEqual ("WindowText", rTBox.ForeColor.Name, "#F2");
+
+ //M
+ Assert.AreEqual (2147483647, rTBox.MaxLength, "#M1");
+ Assert.AreEqual (true, rTBox.Multiline, "#M2");
+ rTBox.WordWrap = false;
+ Assert.AreEqual (true, rTBox.Multiline, "#M3");
+
+ // R
+ Assert.AreEqual ("", rTBox.RedoActionName, "#R1");
+ Assert.AreEqual (0, rTBox.RightMargin, "#R2");
+
+ // [MonoTODO ("Assert.AreEqual (false, rTBox.Rtf, "#R3");") ]
+
+ // S
+
+ // [MonoTODO ("Assert.AreEqual (ScrollBars.Both, rTBox.ScrollBars, "#S1");")]
+ Assert.AreEqual (RichTextBoxScrollBars.Both, rTBox.ScrollBars, "#S1");
+ Assert.AreEqual ("", rTBox.SelectedText, "#S3");
+ rTBox.Text = "sample TextBox";
+ Assert.AreEqual (HorizontalAlignment.Left, rTBox.SelectionAlignment, "#S5");
+ Assert.AreEqual (false, rTBox.SelectionBullet, "#S6");
+ Assert.AreEqual (0, rTBox.SelectionCharOffset, "#S7");
+ //Assert.AreEqual (Color.Black, rTBox.SelectionColor, "#S8"); // Random color
+ Assert.AreEqual ("Courier New", rTBox.SelectionFont.Name, "#S9a");
+ Assert.AreEqual (FontStyle.Regular, rTBox.SelectionFont.Style, "#S9b");
+ Assert.AreEqual (0, rTBox.SelectionHangingIndent, "#S10");
+ Assert.AreEqual (0, rTBox.SelectionIndent, "#S11");
+ Assert.AreEqual (0, rTBox.SelectionLength, "#S12");
+ Assert.AreEqual (false, rTBox.SelectionProtected, "#S13");
+ Assert.AreEqual (0, rTBox.SelectionRightIndent, "#S14");
+ Assert.AreEqual (false, rTBox.ShowSelectionMargin, "#S15");
+ // [MonoTODO ("Assert.AreEqual (, rTBox.SelectionTabs, "#S16");")]
+ // [MonoTODO("Assert.AreEqual (TypeCode.Empty, rTBox.SelectionType, "#S17");")]
+
+ // T
+ Assert.AreEqual ("sample TextBox", rTBox.Text, "#T1");
+ Assert.AreEqual (14, rTBox.TextLength, "#T2");
+
+ // UVW
+ Assert.AreEqual ("", rTBox.UndoActionName, "#U1");
+
+ // XYZ
+ Assert.AreEqual (1, rTBox.ZoomFactor, "#Z1");
+
+ }
+
+ [Test]
+ public void CanPasteTest ()
+ {
+ RichTextBox rTextBox = new RichTextBox ();
+ Bitmap myBitmap = new Bitmap ("M.gif");
+ Clipboard.SetDataObject (myBitmap);
+ DataFormats.Format myFormat = DataFormats.GetFormat (DataFormats.Bitmap);
+ Assert.AreEqual (true, rTextBox.CanPaste (myFormat), "#Mtd1");
+ }
+#endif
+
+ [Test]
+ public void FindCharTest ()
+ {
+ RichTextBox rTextBox = new RichTextBox ();
+ rTextBox.Text = "something";
+ Assert.AreEqual (2, rTextBox.Find (new char [] {'m'}), "#Mtd3");
+ Assert.AreEqual (-1, rTextBox.Find (new char [] {'t'},5), "#Mtd3a");
+ Assert.AreEqual (4, rTextBox.Find (new char [] {'t'},4,5), "#Mtd3b");
+ }
+
+ [Test]
+ public void FindStringTest ()
+ {
+ RichTextBox rTextBox = new RichTextBox ();
+ rTextBox.Text = "sample text for richtextbox";
+ int indexToText1 = rTextBox.Find ("for");
+ Assert.AreEqual (12, indexToText1, "#Mtd4");
+ int indexToText2 = rTextBox.Find ("for", 0, 14, RichTextBoxFinds.MatchCase);
+ Assert.AreEqual (-1, indexToText2, "#Mtd5");
+ int indexToText3 = rTextBox.Find ("for", 0, 15, RichTextBoxFinds.MatchCase);
+ Assert.AreEqual (12, indexToText3, "#Mtd6");
+ int indexToText4 = rTextBox.Find ("richtextbox", 0, RichTextBoxFinds.MatchCase);
+ Assert.AreEqual (16, indexToText4, "#Mtd7");
+ int indexToText5 = rTextBox.Find ("text", RichTextBoxFinds.MatchCase);
+ Assert.AreEqual (7, indexToText5, "#Mtd8");
+ }
+
+ [Test]
+ public void FindTest() {
+ RichTextBox t = new RichTextBox();
+
+ t.Text = "Testtext and arglblah may not be what we're looking for\n, but blah Blah is";
+
+ Assert.AreEqual(t.Find(new char[] {'b', 'l', 'a', 'h'}), 9, "Find1");
+ Assert.AreEqual(t.Find(new char[] {'b', 'l', 'a', 'h'}, 20), 20, "Find2");
+ Assert.AreEqual(t.Find(new char[] {'b', 'l', 'a', 'h'}, 25, 30), -1, "Find3");
+ Assert.AreEqual(t.Find("blah"), 17, "Find4");
+ Assert.AreEqual(t.Find("blah", 10, 30, RichTextBoxFinds.None), 17, "Find5");
+ Assert.AreEqual(t.Find("blah", 10, 30, RichTextBoxFinds.WholeWord), -1, "Find6");
+ Assert.AreEqual(t.Find("blah", 10, 30, RichTextBoxFinds.MatchCase), 17, "Find7");
+ Assert.AreEqual(t.Find("blah", 10, 70, RichTextBoxFinds.Reverse), 62, "Find8");
+ Assert.AreEqual(t.Find("blah", 10, 73, RichTextBoxFinds.Reverse), 67, "Find9");
+ Assert.AreEqual(t.Find("blah", 10, 73, RichTextBoxFinds.Reverse | RichTextBoxFinds.MatchCase), 62, "Find10");
+ Assert.AreEqual(t.Find("blah", 10, RichTextBoxFinds.None), 17, "Find11");
+ Assert.AreEqual(t.Find("blah", 10, RichTextBoxFinds.WholeWord), 62, "Find12");
+ Assert.AreEqual(t.Find("blah", 10, RichTextBoxFinds.MatchCase), 17, "Find13");
+ Assert.AreEqual(t.Find("blah", 10, RichTextBoxFinds.Reverse), 67, "Find14");
+ Assert.AreEqual(t.Find("blah", 10, RichTextBoxFinds.Reverse | RichTextBoxFinds.MatchCase), 62, "Find15");
+ Assert.AreEqual(t.Find("blah", RichTextBoxFinds.Reverse), 67, "Find16");
+ Assert.AreEqual(t.Find("blah", RichTextBoxFinds.MatchCase), 17, "Find17");
+ Assert.AreEqual(t.Find("blah", RichTextBoxFinds.WholeWord), 62, "Find18");
+
+ // Special cases
+ Assert.AreEqual(t.Find("blah", 10, 11, RichTextBoxFinds.None), -1, "Find19"); // Range to short to ever match
+ Assert.AreEqual(t.Find("blah", 17, 18, RichTextBoxFinds.None), -1, "Find20"); // Range to short to ever match, but starts matching
+ Assert.AreEqual(t.Find("is", RichTextBoxFinds.WholeWord), 72, "Find21"); // Last word in document
+ Assert.AreEqual(t.Find("for", RichTextBoxFinds.WholeWord), 52, "Find22"); // word followed by \n
+ Assert.AreEqual(t.Find("Testtext", RichTextBoxFinds.WholeWord), 0, "Find23"); // First word in document
+ Assert.AreEqual(t.Find("Testtext", RichTextBoxFinds.WholeWord | RichTextBoxFinds.Reverse), 0, "Find24"); // First word in document, searched in reverse
+ }
+
+ [Test]
+ public void GetCharFromPositionTest ()
+ {
+ Form myForm = new Form ();
+ RichTextBox rTextBox = new RichTextBox ();
+ rTextBox.Text = "sample text for richtextbox";
+ myForm.Controls.Add (rTextBox);
+ Assert.AreEqual ('m', rTextBox.GetCharFromPosition (new Point (10, 10)), "#21");
+ }
+ //[MonoTODO("Add test for method Paste (Visual Test)")]
+ }
+}