Hi,
Sorry for writing to the wrong list.
I didn't know about nunit-winforms (I think you mean nunitforms, don't
you?),
nor about the way you fake messages in the tests... I'll have a look into
that.
Thanks
----- Original Message -----
From: "Peter Dennis Bartok" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>; <[email protected]>
Cc: <[email protected]>
Sent: Monday, November 21, 2005 4:57 AM
Subject: Re: [Mono-dev] Getting and injecting Windows Forms messages
Pablo,
The better list for this discussion is
[EMAIL PROTECTED]
If you look at our tests (for example
mcs/Managed.Windows.Forms/Tests/System.Windows.Forms/Label.cs) you'll see
that there already are tests that 'fake' messages for testing purposes,
since our implementation uses Win32 messages even on X11 and OS X. (Our
window drivers translate native messages into their Win32 equivalents and
pass them up through the framework). However, we only use and generate the
subset of messages that we require for proper support of WinForm's
documented features. (It is left as an excercise for contributors to add
other messages if they thing the drivers should generate them. Same
applies
to controls, we don't create control-specific notifications like
BN_CLICKED
today, since the managed framework has events that convey the same
information and we don't need them, but for compatibility it is easy to
add
generation of those down the road. Single line of code most of the time)
There's already an automated test tool called nunit-winforms that allows
to
test winforms apps, it doesn't fully work with our WinForms implementation
yet (something that's I've started fixing and is on my todo list).
As for injecting messages, I can think of multiple ways of doing that,
from
using reflection to using sendmessage (and on X11 translating that into a
custom message that our driver understands)
Cheers,
Peter
-----Original Message-----
From: <[EMAIL PROTECTED]>
To: <[email protected]>
Date: Sunday, 20 November, 2005 17:04
Subject: [Mono-dev] Getting and injecting Windows Forms messages
Hi,
In order to retrieve all the messages processed by an application I think
I
can use Application.AddMessageFilter. Ok, but what about injecting them
later on?
Well, in windows I could use TranslateMessage/DispatchMessage to reinject
the "recorded" messages (at least in win32 apps), (BTW fixing msg.Hwnd
with
the correct value if you try to "play" after relaunching the application),
but with mono (on Linux) this is not possible. Is there a way to do that?
With something like that it would be possible to write a multi-platform
"test recorder" application for Mono, something to create and run
"automated
user tests" on both Windows and Linux (and maybe other platforms too...).
I
don't know such a tool (AFAIK WinRunner, Rational's TestRobot,
AutomatedQA's
TestComplete, and the like, only run on Windows) and maybe it would be
quite
interesting... (at least until we have an Automation namespace like
Avalon).
Thanks.
_______________________________________________
Mono-devel-list mailing list
[email protected]
http://lists.ximian.com/mailman/listinfo/mono-devel-list
_______________________________________________
Mono-winforms-list maillist - [email protected]
http://lists.ximian.com/mailman/listinfo/mono-winforms-list