| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953 |
- //
- // Copyright (c) 2007 Novell, Inc.
- //
- // Authors:
- // Rolf Bjarne Kvinge ([email protected])
- //
- #if NET_2_0
- using System;
- using System.Collections;
- using System.ComponentModel;
- using System.Drawing;
- using System.Windows.Forms;
- using System.Xml;
- using System.Threading;
- using NUnit.Framework;
- using System.Globalization;
- using Thread=System.Threading.Thread;
- using CategoryAttribute=NUnit.Framework.CategoryAttribute;
- using System.Reflection;
- namespace MonoTests.System.Windows.Forms
- {
- [TestFixture]
- public class MaskedTextBoxTest : TestHelper
- {
- [SetUp]
- protected override void SetUp () {
- Thread.CurrentThread.CurrentCulture = CultureInfo.GetCultureInfo ("en-US");
- base.SetUp ();
- }
- [Test]
- public void InitialProperties ()
- {
- MaskedTextBox mtb = new MaskedTextBox ();
- Assert.AreEqual (false, mtb.AcceptsTab, "#A1");
- Assert.AreEqual (true, mtb.AllowPromptAsInput, "#A2");
- Assert.AreEqual (false, mtb.AsciiOnly, "#A3");
- Assert.AreEqual (false, mtb.BeepOnError, "#B1");
- Assert.AreEqual (false, mtb.CanUndo, "#C1");
- Assert.IsNotNull (mtb.Culture, "#C3");
- Assert.AreEqual (Thread.CurrentThread.CurrentCulture.Name, mtb.Culture.Name, "#4");
- Assert.AreEqual (MaskFormat.IncludeLiterals, mtb.CutCopyMaskFormat, "#C5");
- Assert.IsNull (mtb.FormatProvider, "#F1");
- Assert.AreEqual (false, mtb.HidePromptOnLeave, "#H1");
- Assert.AreEqual (InsertKeyMode.Default, mtb.InsertKeyMode, "#I1");
- Assert.AreEqual (false, mtb.IsOverwriteMode, "#I2");
- Assert.AreEqual (0, mtb.Lines.Length, "#L1");
- Assert.AreEqual ("", mtb.Mask, "#M1");
- Assert.AreEqual (true, mtb.MaskCompleted, "#M2");
- Assert.IsNull (mtb.MaskedTextProvider, "#M3");
- Assert.AreEqual (true, mtb.MaskFull, "#M4");
- Assert.AreEqual (Int16.MaxValue, mtb.MaxLength, "#M5");
- Assert.AreEqual (false, mtb.Multiline, "#M6");
- Assert.AreEqual ('\0', mtb.PasswordChar, "#P1");
- Assert.AreEqual ('_', mtb.PromptChar, "#P2");
- Assert.AreEqual (false, mtb.ReadOnly, "#R1");
- Assert.AreEqual (false, mtb.RejectInputOnFirstFailure, "#R2");
- Assert.AreEqual (true, mtb.ResetOnPrompt, "#R3");
- Assert.AreEqual (true, mtb.ResetOnSpace, "#R4");
- Assert.AreEqual ("", mtb.SelectedText, "#S1");
- Assert.AreEqual (true, mtb.SkipLiterals, "#S2");
- Assert.AreEqual ("", mtb.Text, "#T1");
- Assert.AreEqual (HorizontalAlignment.Left, mtb.TextAlign, "#T2");
- Assert.AreEqual (0, mtb.TextLength, "#T3");
- Assert.AreEqual (MaskFormat.IncludeLiterals, mtb.TextMaskFormat, "#T4");
- Assert.AreEqual (false, mtb.UseSystemPasswordChar, "#U1");
- Assert.IsNull (mtb.ValidatingType, "#V1");
- Assert.AreEqual (false, mtb.WordWrap, "#W1");
-
- mtb.Dispose ();
- }
-
- [Test]
- public void WordWrapTest ()
- {
- MaskedTextBox mtb;
- mtb = new MaskedTextBox ();
- Assert.AreEqual (false, mtb.WordWrap, "#W1");
- mtb.WordWrap = true;
- Assert.AreEqual (false, mtb.WordWrap, "#W2");
-
- mtb.Dispose ();
- }
-
- [Test]
- public void ValidatingTypeTest ()
- {
- MaskedTextBox mtb;
- mtb = new MaskedTextBox ();
- Assert.IsNull (mtb.ValidatingType, "#V1");
- mtb.ValidatingType = typeof(int);
- Assert.IsNotNull (mtb.ValidatingType, "#V2");
- Assert.AreSame (typeof(int), mtb.ValidatingType, "#V3");
- mtb.Dispose ();
- }
-
- [Test]
- public void UseSystemPasswordCharTest ()
- {
- MaskedTextBox mtb;
- mtb = new MaskedTextBox ();
- Assert.AreEqual (false, mtb.UseSystemPasswordChar, "#U1");
- mtb.UseSystemPasswordChar = true;
- Assert.AreEqual (true, mtb.UseSystemPasswordChar, "#U2");
- mtb.Dispose ();
- }
-
- [Test]
- public void TextMaskFormatTest ()
- {
- MaskedTextBox mtb;
- mtb = new MaskedTextBox ();
- Assert.AreEqual (MaskFormat.IncludeLiterals, mtb.TextMaskFormat, "#T1");
- mtb.TextMaskFormat = MaskFormat.ExcludePromptAndLiterals;
- Assert.AreEqual (MaskFormat.ExcludePromptAndLiterals, mtb.TextMaskFormat, "#T2");
- mtb.TextMaskFormat = MaskFormat.IncludePromptAndLiterals;
- Assert.AreEqual (MaskFormat.IncludePromptAndLiterals, mtb.TextMaskFormat, "#T3");
- mtb.TextMaskFormat = MaskFormat.IncludePrompt;
- Assert.AreEqual (MaskFormat.IncludePrompt, mtb.TextMaskFormat, "#T4");
- mtb.TextMaskFormat = MaskFormat.IncludeLiterals;
- Assert.AreEqual (MaskFormat.IncludeLiterals, mtb.TextMaskFormat, "#T4");
- mtb.Dispose ();
- }
-
- [Test]
- [ExpectedException (typeof(InvalidEnumArgumentException))]
- public void TextMaskFormatExceptionTestException ()
- {
- MaskedTextBox mtb;
- mtb = new MaskedTextBox ();
- mtb.TextMaskFormat = (MaskFormat) 123;
- mtb.Dispose ();
- }
-
- [Test]
- public void TextLengthTest ()
- {
- MaskedTextBox mtb;
- mtb = new MaskedTextBox ();
- Assert.AreEqual (0, mtb.TextLength, "#T1");
- mtb.Text = "abc";
- Assert.AreEqual (3, mtb.TextLength, "#T2");
-
- mtb.Dispose ();
- }
-
- [Test]
- public void TextAlignTest ()
- {
- MaskedTextBox mtb;
- mtb = new MaskedTextBox ();
- Assert.AreEqual (HorizontalAlignment.Left, mtb.TextAlign, "#T1");
- mtb.TextAlign = HorizontalAlignment.Center;
- Assert.AreEqual (HorizontalAlignment.Center, mtb.TextAlign, "#T2");
- mtb.TextAlign = HorizontalAlignment.Right;
- Assert.AreEqual (HorizontalAlignment.Right, mtb.TextAlign, "#T3");
- mtb.TextAlign = HorizontalAlignment.Left;
- Assert.AreEqual (HorizontalAlignment.Left, mtb.TextAlign, "#T4");
- mtb.Dispose ();
- }
-
- [Test]
- [ExpectedException (typeof (InvalidEnumArgumentException))]
- public void TextAlignExceptionTest ()
- {
- MaskedTextBox mtb;
- mtb = new MaskedTextBox ();
- mtb.TextAlign = (HorizontalAlignment) 123;
- mtb.Dispose ();
- }
-
- [Test]
- public void TextTest ()
- {
- MaskedTextBox mtb;
- mtb = new MaskedTextBox ();
- Assert.AreEqual ("", mtb.Text, "#T1");
- mtb.Text = "abc";
- Assert.AreEqual ("abc", mtb.Text, "#T2");
- mtb.Text = "ABC";
- Assert.AreEqual ("ABC", mtb.Text, "#T3");
- mtb.Mask = "abc";
- mtb.Text = "abc";
- Assert.AreEqual ("abc", mtb.Text, "#T4");
- mtb.Text = "ABC";
- Assert.AreEqual ("Abc", mtb.Text, "#T5");
- mtb.Text = "123";
- Assert.AreEqual ("1bc", mtb.Text, "#T6");
- mtb.Dispose ();
- }
- [Test]
- public void TextTest2 ()
- {
- MaskedTextBox mtb;
- mtb = new MaskedTextBox ();
- mtb.Mask = "99 99";
- mtb.Text = "23 34";
- Assert.AreEqual ("23 34", mtb.Text, "#T1");
- mtb.RejectInputOnFirstFailure = true;
- mtb.Text = "23 34";
- Assert.AreEqual ("23 34", mtb.Text, "#T2");
- mtb.Dispose ();
- }
-
- [Test]
- public void SkipLiteralsTest ()
- {
- MaskedTextBox mtb;
- mtb = new MaskedTextBox ();
- Assert.AreEqual (true, mtb.SkipLiterals, "#S1");
- mtb.SkipLiterals = false;
- Assert.AreEqual (false, mtb.SkipLiterals, "#S2");
- mtb.Dispose ();
- }
-
- [Test]
- public void SelectedTextTest ()
- {
- MaskedTextBox mtb;
- mtb = new MaskedTextBox ();
- Assert.AreEqual ("", mtb.SelectedText, "#S1");
- mtb.Text = "abc";
- Assert.AreEqual ("", mtb.SelectedText, "#S2");
- mtb.SelectAll ();
- Assert.AreEqual ("abc", mtb.SelectedText, "#S3");
- mtb.Dispose ();
- }
-
- [Test]
- public void ResetOnSpaceTest ()
- {
- MaskedTextBox mtb;
- mtb = new MaskedTextBox ();
- Assert.AreEqual (true, mtb.ResetOnSpace, "#R1");
- mtb.ResetOnSpace = false;
- Assert.AreEqual (false, mtb.ResetOnSpace, "#R2");
- mtb.Dispose ();
- }
-
- [Test]
- public void ResetOnPromptTest ()
- {
- MaskedTextBox mtb;
- mtb = new MaskedTextBox ();
- Assert.AreEqual (true, mtb.ResetOnPrompt, "#R1");
- mtb.ResetOnPrompt = false;
- Assert.AreEqual (false, mtb.ResetOnPrompt, "#R2");
- mtb.Dispose ();
- }
-
- [Test]
- public void RejectInputOnFirstFailureTest ()
- {
- MaskedTextBox mtb;
- mtb = new MaskedTextBox ();
- Assert.AreEqual (false, mtb.RejectInputOnFirstFailure, "#R1");
- mtb.RejectInputOnFirstFailure = true;
- Assert.AreEqual (true, mtb.RejectInputOnFirstFailure, "#R2");
- mtb.Dispose ();
- }
-
- [Test]
- public void ReadOnlyTest ()
- {
- MaskedTextBox mtb;
- mtb = new MaskedTextBox ();
- Assert.AreEqual (false, mtb.ReadOnly, "#R1");
- mtb.ReadOnly = true;
- Assert.AreEqual (true, mtb.ReadOnly, "#R2");
- mtb.Dispose ();
- }
-
- [Test]
- public void PromptCharTest ()
- {
- MaskedTextBox mtb;
- mtb = new MaskedTextBox ();
- Assert.AreEqual ('_', mtb.PromptChar, "#P1");
- mtb.PromptChar = '*';
- Assert.AreEqual ('*', mtb.PromptChar, "#P2");
- mtb.Dispose ();
- }
-
- [Test]
- public void PasswordCharTest ()
- {
- MaskedTextBox mtb;
- mtb = new MaskedTextBox ();
- Assert.AreEqual ('\0', mtb.PasswordChar, "#P1");
- mtb.PasswordChar = '*';
- Assert.AreEqual ('*', mtb.PasswordChar, "#P2");
- mtb.Dispose ();
- }
- [Test]
- public void MultilineTest ()
- {
- MaskedTextBox mtb;
- mtb = new MaskedTextBox ();
- Assert.AreEqual (false, mtb.Multiline, "#M1");
- mtb.Multiline = true;
- Assert.AreEqual (false, mtb.Multiline, "#M2");
- mtb.Dispose ();
- }
-
- [Test]
- public void MaskFullTest ()
- {
- MaskedTextBox mtb;
- mtb = new MaskedTextBox ();
- Assert.AreEqual (true, mtb.MaskFull, "#M1");
- mtb.Mask = "abc";
- Assert.AreEqual (false, mtb.MaskFull, "#M2");
- mtb.Text = "abc";
- Assert.AreEqual (true, mtb.MaskFull, "#M3");
- mtb.Dispose ();
- }
-
- [Test]
- public void MaskedTextProviderTest ()
- {
- MaskedTextBox mtb;
- MaskedTextProvider mtp;
- mtb = new MaskedTextBox ();
- Assert.IsNull (mtb.MaskedTextProvider, "#M1");
- mtb.Mask = "abc";
- Assert.IsNotNull (mtb.MaskedTextProvider, "#M2");
- Assert.AreEqual ("abc", mtb.MaskedTextProvider.Mask, "#M3");
- // We always get a clone of the current mtp.
- Assert.IsTrue (mtb.MaskedTextProvider != mtb.MaskedTextProvider, "#M4");
- mtb.Dispose ();
- mtp = new MaskedTextProvider ("Z");
- mtb = new MaskedTextBox (mtp);
- Assert.IsNotNull (mtb.MaskedTextProvider, "#M5");
- Assert.AreEqual ("Z", mtb.MaskedTextProvider.Mask, "#6");
- Assert.IsTrue (mtb.MaskedTextProvider != mtb.MaskedTextProvider, "#M7");
- Assert.IsTrue (mtb.MaskedTextProvider != mtp, "#M8");
- mtb.Dispose ();
- }
- [Test]
- public void MaskCompletedTest ()
- {
- MaskedTextBox mtb;
- mtb = new MaskedTextBox ();
- Assert.AreEqual (true, mtb.MaskCompleted, "#M1");
- mtb.Mask = "abcABCZZZ";
- Assert.AreEqual (false, mtb.MaskCompleted, "#M2");
- mtb.Text = "abcabcabc";
- Assert.AreEqual (true, mtb.MaskCompleted, "#M3");
- mtb.Dispose ();
- }
- [Test]
- public void MaskTest ()
- {
- MaskedTextBox mtb;
- mtb = new MaskedTextBox ();
- Assert.AreEqual ("", mtb.Mask, "#M1");
- mtb.Mask = "abc";
- Assert.AreEqual ("abc", mtb.Mask, "#M2");
- mtb.Mask = "";
- Assert.AreEqual ("", mtb.Mask, "#M3");
- mtb.Mask = null;
- Assert.AreEqual ("", mtb.Mask, "#M4");
- mtb.Mask = "";
- Assert.AreEqual ("", mtb.Mask, "#M5");
- mtb.Dispose ();
- }
- [Test]
- public void LinesTest ()
- {
- MaskedTextBox mtb;
- mtb = new MaskedTextBox ();
- Assert.AreEqual (0, mtb.Lines.Length, "#L1");
- mtb.Text = "abc";
- Assert.AreEqual (1, mtb.Lines.Length, "#L2");
- Assert.AreEqual ("abc", mtb.Lines [0], "#L2a");
- mtb.Text = "abc\nabc";
- Assert.AreEqual (2, mtb.Lines.Length, "#L3");
- Assert.AreEqual ("abc", mtb.Lines [0], "#L3a");
- Assert.AreEqual ("abc", mtb.Lines [1], "#L3b");
- mtb.Dispose ();
- }
- [Test]
- public void IsOverwriteModeTest ()
- {
- MaskedTextBox mtb;
- mtb = new MaskedTextBox ();
- Assert.AreEqual (false, mtb.IsOverwriteMode, "#I1");
- mtb.Dispose ();
- }
- [Test]
- public void InsertKeyModeTest ()
- {
- MaskedTextBox mtb;
- mtb = new MaskedTextBox ();
- Assert.AreEqual (InsertKeyMode.Default, mtb.InsertKeyMode, "#I1");
- mtb.InsertKeyMode = InsertKeyMode.Insert;
- Assert.AreEqual (InsertKeyMode.Insert, mtb.InsertKeyMode, "#I2");
- mtb.InsertKeyMode = InsertKeyMode.Overwrite;
- Assert.AreEqual (InsertKeyMode.Overwrite, mtb.InsertKeyMode, "#I3");
- mtb.InsertKeyMode = InsertKeyMode.Default;
- Assert.AreEqual (InsertKeyMode.Default, mtb.InsertKeyMode, "#I4");
- mtb.Dispose ();
- }
- [Test]
- [ExpectedException (typeof (InvalidEnumArgumentException))]
- public void InsertKeyModeExceptionTest ()
- {
- MaskedTextBox mtb;
- mtb = new MaskedTextBox ();
- mtb.InsertKeyMode = (InsertKeyMode) 123;
- mtb.Dispose ();
- }
-
- [Test]
- public void HidePromptOnLeaveTest ()
- {
- MaskedTextBox mtb;
- mtb = new MaskedTextBox ();
- Assert.AreEqual (false, mtb.HidePromptOnLeave, "#H1");
- mtb.HidePromptOnLeave = true;
- Assert.AreEqual (true, mtb.HidePromptOnLeave, "#H1");
- mtb.Dispose ();
- }
-
- [Test]
- public void FormatProviderTest ()
- {
- MaskedTextBox mtb;
- mtb = new MaskedTextBox ();
- Assert.IsNull (mtb.FormatProvider, "#F1");
- mtb.FormatProvider = CultureInfo.CurrentCulture.NumberFormat;
- Assert.IsNotNull (mtb.FormatProvider, "#F2");
- Assert.AreSame (CultureInfo.CurrentCulture.NumberFormat, mtb.FormatProvider, "#F3");
- mtb.Dispose ();
- }
-
- [Test]
- public void CutCopyMaskFormatTest ()
- {
- MaskedTextBox mtb;
- mtb = new MaskedTextBox ();
- Assert.AreEqual (MaskFormat.IncludeLiterals, mtb.CutCopyMaskFormat, "#C1");
- mtb.CutCopyMaskFormat = MaskFormat.ExcludePromptAndLiterals;
- Assert.AreEqual (MaskFormat.ExcludePromptAndLiterals, mtb.CutCopyMaskFormat, "#C2");
- mtb.CutCopyMaskFormat = MaskFormat.IncludeLiterals;
- Assert.AreEqual (MaskFormat.IncludeLiterals, mtb.CutCopyMaskFormat, "#C3");
- mtb.CutCopyMaskFormat = MaskFormat.IncludePrompt;
- Assert.AreEqual (MaskFormat.IncludePrompt, mtb.CutCopyMaskFormat, "#C4");
- mtb.CutCopyMaskFormat = MaskFormat.IncludePromptAndLiterals;
- Assert.AreEqual (MaskFormat.IncludePromptAndLiterals, mtb.CutCopyMaskFormat, "#C5");
- mtb.Dispose ();
- }
-
- [Test]
- [ExpectedException (typeof (InvalidEnumArgumentException))]
- public void CutCopyMaskFormatExceptionTest ()
- {
- MaskedTextBox mtb;
- mtb = new MaskedTextBox ();
- mtb.CutCopyMaskFormat = (MaskFormat) 123;
- mtb.Dispose ();
- }
-
- [Test]
- public void CultureTest ()
- {
- MaskedTextBox mtb;
- MaskedTextProvider mtp;
- try {
- Thread.CurrentThread.CurrentCulture = CultureInfo.GetCultureInfo ("en-US");
- mtb = new MaskedTextBox ();
- Assert.IsNotNull (mtb.Culture, "#A1");
- Assert.AreEqual ("en-US", mtb.Culture.Name, "#A2");
- mtb.Dispose ();
- Thread.CurrentThread.CurrentCulture = CultureInfo.GetCultureInfo ("es-ES");
- mtb = new MaskedTextBox ();
- Assert.IsNotNull (mtb.Culture, "#B1");
- Assert.AreEqual ("es-ES", mtb.Culture.Name, "#B2");
- mtb.Dispose ();
- mtp = new MaskedTextProvider ("abc");
- Thread.CurrentThread.CurrentCulture = CultureInfo.GetCultureInfo ("es-AR");
- mtb = new MaskedTextBox (mtp);
- Assert.IsNotNull (mtb.Culture, "#C1");
- Assert.AreEqual ("es-ES", mtb.Culture.Name, "#C2");
- mtb.Dispose ();
-
- mtb = new MaskedTextBox ();
- mtb.Culture = CultureInfo.GetCultureInfo ("de-DE");
- Assert.AreEqual ("de-DE", mtb.Culture.Name, "#D1");
-
- } finally {
- Thread.CurrentThread.CurrentCulture = CultureInfo.GetCultureInfo ("en-US");
- }
- }
-
- [Test]
- public void CanUndoTest ()
- {
- MaskedTextBox mtb = new MaskedTextBox ();
- TextBoxBase tbb = mtb;
- Assert.AreEqual (false, mtb.CanUndo, "#A1");
- Assert.AreEqual (false, tbb.CanUndo, "#A2");
- mtb.Dispose ();
- }
-
- [Test]
- public void BeepOnErrorTest ()
- {
- MaskedTextBox mtb = new MaskedTextBox ();
- Assert.AreEqual (false, mtb.BeepOnError, "#A1");
- mtb.BeepOnError = true;
- Assert.AreEqual (true, mtb.BeepOnError, "#A2");
- mtb.BeepOnError = false;
- Assert.AreEqual (false, mtb.BeepOnError, "#A3");
- mtb.Dispose ();
- }
- [Test]
- public void AsciiOnlyTest ()
- {
- MaskedTextBox mtb = new MaskedTextBox ();
- Assert.AreEqual (false, mtb.AsciiOnly, "#A1");
- mtb.AsciiOnly = true;
- Assert.AreEqual (true, mtb.AsciiOnly, "#A2");
- mtb.AsciiOnly = false;
- Assert.AreEqual (false, mtb.AsciiOnly, "#A3");
- mtb.Dispose ();
- }
-
- [Test]
- public void AllowPromptAsInputTest ()
- {
- MaskedTextBox mtb = new MaskedTextBox ();
- Assert.AreEqual (true, mtb.AllowPromptAsInput, "#A1");
- mtb.AllowPromptAsInput = true;
- Assert.AreEqual (true, mtb.AllowPromptAsInput, "#A2");
- mtb.AllowPromptAsInput = false;
- Assert.AreEqual (false, mtb.AllowPromptAsInput, "#A3");
- mtb.Dispose ();
- }
-
- [Test]
- public void AcceptsTabTest ()
- {
- MaskedTextBox mtb = new MaskedTextBox ();
- Assert.AreEqual (false, mtb.AcceptsTab, "#A1");
- mtb.AcceptsTab = true;
- Assert.AreEqual (false, mtb.AcceptsTab, "#A2");
- mtb.AcceptsTab = false;
- Assert.AreEqual (false, mtb.AcceptsTab, "#A3");
- mtb.Dispose ();
- }
-
- [Test]
- public void ConstructorTest ()
- {
- using (MaskedTextBox mtb = new MaskedTextBox ()) {
- Assert.AreEqual (false, mtb.AcceptsTab, "#A_A1");
- Assert.AreEqual (true, mtb.AllowPromptAsInput, "#A_A2");
- Assert.AreEqual (false, mtb.AsciiOnly, "#A_A3");
- Assert.AreEqual (false, mtb.BeepOnError, "#A_B1");
- Assert.AreEqual (false, mtb.CanUndo, "#A_C1");
- Assert.IsNotNull (mtb.Culture, "#A_C3");
- Assert.AreEqual (Thread.CurrentThread.CurrentCulture.Name, mtb.Culture.Name, "#A_4");
- Assert.AreEqual (MaskFormat.IncludeLiterals, mtb.CutCopyMaskFormat, "#A_C5");
- Assert.IsNull (mtb.FormatProvider, "#A_F1");
- Assert.AreEqual (false, mtb.HidePromptOnLeave, "#A_H1");
- Assert.AreEqual (InsertKeyMode.Default, mtb.InsertKeyMode, "#A_I1");
- Assert.AreEqual (false, mtb.IsOverwriteMode, "#A_I2");
- Assert.AreEqual (0, mtb.Lines.Length, "#A_L1");
- Assert.AreEqual ("", mtb.Mask, "#A_M1");
- Assert.AreEqual (true, mtb.MaskCompleted, "#A_M2");
- Assert.IsNull (mtb.MaskedTextProvider, "#A_M3");
- Assert.AreEqual (true, mtb.MaskFull, "#A_M4");
- Assert.AreEqual (Int16.MaxValue, mtb.MaxLength, "#A_M5");
- Assert.AreEqual (false, mtb.Multiline, "#A_M6");
- Assert.AreEqual ('\0', mtb.PasswordChar, "#A_P1");
- Assert.AreEqual ('_', mtb.PromptChar, "#A_P2");
- Assert.AreEqual (false, mtb.ReadOnly, "#A_R1");
- Assert.AreEqual (false, mtb.RejectInputOnFirstFailure, "#A_R2");
- Assert.AreEqual (true, mtb.ResetOnPrompt, "#A_R3");
- Assert.AreEqual (true, mtb.ResetOnSpace, "#A_R4");
- Assert.AreEqual ("", mtb.SelectedText, "#A_S1");
- Assert.AreEqual (true, mtb.SkipLiterals, "#A_S2");
- Assert.AreEqual ("", mtb.Text, "#A_T1");
- Assert.AreEqual (HorizontalAlignment.Left, mtb.TextAlign, "#A_T2");
- Assert.AreEqual (0, mtb.TextLength, "#A_T3");
- Assert.AreEqual (MaskFormat.IncludeLiterals, mtb.TextMaskFormat, "#A_T4");
- Assert.AreEqual (false, mtb.UseSystemPasswordChar, "#A_U1");
- Assert.IsNull (mtb.ValidatingType, "#A_V1");
- Assert.AreEqual (false, mtb.WordWrap, "#A_W1");
- }
- using (MaskedTextBox mtb = new MaskedTextBox ("abc")) {
- Assert.AreEqual (false, mtb.AcceptsTab, "#B_A1");
- Assert.AreEqual (true, mtb.AllowPromptAsInput, "#B_A2");
- Assert.AreEqual (false, mtb.AsciiOnly, "#B_A3");
- Assert.AreEqual (false, mtb.BeepOnError, "#B_B1");
- Assert.AreEqual (false, mtb.CanUndo, "#B_C1");
- Assert.IsNotNull (mtb.Culture, "#B_C3");
- Assert.AreEqual (Thread.CurrentThread.CurrentCulture.Name, mtb.Culture.Name, "#B_4");
- Assert.AreEqual (MaskFormat.IncludeLiterals, mtb.CutCopyMaskFormat, "#B_C5");
- Assert.IsNull (mtb.FormatProvider, "#B_F1");
- Assert.AreEqual (false, mtb.HidePromptOnLeave, "#B_H1");
- Assert.AreEqual (InsertKeyMode.Default, mtb.InsertKeyMode, "#B_I1");
- Assert.AreEqual (false, mtb.IsOverwriteMode, "#B_I2");
- Assert.AreEqual (1, mtb.Lines.Length, "#B_L1");
- Assert.AreEqual ("abc", mtb.Mask, "#B_M1");
- Assert.AreEqual (true, mtb.MaskCompleted, "#B_M2");
- Assert.IsNotNull (mtb.MaskedTextProvider, "#B_M3");
- Assert.AreEqual (false, mtb.MaskFull, "#B_M4");
- Assert.AreEqual (Int16.MaxValue, mtb.MaxLength, "#B_M5");
- Assert.AreEqual (false, mtb.Multiline, "#B_M6");
- Assert.AreEqual ('\0', mtb.PasswordChar, "#B_P1");
- Assert.AreEqual ('_', mtb.PromptChar, "#B_P2");
- Assert.AreEqual (false, mtb.ReadOnly, "#B_R1");
- Assert.AreEqual (false, mtb.RejectInputOnFirstFailure, "#B_R2");
- Assert.AreEqual (true, mtb.ResetOnPrompt, "#B_R3");
- Assert.AreEqual (true, mtb.ResetOnSpace, "#B_R4");
- Assert.AreEqual ("", mtb.SelectedText, "#B_S1");
- Assert.AreEqual (true, mtb.SkipLiterals, "#B_S2");
- Assert.AreEqual (" bc", mtb.Text, "#B_T1");
- Assert.AreEqual (HorizontalAlignment.Left, mtb.TextAlign, "#B_T2");
- Assert.AreEqual (3, mtb.TextLength, "#B_T3");
- Assert.AreEqual (MaskFormat.IncludeLiterals, mtb.TextMaskFormat, "#B_T4");
- Assert.AreEqual (false, mtb.UseSystemPasswordChar, "#B_U1");
- Assert.IsNull (mtb.ValidatingType, "#B_V1");
- Assert.AreEqual (false, mtb.WordWrap, "#B_W1");
- }
- using (MaskedTextBox mtb = new MaskedTextBox ("<>")) {
- Assert.AreEqual (false, mtb.AcceptsTab, "#C_A1");
- Assert.AreEqual (true, mtb.AllowPromptAsInput, "#C_A2");
- Assert.AreEqual (false, mtb.AsciiOnly, "#C_A3");
- Assert.AreEqual (false, mtb.BeepOnError, "#C_B1");
- Assert.AreEqual (false, mtb.CanUndo, "#C_C1");
- Assert.IsNotNull (mtb.Culture, "#C_C3");
- Assert.AreEqual (Thread.CurrentThread.CurrentCulture.Name, mtb.Culture.Name, "#C_4");
- Assert.AreEqual (MaskFormat.IncludeLiterals, mtb.CutCopyMaskFormat, "#C_C5");
- Assert.IsNull (mtb.FormatProvider, "#C_F1");
- Assert.AreEqual (false, mtb.HidePromptOnLeave, "#C_H1");
- Assert.AreEqual (InsertKeyMode.Default, mtb.InsertKeyMode, "#C_I1");
- Assert.AreEqual (false, mtb.IsOverwriteMode, "#C_I2");
- Assert.AreEqual (0, mtb.Lines.Length, "#C_L1");
- Assert.AreEqual ("<>", mtb.Mask, "#C_M1");
- Assert.AreEqual (true, mtb.MaskCompleted, "#C_M2");
- Assert.IsNotNull (mtb.MaskedTextProvider, "#C_M3");
- Assert.AreEqual (true, mtb.MaskFull, "#C_M4");
- Assert.AreEqual (Int16.MaxValue, mtb.MaxLength, "#C_M5");
- Assert.AreEqual (false, mtb.Multiline, "#C_M6");
- Assert.AreEqual ('\0', mtb.PasswordChar, "#C_P1");
- Assert.AreEqual ('_', mtb.PromptChar, "#C_P2");
- Assert.AreEqual (false, mtb.ReadOnly, "#C_R1");
- Assert.AreEqual (false, mtb.RejectInputOnFirstFailure, "#C_R2");
- Assert.AreEqual (true, mtb.ResetOnPrompt, "#C_R3");
- Assert.AreEqual (true, mtb.ResetOnSpace, "#C_R4");
- Assert.AreEqual ("", mtb.SelectedText, "#C_S1");
- Assert.AreEqual (true, mtb.SkipLiterals, "#C_S2");
- Assert.AreEqual ("", mtb.Text, "#C_T1");
- Assert.AreEqual (HorizontalAlignment.Left, mtb.TextAlign, "#C_T2");
- Assert.AreEqual (0, mtb.TextLength, "#C_T3");
- Assert.AreEqual (MaskFormat.IncludeLiterals, mtb.TextMaskFormat, "#C_T4");
- Assert.AreEqual (false, mtb.UseSystemPasswordChar, "#C_U1");
- Assert.IsNull (mtb.ValidatingType, "#C_V1");
- Assert.AreEqual (false, mtb.WordWrap, "#C_W1");
- }
- using (MaskedTextBox mtb = new MaskedTextBox ("abcdefghijklmopqrstuvwxyzABCDEFGHIJKLMOPQRSTUVWXYZ1234567890ÑñæøåÆØÅ!\\ºª\"·$%&/()='?¡¿`^+*´¨Çç-_.:,;}{][")) {
- Assert.AreEqual (false, mtb.AcceptsTab, "#D_A1");
- Assert.AreEqual (true, mtb.AllowPromptAsInput, "#D_A2");
- Assert.AreEqual (false, mtb.AsciiOnly, "#D_A3");
- Assert.AreEqual (false, mtb.BeepOnError, "#D_B1");
- Assert.AreEqual (false, mtb.CanUndo, "#D_C1");
- Assert.IsNotNull (mtb.Culture, "#D_C3");
- Assert.AreEqual (Thread.CurrentThread.CurrentCulture.Name, mtb.Culture.Name, "#D_4");
- Assert.AreEqual (MaskFormat.IncludeLiterals, mtb.CutCopyMaskFormat, "#D_C5");
- Assert.IsNull (mtb.FormatProvider, "#D_F1");
- Assert.AreEqual (false, mtb.HidePromptOnLeave, "#D_H1");
- Assert.AreEqual (InsertKeyMode.Default, mtb.InsertKeyMode, "#D_I1");
- Assert.AreEqual (false, mtb.IsOverwriteMode, "#D_I2");
- Assert.AreEqual (1, mtb.Lines.Length, "#D_L1");
- Assert.AreEqual ("abcdefghijklmopqrstuvwxyzABCDEFGHIJKLMOPQRSTUVWXYZ1234567890ÑñæøåÆØÅ!\\ºª\"·$%&/()='?¡¿`^+*´¨Çç-_.:,;}{][", mtb.Mask, "#D_M1");
- Assert.AreEqual (false, mtb.MaskCompleted, "#D_M2");
- Assert.IsNotNull (mtb.MaskedTextProvider, "#D_M3");
- Assert.AreEqual (false, mtb.MaskFull, "#D_M4");
- Assert.AreEqual (Int16.MaxValue, mtb.MaxLength, "#D_M5");
- Assert.AreEqual (false, mtb.Multiline, "#D_M6");
- Assert.AreEqual ('\0', mtb.PasswordChar, "#D_P1");
- Assert.AreEqual ('_', mtb.PromptChar, "#D_P2");
- Assert.AreEqual (false, mtb.ReadOnly, "#D_R1");
- Assert.AreEqual (false, mtb.RejectInputOnFirstFailure, "#D_R2");
- Assert.AreEqual (true, mtb.ResetOnPrompt, "#D_R3");
- Assert.AreEqual (true, mtb.ResetOnSpace, "#D_R4");
- Assert.AreEqual ("", mtb.SelectedText, "#D_S1");
- Assert.AreEqual (true, mtb.SkipLiterals, "#D_S2");
- Assert.AreEqual (" bcdefghijklmopqrstuvwxyz B DEFGHIJK MOPQRSTUVWXYZ12345678 ÑñæøåÆØÅ!ºª\"·$% /()=' ¡¿`^+*´¨Çç-_.:,;}{][", mtb.Text, "#D_T1");
- Assert.AreEqual (HorizontalAlignment.Left, mtb.TextAlign, "#D_T2");
- Assert.AreEqual (102, mtb.TextLength, "#D_T3");
- Assert.AreEqual (MaskFormat.IncludeLiterals, mtb.TextMaskFormat, "#D_T4");
- Assert.AreEqual (false, mtb.UseSystemPasswordChar, "#D_U1");
- Assert.IsNull (mtb.ValidatingType, "#D_V1");
- Assert.AreEqual (false, mtb.WordWrap, "#D_W1");
- }
- MaskedTextProvider mtp = new MaskedTextProvider ("abcd", CultureInfo.GetCultureInfo ("es-AR"), false, '>', '^', false);
- using (MaskedTextBox mtb = new MaskedTextBox (mtp)) {
- Assert.AreEqual (false, mtb.AcceptsTab, "#E_A1");
- Assert.AreEqual (false, mtb.AllowPromptAsInput, "#E_A2");
- Assert.AreEqual (false, mtb.AsciiOnly, "#E_A3");
- Assert.AreEqual (false, mtb.BeepOnError, "#E_B1");
- Assert.AreEqual (false, mtb.CanUndo, "#E_C1");
- Assert.IsNotNull (mtb.Culture, "#E_C3");
- Assert.AreEqual ("es-AR", mtb.Culture.Name, "#E_4");
- Assert.AreEqual (MaskFormat.IncludeLiterals, mtb.CutCopyMaskFormat, "#E_C5");
- Assert.IsNull (mtb.FormatProvider, "#E_F1");
- Assert.AreEqual (false, mtb.HidePromptOnLeave, "#E_H1");
- Assert.AreEqual (InsertKeyMode.Default, mtb.InsertKeyMode, "#E_I1");
- Assert.AreEqual (false, mtb.IsOverwriteMode, "#E_I2");
- Assert.AreEqual (1, mtb.Lines.Length, "#E_L1");
- Assert.AreEqual ("abcd", mtb.Mask, "#E_M1");
- Assert.AreEqual (true, mtb.MaskCompleted, "#E_M2");
- Assert.IsNotNull (mtb.MaskedTextProvider, "#E_M3");
- Assert.IsFalse (mtb.MaskedTextProvider == mtp, "#E_M3-b");
- Assert.AreEqual (false, mtb.MaskFull, "#E_M4");
- Assert.AreEqual (Int16.MaxValue, mtb.MaxLength, "#E_M5");
- Assert.AreEqual (false, mtb.Multiline, "#E_M6");
- Assert.AreEqual ('^', mtb.PasswordChar, "#E_P1");
- Assert.AreEqual ('>', mtb.PromptChar, "#E_P2");
- Assert.AreEqual (false, mtb.ReadOnly, "#E_R1");
- Assert.AreEqual (false, mtb.RejectInputOnFirstFailure, "#E_R2");
- Assert.AreEqual (true, mtb.ResetOnPrompt, "#E_R3");
- Assert.AreEqual (true, mtb.ResetOnSpace, "#E_R4");
- Assert.AreEqual ("", mtb.SelectedText, "#E_S1");
- Assert.AreEqual (true, mtb.SkipLiterals, "#E_S2");
- Assert.AreEqual (" bcd", mtb.Text, "#E_T1");
- Assert.AreEqual (HorizontalAlignment.Left, mtb.TextAlign, "#E_T2");
- Assert.AreEqual (4, mtb.TextLength, "#E_T3");
- Assert.AreEqual (MaskFormat.IncludeLiterals, mtb.TextMaskFormat, "#E_T4");
- Assert.AreEqual (false, mtb.UseSystemPasswordChar, "#E_U1");
- Assert.IsNull (mtb.ValidatingType, "#E_V1");
- Assert.AreEqual (false, mtb.WordWrap, "#E_W1");
- }
-
- }
-
- [Test]
- public void UndoTest ()
- {
- MaskedTextBox mtb;
-
- mtb = new MaskedTextBox ();
- mtb.Text = "abcdef";
- Assert.AreEqual (false, mtb.CanUndo, "#A0-c");
- mtb.Undo ();
- Assert.AreEqual ("abcdef", mtb.Text, "#A1");
- Assert.AreEqual (false, mtb.CanUndo, "#A1-c");
- mtb.Text = "cdef";
- mtb.ClearUndo ();
- Assert.AreEqual ("cdef", mtb.Text, "#A2");
- Assert.AreEqual (false, mtb.CanUndo, "#A2-c");
-
- mtb.Dispose ();
- }
-
- [Test]
- public void CreateHandleTest ()
- {
- using (MaskedTextBox mtb = new MaskedTextBox ()) {
- Assert.AreEqual (false, mtb.IsHandleCreated, "#A1");
- typeof (MaskedTextBox).GetMethod ("CreateHandle", global::System.Reflection.BindingFlags.Instance | global::System.Reflection.BindingFlags.NonPublic).Invoke (mtb, new object [] { });
- Assert.AreEqual (true, mtb.IsHandleCreated, "#A2");
- }
- }
-
- [Test]
- public void GetFirstCharIndexFromLineTest ()
- {
- using (MaskedTextBox mtb = new MaskedTextBox ()) {
- for (int i = -100; i < 100; i++) {
- Assert.AreEqual (0, mtb.GetFirstCharIndexFromLine (i), "#A" + i.ToString ());
- }
- mtb.Text = "alñsdh gaph" + Environment.NewLine + "asldg";
- for (int i = -100; i < 100; i++) {
- Assert.AreEqual (0, mtb.GetFirstCharIndexFromLine (i), "#B" + i.ToString ());
- }
- }
- }
- [Test]
- public void GetFirstCharIndexOfCurrentLineTest ()
- {
- using (MaskedTextBox mtb = new MaskedTextBox ()) {
- Assert.AreEqual (0, mtb.GetFirstCharIndexOfCurrentLine (), "#A1");
- mtb.Text = "alñsdh gaph" + Environment.NewLine + "asldg";
- Assert.AreEqual (0, mtb.GetFirstCharIndexOfCurrentLine (), "#B1");
- }
- }
- [Test]
- public void GetLineFromCharIndexTest ()
- {
- using (MaskedTextBox mtb = new MaskedTextBox ()) {
- for (int i = -100; i < 100; i++) {
- Assert.AreEqual (0, mtb.GetLineFromCharIndex (i), "#A" + i.ToString ());
- }
- mtb.Text = "alñsdh gaph" + Environment.NewLine + "asldg";
- for (int i = -100; i < 100; i++) {
- Assert.AreEqual (0, mtb.GetLineFromCharIndex (i), "#B" + i.ToString ());
- }
- }
- }
-
- [Test]
- public void IsInputKeyTest ()
- {
- using (Form f = new Form ()) {
- using (MaskedTextBox mtb = new MaskedTextBox ()) {
- f.Controls.Add (mtb);
- f.Show ();
- MethodInfo IsInputKey = typeof (MaskedTextBox).GetMethod ("IsInputKey", global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance);
-
- for (int i = 0; i <= 0xFF; i++) {
- Keys key = (Keys) i;
- Keys key_ALT = key | Keys.Alt;
- Keys key_SHIFT = key | Keys.Shift;
- Keys key_CTRL = key | Keys.Control;
- Keys key_ALT_SHIFT = key | Keys.Alt | Keys.Shift;
- Keys key_ALT_CTRL = key | Keys.Alt | Keys.Control;
- Keys key_SHIFT_CTLR = key | Keys.Shift | Keys.Control;
- Keys key_ALT_SHIFT_CTLR = key | Keys.Alt | Keys.Shift | Keys.Control;
- bool is_input = false;
-
- switch (key) {
- case Keys.PageDown:
- case Keys.PageUp:
- case Keys.End:
- case Keys.Home:
- case Keys.Left:
- case Keys.Right:
- case Keys.Up:
- case Keys.Down:
- is_input = true;
- break;
- }
- Assert.AreEqual (is_input, (bool)IsInputKey.Invoke (mtb, new object [] { key }));
- Assert.AreEqual (false, (bool)IsInputKey.Invoke (mtb, new object [] { key_ALT }));
- Assert.AreEqual (is_input, (bool)IsInputKey.Invoke (mtb, new object [] { key_SHIFT }));
- Assert.AreEqual (is_input, (bool)IsInputKey.Invoke (mtb, new object [] { key_CTRL }));
- Assert.AreEqual (false, (bool)IsInputKey.Invoke (mtb, new object [] { key_ALT_SHIFT }));
- Assert.AreEqual (false, (bool)IsInputKey.Invoke (mtb, new object [] { key_ALT_CTRL }));
- Assert.AreEqual (is_input, (bool)IsInputKey.Invoke (mtb, new object [] { key_SHIFT_CTLR }));
- Assert.AreEqual (false, (bool)IsInputKey.Invoke (mtb, new object [] { key_ALT_SHIFT_CTLR }));
- }
- }
- }
- }
-
- [Test]
- public void ValidateTextTest ()
- {
- Assert.Ignore ("Pending implementation");
- }
-
- [Test]
- public void ToStringTest ()
- {
- Assert.Ignore ("Pending implementation");
- }
- }
- }
- #endif
|