RichTextBoxTest.cs 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151
  1. //
  2. // RichTextBoxTest.cs: Test cases for RichTextBox.
  3. //
  4. // Author:
  5. // Ritvik Mayank ([email protected])
  6. //
  7. // (C) 2005 Novell, Inc. (http://www.novell.com)
  8. //
  9. using System;
  10. using System.Windows.Forms;
  11. using System.Drawing;
  12. using System.Reflection;
  13. using NUnit.Framework;
  14. namespace MonoTests.System.Windows.Forms
  15. {
  16. [TestFixture]
  17. public class RichTextBoxBaseTest
  18. {
  19. [Test]
  20. public void RichTextBoxPropertyTest ()
  21. {
  22. RichTextBox rTBox = new RichTextBox ();
  23. // A
  24. Assert.AreEqual (false, rTBox.AllowDrop, "#A1");
  25. rTBox.Multiline = true;
  26. rTBox.AcceptsTab = true;
  27. SendKeys.SendWait ("^%");
  28. Assert.AreEqual (false, rTBox.AutoSize, "#A2");
  29. Assert.AreEqual (false, rTBox.AutoWordSelection, "#A3");
  30. // B
  31. rTBox.BackColor = Color.White;
  32. Assert.AreEqual (null, rTBox.BackgroundImage, "#B1");
  33. string gif = "M.gif";
  34. rTBox.BackgroundImage = Image.FromFile (gif);
  35. // comparing image objects fails on MS .Net so using Size property
  36. Assert.AreEqual (Image.FromFile(gif, true).Size, rTBox.BackgroundImage.Size, "#B2");
  37. Assert.AreEqual (0, rTBox.BulletIndent, "#B3");
  38. // C
  39. Assert.AreEqual (false, rTBox.CanRedo, "#C1");
  40. rTBox.Paste ();
  41. Assert.AreEqual (false, rTBox.CanRedo, "#C2");
  42. rTBox.ClearUndo ();
  43. Assert.AreEqual (false, rTBox.CanRedo, "#C3");
  44. // D
  45. Assert.AreEqual (true, rTBox.DetectUrls, "#D1");
  46. // F
  47. Assert.AreEqual (FontStyle.Regular, rTBox.Font.Style, "#F1");
  48. Assert.AreEqual ("WindowText", rTBox.ForeColor.Name, "#F2");
  49. //M
  50. Assert.AreEqual (2147483647, rTBox.MaxLength, "#M1");
  51. Assert.AreEqual (true, rTBox.Multiline, "#M2");
  52. rTBox.WordWrap = false;
  53. Assert.AreEqual (true, rTBox.Multiline, "#M3");
  54. // R
  55. Assert.AreEqual ("", rTBox.RedoActionName, "#R1");
  56. Assert.AreEqual (0, rTBox.RightMargin, "#R2");
  57. // [MonoTODO ("Assert.AreEqual (false, rTBox.Rtf, "#R3");") ]
  58. // S
  59. // [MonoTODO ("Assert.AreEqual (ScrollBars.Both, rTBox.ScrollBars, "#S1");")]
  60. Assert.AreEqual (RichTextBoxScrollBars.Both, rTBox.ScrollBars, "#S1");
  61. Assert.AreEqual ("", rTBox.SelectedText, "#S3");
  62. rTBox.Text = "sample TextBox";
  63. Assert.AreEqual (HorizontalAlignment.Left, rTBox.SelectionAlignment, "#S5");
  64. Assert.AreEqual (false, rTBox.SelectionBullet, "#S6");
  65. Assert.AreEqual (0, rTBox.SelectionCharOffset, "#S7");
  66. //Assert.AreEqual (Color.Black, rTBox.SelectionColor, "#S8"); // Random color
  67. Assert.AreEqual ("Courier New", rTBox.SelectionFont.Name, "#S9a");
  68. Assert.AreEqual (FontStyle.Regular, rTBox.SelectionFont.Style, "#S9b");
  69. Assert.AreEqual (0, rTBox.SelectionHangingIndent, "#S10");
  70. Assert.AreEqual (0, rTBox.SelectionIndent, "#S11");
  71. Assert.AreEqual (0, rTBox.SelectionLength, "#S12");
  72. Assert.AreEqual (false, rTBox.SelectionProtected, "#S13");
  73. Assert.AreEqual (0, rTBox.SelectionRightIndent, "#S14");
  74. Assert.AreEqual (false, rTBox.ShowSelectionMargin, "#S15");
  75. // [MonoTODO ("Assert.AreEqual (, rTBox.SelectionTabs, "#S16");")]
  76. // [MonoTODO("Assert.AreEqual (TypeCode.Empty, rTBox.SelectionType, "#S17");")]
  77. // T
  78. Assert.AreEqual ("sample TextBox", rTBox.Text, "#T1");
  79. Assert.AreEqual (14, rTBox.TextLength, "#T2");
  80. // UVW
  81. Assert.AreEqual ("", rTBox.UndoActionName, "#U1");
  82. // XYZ
  83. Assert.AreEqual (1, rTBox.ZoomFactor, "#Z1");
  84. }
  85. [Test]
  86. public void CanPasteTest ()
  87. {
  88. RichTextBox rTextBox = new RichTextBox ();
  89. Bitmap myBitmap = new Bitmap ("M.gif");
  90. Clipboard.SetDataObject (myBitmap);
  91. DataFormats.Format myFormat = DataFormats.GetFormat (DataFormats.Bitmap);
  92. Assert.AreEqual (true, rTextBox.CanPaste (myFormat), "#Mtd1");
  93. }
  94. [Test]
  95. public void FindCharTest ()
  96. {
  97. RichTextBox rTextBox = new RichTextBox ();
  98. rTextBox.Text = "something";
  99. Assert.AreEqual (2, rTextBox.Find (new char [] {'m'}), "#Mtd3");
  100. Assert.AreEqual (-1, rTextBox.Find (new char [] {'t'},5), "#Mtd3a");
  101. Assert.AreEqual (4, rTextBox.Find (new char [] {'t'},4,5), "#Mtd3b");
  102. }
  103. [Test]
  104. public void FindStringTest ()
  105. {
  106. RichTextBox rTextBox = new RichTextBox ();
  107. rTextBox.Text = "sample text for richtextbox";
  108. int indexToText1 = rTextBox.Find ("for");
  109. Assert.AreEqual (12, indexToText1, "#Mtd4");
  110. int indexToText2 = rTextBox.Find ("for", 0, 14, RichTextBoxFinds.MatchCase);
  111. Assert.AreEqual (-1, indexToText2, "#Mtd5");
  112. int indexToText3 = rTextBox.Find ("for", 0, 15, RichTextBoxFinds.MatchCase);
  113. Assert.AreEqual (12, indexToText3, "#Mtd6");
  114. int indexToText4 = rTextBox.Find ("richtextbox", 0, RichTextBoxFinds.MatchCase);
  115. Assert.AreEqual (16, indexToText4, "#Mtd7");
  116. int indexToText5 = rTextBox.Find ("text", RichTextBoxFinds.MatchCase);
  117. Assert.AreEqual (7, indexToText5, "#Mtd8");
  118. }
  119. [Test]
  120. public void GetCharFromPositionTest ()
  121. {
  122. Form myForm = new Form ();
  123. RichTextBox rTextBox = new RichTextBox ();
  124. rTextBox.Text = "sample text for richtextbox";
  125. myForm.Controls.Add (rTextBox);
  126. Assert.AreEqual ('m', rTextBox.GetCharFromPosition (new Point (10, 10)), "#21");
  127. }
  128. //[MonoTODO("Add test for method Paste (Visual Test)")]
  129. }
  130. }