Author: hisham
Date: 2005-09-23 08:42:31 -0400 (Fri, 23 Sep 2005)
New Revision: 50569

Modified:
   trunk/mcs/class/Managed.Windows.Forms/Test/System.Windows.Forms/ChangeLog
   trunk/mcs/class/Managed.Windows.Forms/Test/System.Windows.Forms/LabelTest.cs
Log:

        * LabelTest.cs : Added messages to simulate Key* events.
                         Key* events have tests now.
                                 


Modified: 
trunk/mcs/class/Managed.Windows.Forms/Test/System.Windows.Forms/ChangeLog
===================================================================
--- trunk/mcs/class/Managed.Windows.Forms/Test/System.Windows.Forms/ChangeLog   
2005-09-23 12:10:03 UTC (rev 50568)
+++ trunk/mcs/class/Managed.Windows.Forms/Test/System.Windows.Forms/ChangeLog   
2005-09-23 12:42:31 UTC (rev 50569)
@@ -1,3 +1,8 @@
+2005-09-23 Hisham Mardam Bey <[EMAIL PROTECTED]>
+
+        * LabelTest.cs : Added messages to simulate Key* events.
+                        Key* events have tests now.
+
 2005-09-22 Hisham Mardam Bey <[EMAIL PROTECTED]>
 
         * LabelTest.cs : Implement event firing order tests.

Modified: 
trunk/mcs/class/Managed.Windows.Forms/Test/System.Windows.Forms/LabelTest.cs
===================================================================
--- 
trunk/mcs/class/Managed.Windows.Forms/Test/System.Windows.Forms/LabelTest.cs    
    2005-09-23 12:10:03 UTC (rev 50568)
+++ 
trunk/mcs/class/Managed.Windows.Forms/Test/System.Windows.Forms/LabelTest.cs    
    2005-09-23 12:42:31 UTC (rev 50569)
@@ -14,8 +14,251 @@
 
 namespace MonoTests.System.Windows.Forms
 {
+        internal enum WndMsg {
+               WM_NULL                   = 0x0000,
+               WM_CREATE                 = 0x0001,
+               WM_DESTROY                = 0x0002,
+               WM_MOVE                   = 0x0003,
+               WM_SIZE                   = 0x0005,
+               WM_ACTIVATE               = 0x0006,
+               WM_SETFOCUS               = 0x0007,
+               WM_KILLFOCUS              = 0x0008,
+               //              public const uint WM_SETVISIBLE           = 
0x0009;
+               WM_ENABLE                 = 0x000A,
+               WM_SETREDRAW              = 0x000B,
+               WM_SETTEXT                = 0x000C,
+               WM_GETTEXT                = 0x000D,
+               WM_GETTEXTLENGTH          = 0x000E,
+               WM_PAINT                  = 0x000F,
+               WM_CLOSE                  = 0x0010,
+               WM_QUERYENDSESSION        = 0x0011,
+               WM_QUIT                   = 0x0012,
+               WM_QUERYOPEN              = 0x0013,
+               WM_ERASEBKGND             = 0x0014,
+               WM_SYSCOLORCHANGE         = 0x0015,
+               WM_ENDSESSION             = 0x0016,
+               //              public const uint WM_SYSTEMERROR          = 
0x0017;
+               WM_SHOWWINDOW             = 0x0018,
+               WM_CTLCOLOR               = 0x0019,
+               WM_WININICHANGE           = 0x001A,
+               WM_SETTINGCHANGE          = 0x001A,
+               WM_DEVMODECHANGE          = 0x001B,
+               WM_ACTIVATEAPP            = 0x001C,
+               WM_FONTCHANGE             = 0x001D,
+               WM_TIMECHANGE             = 0x001E,
+               WM_CANCELMODE             = 0x001F,
+               WM_SETCURSOR              = 0x0020,
+               WM_MOUSEACTIVATE          = 0x0021,
+               WM_CHILDACTIVATE          = 0x0022,
+               WM_QUEUESYNC              = 0x0023,
+               WM_GETMINMAXINFO          = 0x0024,
+               WM_PAINTICON              = 0x0026,
+               WM_ICONERASEBKGND         = 0x0027,
+               WM_NEXTDLGCTL             = 0x0028,
+               //              public const uint WM_ALTTABACTIVE         = 
0x0029;
+               WM_SPOOLERSTATUS          = 0x002A,
+               WM_DRAWITEM               = 0x002B,
+               WM_MEASUREITEM            = 0x002C,
+               WM_DELETEITEM             = 0x002D,
+               WM_VKEYTOITEM             = 0x002E,
+               WM_CHARTOITEM             = 0x002F,
+               WM_SETFONT                = 0x0030,
+               WM_GETFONT                = 0x0031,
+               WM_SETHOTKEY              = 0x0032,
+               WM_GETHOTKEY              = 0x0033,
+               //              public const uint WM_FILESYSCHANGE        = 
0x0034;
+               //              public const uint WM_ISACTIVEICON         = 
0x0035;
+               //              public const uint WM_QUERYPARKICON        = 
0x0036;
+               WM_QUERYDRAGICON          = 0x0037,
+               WM_COMPAREITEM            = 0x0039,
+               //              public const uint WM_TESTING              = 
0x003a;
+               //              public const uint WM_OTHERWINDOWCREATED = 
0x003c;
+               WM_GETOBJECT              = 0x003D,
+               //                      public const uint 
WM_ACTIVATESHELLWINDOW        = 0x003e;
+               WM_COMPACTING             = 0x0041,
+               WM_COMMNOTIFY             = 0x0044 ,
+               WM_WINDOWPOSCHANGING      = 0x0046,
+               WM_WINDOWPOSCHANGED       = 0x0047,
+               WM_POWER                  = 0x0048,
+               WM_COPYDATA               = 0x004A,
+               WM_CANCELJOURNAL          = 0x004B,
+               WM_NOTIFY                 = 0x004E,
+               WM_INPUTLANGCHANGEREQUEST = 0x0050,
+               WM_INPUTLANGCHANGE        = 0x0051,
+               WM_TCARD                  = 0x0052,
+               WM_HELP                   = 0x0053,
+               WM_USERCHANGED            = 0x0054,
+               WM_NOTIFYFORMAT           = 0x0055,
+               WM_CONTEXTMENU            = 0x007B,
+               WM_STYLECHANGING          = 0x007C,
+               WM_STYLECHANGED           = 0x007D,
+               WM_DISPLAYCHANGE          = 0x007E,
+               WM_GETICON                = 0x007F,
+
+               // Non-Client messages
+               WM_SETICON                = 0x0080,
+               WM_NCCREATE               = 0x0081,
+               WM_NCDESTROY              = 0x0082,
+               WM_NCCALCSIZE             = 0x0083,
+               WM_NCHITTEST              = 0x0084,
+               WM_NCPAINT                = 0x0085,
+               WM_NCACTIVATE             = 0x0086,
+               WM_GETDLGCODE             = 0x0087,
+               WM_SYNCPAINT              = 0x0088,
+               //              public const uint WM_SYNCTASK       = 0x0089;
+               WM_NCMOUSEMOVE            = 0x00A0,
+               WM_NCLBUTTONDOWN          = 0x00A1,
+               WM_NCLBUTTONUP            = 0x00A2,
+               WM_NCLBUTTONDBLCLK        = 0x00A3,
+               WM_NCRBUTTONDOWN          = 0x00A4,
+               WM_NCRBUTTONUP            = 0x00A5,
+               WM_NCRBUTTONDBLCLK        = 0x00A6,
+               WM_NCMBUTTONDOWN          = 0x00A7,
+               WM_NCMBUTTONUP            = 0x00A8,
+               WM_NCMBUTTONDBLCLK        = 0x00A9,
+               //              public const uint WM_NCXBUTTONDOWN    = 0x00ab;
+               //              public const uint WM_NCXBUTTONUP      = 0x00ac;
+               //              public const uint WM_NCXBUTTONDBLCLK  = 0x00ad;
+               WM_KEYDOWN                = 0x0100,
+               WM_KEYFIRST               = 0x0100,
+               WM_KEYUP                  = 0x0101,
+               WM_CHAR                   = 0x0102,
+               WM_DEADCHAR               = 0x0103,
+               WM_SYSKEYDOWN             = 0x0104,
+               WM_SYSKEYUP               = 0x0105,
+               WM_SYSCHAR                = 0x0106,
+               WM_SYSDEADCHAR            = 0x0107,
+               WM_KEYLAST                = 0x0108,
+               WM_IME_STARTCOMPOSITION   = 0x010D,
+               WM_IME_ENDCOMPOSITION     = 0x010E,
+               WM_IME_COMPOSITION        = 0x010F,
+               WM_IME_KEYLAST            = 0x010F,
+               WM_INITDIALOG             = 0x0110,
+               WM_COMMAND                = 0x0111,
+               WM_SYSCOMMAND             = 0x0112,
+               WM_TIMER                  = 0x0113,
+               WM_HSCROLL                = 0x0114,
+               WM_VSCROLL                = 0x0115,
+               WM_INITMENU               = 0x0116,
+               WM_INITMENUPOPUP          = 0x0117,
+               //              public const uint WM_SYSTIMER       = 0x0118;
+               WM_MENUSELECT             = 0x011F,
+               WM_MENUCHAR               = 0x0120,
+               WM_ENTERIDLE              = 0x0121,
+               WM_MENURBUTTONUP          = 0x0122,
+               WM_MENUDRAG               = 0x0123,
+               WM_MENUGETOBJECT          = 0x0124,
+               WM_UNINITMENUPOPUP        = 0x0125,
+               WM_MENUCOMMAND            = 0x0126,
+               //              public const uint WM_CHANGEUISTATE    = 0x0127;
+               //              public const uint WM_UPDATEUISTATE    = 0x0128;
+               //              public const uint WM_QUERYUISTATE     = 0x0129;
+
+               //              public const uint WM_LBTRACKPOINT     = 0x0131;
+               WM_CTLCOLORMSGBOX         = 0x0132,
+               WM_CTLCOLOREDIT           = 0x0133,
+               WM_CTLCOLORLISTBOX        = 0x0134,
+               WM_CTLCOLORBTN            = 0x0135,
+               WM_CTLCOLORDLG            = 0x0136,
+               WM_CTLCOLORSCROLLBAR      = 0x0137,
+               WM_CTLCOLORSTATIC         = 0x0138,
+               WM_MOUSEMOVE              = 0x0200,
+               WM_MOUSEFIRST                     = 0x0200,
+               WM_LBUTTONDOWN            = 0x0201,
+               WM_LBUTTONUP              = 0x0202,
+               WM_LBUTTONDBLCLK          = 0x0203,
+               WM_RBUTTONDOWN            = 0x0204,
+               WM_RBUTTONUP              = 0x0205,
+               WM_RBUTTONDBLCLK          = 0x0206,
+               WM_MBUTTONDOWN            = 0x0207,
+               WM_MBUTTONUP              = 0x0208,
+               WM_MBUTTONDBLCLK          = 0x0209,
+               WM_MOUSEWHEEL             = 0x020A,
+               WM_MOUSELAST             = 0x020D,
+               //              public const uint WM_XBUTTONDOWN      = 0x020B;
+               //              public const uint WM_XBUTTONUP        = 0x020C;
+               //              public const uint WM_XBUTTONDBLCLK    = 0x020D;
+               WM_PARENTNOTIFY           = 0x0210,
+               WM_ENTERMENULOOP          = 0x0211,
+               WM_EXITMENULOOP           = 0x0212,
+               WM_NEXTMENU               = 0x0213,
+               WM_SIZING                 = 0x0214,
+               WM_CAPTURECHANGED         = 0x0215,
+               WM_MOVING                 = 0x0216,
+               //              public const uint WM_POWERBROADCAST   = 0x0218;
+               WM_DEVICECHANGE           = 0x0219,
+               WM_MDICREATE              = 0x0220,
+               WM_MDIDESTROY             = 0x0221,
+               WM_MDIACTIVATE            = 0x0222,
+               WM_MDIRESTORE             = 0x0223,
+               WM_MDINEXT                = 0x0224,
+               WM_MDIMAXIMIZE            = 0x0225,
+               WM_MDITILE                = 0x0226,
+               WM_MDICASCADE             = 0x0227,
+               WM_MDIICONARRANGE         = 0x0228,
+               WM_MDIGETACTIVE           = 0x0229,
+               /* D&D messages */
+               //              public const uint WM_DROPOBJECT     = 0x022A;
+               //              public const uint WM_QUERYDROPOBJECT  = 0x022B;
+               //              public const uint WM_BEGINDRAG      = 0x022C;
+               //              public const uint WM_DRAGLOOP       = 0x022D;
+               //              public const uint WM_DRAGSELECT     = 0x022E;
+               //              public const uint WM_DRAGMOVE       = 0x022F;
+               WM_MDISETMENU             = 0x0230,
+               WM_ENTERSIZEMOVE          = 0x0231,
+               WM_EXITSIZEMOVE           = 0x0232,
+               WM_DROPFILES              = 0x0233,
+               WM_MDIREFRESHMENU         = 0x0234,
+               WM_IME_SETCONTEXT         = 0x0281,
+               WM_IME_NOTIFY             = 0x0282,
+               WM_IME_CONTROL            = 0x0283,
+               WM_IME_COMPOSITIONFULL    = 0x0284,
+               WM_IME_SELECT             = 0x0285,
+               WM_IME_CHAR               = 0x0286,
+               WM_IME_REQUEST            = 0x0288,
+               WM_IME_KEYDOWN            = 0x0290,
+               WM_IME_KEYUP              = 0x0291,
+               WM_MOUSEHOVER             = 0x02A1,
+               WM_MOUSELEAVE             = 0x02A3,
+               WM_CUT                    = 0x0300,
+               WM_COPY                   = 0x0301,
+               WM_PASTE                  = 0x0302,
+               WM_CLEAR                  = 0x0303,
+               WM_UNDO                   = 0x0304,
+               WM_RENDERFORMAT           = 0x0305,
+               WM_RENDERALLFORMATS       = 0x0306,
+               WM_DESTROYCLIPBOARD       = 0x0307,
+               WM_DRAWCLIPBOARD          = 0x0308,
+               WM_PAINTCLIPBOARD         = 0x0309,
+               WM_VSCROLLCLIPBOARD       = 0x030A,
+               WM_SIZECLIPBOARD          = 0x030B,
+               WM_ASKCBFORMATNAME        = 0x030C,
+               WM_CHANGECBCHAIN          = 0x030D,
+               WM_HSCROLLCLIPBOARD       = 0x030E,
+               WM_QUERYNEWPALETTE        = 0x030F,
+               WM_PALETTEISCHANGING      = 0x0310,
+               WM_PALETTECHANGED         = 0x0311,
+               WM_HOTKEY                 = 0x0312,
+               WM_PRINT                  = 0x0317,
+               WM_PRINTCLIENT            = 0x0318,
+               WM_HANDHELDFIRST          = 0x0358,
+               WM_HANDHELDLAST           = 0x035F,
+               WM_AFXFIRST               = 0x0360,
+               WM_AFXLAST                = 0x037F,
+               WM_PENWINFIRST            = 0x0380,
+               WM_PENWINLAST             = 0x038F,
+               WM_APP                    = 0x8000,
+               WM_USER                   = 0x0400,
+
+               // Our "private" ones
+               WM_MOUSE_ENTER            = 0x0401,
+               WM_MOUSE_LEAVE            = 0x0402,
+               WM_ASYNC_MESSAGE          = 0x0403,
+               WM_REFLECT                = WM_USER + 0x1c00
+       }
+   
         [TestFixture]
-        [Ignore ("This is a work in progress.")]
+        
         public class LabelTest2 
         {
 
@@ -347,6 +590,63 @@
                        base.OnPaint (e);
                }
                
+               public void KeyPressA() 
+               {
+                       Message m;
+
+                       m = new Message();
+
+                       m.Msg = (int)WndMsg.WM_KEYDOWN;
+                       m.HWnd = this.Handle;
+                       m.WParam = (IntPtr)0x41;
+                       m.LParam = (IntPtr)0x1e0001;
+                       this.WndProc(ref m);
+
+                       m.Msg = (int)WndMsg.WM_CHAR;
+                       m.HWnd = this.Handle;
+                       m.WParam = (IntPtr)0x61;
+                       m.LParam = (IntPtr)0x1e0001;
+                       this.WndProc(ref m);
+
+                       m.Msg = (int)WndMsg.WM_KEYUP;
+                       m.HWnd = this.Handle;
+                       m.WParam = (IntPtr)0x41;
+                       m.LParam = (IntPtr)unchecked((int)0xC01e0001);
+                       this.WndProc(ref m);
+               }
+               
+               public void KeyDownA() 
+               {
+                       Message m;
+
+                       m = new Message();
+
+                       m.Msg = (int)WndMsg.WM_KEYDOWN;
+                       m.HWnd = this.Handle;
+                       m.WParam = (IntPtr)0x41;
+                       m.LParam = (IntPtr)0x1e0001;
+                       this.WndProc(ref m);
+
+                       m.Msg = (int)WndMsg.WM_CHAR;
+                       m.HWnd = this.Handle;
+                       m.WParam = (IntPtr)0x61;
+                       m.LParam = (IntPtr)0x1e0001;
+                       this.WndProc(ref m);                    
+               }
+               
+               public void KeyUpA() 
+               {
+                       Message m;
+
+                       m = new Message();
+                       
+                       m.Msg = (int)WndMsg.WM_KEYUP;
+                       m.HWnd = this.Handle;
+                       m.WParam = (IntPtr)0x41;
+                       m.LParam = (IntPtr)unchecked((int)0xC01e0001);
+                       this.WndProc(ref m);
+               }               
+               
                public ArrayList Results {
                        get {   return results; }
                }               
@@ -459,51 +759,59 @@
                        Assert.AreEqual (EventsWanted, ArrayListToString 
(l.Results));
                }
                
-               [Test, Ignore ("Not implemented yet.")]
+               [Test]
                public void KeyDownEventsOrder ()
                {
                        string[] EventsWanted = {
                                "OnHandleCreated",
                                  "OnBindingContextChanged",
-                                 "OnBindingContextChanged"
+                                 "OnBindingContextChanged",
+                                 "OnKeyDown",
+                                 "OnKeyPress"
                        };              
                        Form myform = new Form ();
                        myform.Visible = true;
                        MyLabel l = new MyLabel ();                     
                        myform.Controls.Add (l);
+                       l.KeyDownA ();
                        
                        Assert.AreEqual (EventsWanted, ArrayListToString 
(l.Results));
                }
                
-               [Test, Ignore ("Not implemented yet.")]
+               [Test]
                public void KeyPressEventsOrder ()
                {
                        string[] EventsWanted = {
                                "OnHandleCreated",
                                  "OnBindingContextChanged",
-                                 "OnBindingContextChanged"
+                                 "OnBindingContextChanged",
+                                 "OnKeyDown",
+                                 "OnKeyPress",
+                                 "OnKeyUp"                             
                        };              
                        Form myform = new Form ();
                        myform.Visible = true;
                        MyLabel l = new MyLabel ();                     
                        myform.Controls.Add (l);
+                       l.KeyPressA ();
                        
                        Assert.AreEqual (EventsWanted, ArrayListToString 
(l.Results));
                }
                
-               [Test, Ignore ("Not implemented yet.")]
+               [Test]
                public void KeyUpEventsOrder ()
                {
                        string[] EventsWanted = {
                                "OnHandleCreated",
                                  "OnBindingContextChanged",
                                  "OnBindingContextChanged",            
-                                 "OnImeModeChanged"            
+                                 "OnKeyUp"             
                        };              
                        Form myform = new Form ();
                        myform.Visible = true;
                        MyLabel l = new MyLabel ();                     
                        myform.Controls.Add (l);
+                       l.KeyUpA ();
                        
                        Assert.AreEqual (EventsWanted, ArrayListToString 
(l.Results));
                }
@@ -514,7 +822,7 @@
                        string[] EventsWanted = {
                                "OnHandleCreated",
                                  "OnBindingContextChanged",
-                                 "OnBindingContextChanged"                     
        
+                                 "OnBindingContextChanged"
                        };              
                        Form myform = new Form ();
                        myform.Visible = true;

_______________________________________________
Mono-patches maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches

Reply via email to